"Prolog" je programski jezik ili osnova umjetne inteligencije

Pojava "Prologa" bila je posljedica razvoja logike, matematike i programiranja. Posljednja je odigrala najvažniju ulogu. Stručnjaci za logiku i matematiku pokušali su programiranje staviti na "ispravan put", ali razvoj informacijske tehnologije pokazao je potpuno drugačiji rezultat. Pragmatično imperativno programiranje pokazalo se više obećavajućim. "Prolog" kao programski jezik se dogodio, ali osnova za umjetnu inteligenciju nije postala.

Klasično programiranje protiv logike

Čovjek donosi teške odluke logično i razumno. Gotovo bez razmišljanja, osoba dolazi inteligentno. Ako ne uzmete u obzir odluke koje zahtijevaju prikupljanje informacija, njezinu analizu i složene izračune, onda svaki rezultat - to je brzo, točno i razumno.


Ta je činjenica uvijek dala iluzornu osnovu za razmatranje stvaranja instrumenta za donošenje odluka kao jednostavna stvar. S pojavom "Prologa" činilo se: pitanje umjetne inteligencije - pitanje tehnologije, a pametna osoba došla je s tri zakona robotike. Međutim, umjetna inteligencija ostala je duh, a tri zakona robotike došla su iz bajke - "Učini to, ne znam što." Programiranje u klasičnom smislu riječi (često korištenjem izraza "proceduralni", "imperativ" ili "funkcionalni") razvilo se i uspješno prevladalo "plaha vremena" 80-ih i 90-ih, kada je programski jezik bio bezbroj. Pokazna borba između Pascala i Xia trajala je dugo vremena, bila je okrutna, ali okončananeutralan i tih. Ostala je ideja dobrog programskog jezika i neke uspješne implementacije. Ne može se reći da se Prolog kao programski jezik nije razvio. Ali nije postigao postavljene ciljeve. Danas je moguće ne samo reći, nego i opravdati: "Prolog" je akademski jezik za:
  • obrazovne svrhe;
  • logika predikata;
  • matematika;
  • Uska primjena.
  • Sumnjivo je da se ova tvrdnja može odbiti. Umjetna inteligencija nije samo raširena upotreba, nego i pretjerano ozbiljan događaj koji dramatično mijenja društveni poredak i sliku svijeta.


    Programiranje na jeziku Prologa "za umjetnu inteligenciju nije se dogodilo: više od četrdeset godina jezika nije bilo kardinalno nove, relevantne za javnu svijest događaja, što ukazuje na suprotno. Objektivna stvarnost je sljedeća: ne preživljava

    "Prolog" - jezik deklarativnog programiranja

    Imati alat za opisivanje činjenica i pravila - dobar, ali u čemu je stvar? Činjenice i pravila dobro su smješteni u uobičajenu bazu podataka.Kvalificirani klasični programer pruža interaktivni dijalog. korisnik, a drugi rješava njihove zadatke.Ako je potreban programer za fino podešavanje dijaloga, a korisnik nadopunjuje bazu činjenica i pravila. Apsolutno djeluje i provjerava već desetljećima, mogućnost provedbe mase već riješenih i rješivih zadataka.
    Deklarativno iznošenje činjenica i pravila za svaku implementaciju programskog jezika "Prolog" je konvencija, pokušaj formaliziranja stvarnosti uintelektualno stanje. Normalno programiranje ne dira intelekt. Klasično programiranje odgovara položaju: opis i obrada podataka. Ovdje ima mnogo problema, ali postoje mnoga briljantna i radna rješenja.
    "Prolog" kao programski jezik su činjenice:
  • mama Maria, Natalia); - Marija - majka Nataše;
  • otac (Jevgenij, Marina); - Yevgeny je otac Marine.
  • Ovdje se odmah ispostavlja činjenica: "Marija" i "Marina" - različita imena. Ne postoji ništa što bi spriječilo činjenicu:
  • otac (Eugene, Mary); Eugene je Marijin otac.
  • Ovi opisi daju životna pravila:
  • otac (x, y)
  • otac (x, y) Ali ne dopuštaju nam zaključiti da je papa otac Marine, a Marina je Marijina majka. Ovaj problem je rješiv, može se dodati još jedno pravilo, dodana je još jedna činjenica. Ali koliko takvih akcija treba poduzeti u stvarnoj situaciji? Zapravo, "Prolog" kao programski jezik je primjer deklaracije činjenica i pravila, ali ne i logike na koju se navikla svijest klasičnog programera. "Prolog" se pozicionira kao jezik predikatne logike, ali učenje programiranja može biti samo primjeri i primjeri opisa programera određene implementacije jezika. Obitelj prologa
    Francuska se smatra rodnim mjestom Proletarijata, a 1973. je godina rođenja. Interes za jezik povremeno se obnavlja, ali sa zavidnom stabilnošću se povlači. Moto glasi: "Logika predikata je elementarna! To je način da se objasni kako razmišljanje funkcionira - i ostao je moto.
    Svaka implementacija programskog jezika "Prolog" strogo se pridržavala logike predikata, ali je uvijek uključivala i klasičniideje proceduralnog programiranja. Ispravnije je reći "imperativ", jer se taj pojam koristi više formalnim nego proceduralnim, funkcionalnim, objektno orijentiranim ili drugim.
    Bilo koje programiranje su podaci i obrada. Jezični konstrukti trebaju točno opisati rješivi problem, zbog čega sve poznate implementacije Prologa: Turbo Prolog, Win Prolog, Prolog SWI, GNU Prolog, Visual Prolog i drugih sadrže, osim deklarativnih konstrukcija, i obične imperativne rečenice. Smatra se da se obitelj "Prologa" razvija u akademskim i istraživačkim organizacijama, pa se kao opći jezik može govoriti samo u konceptualnom smislu. Međutim, sama činjenica da je pojam "Prolog" živ i razvija se može uzeti u obzir: ovaj jezik ima područje primjene, a on je tražen u određenom spektru zadataka.

    Osnova umjetne inteligencije

    Interes za umjetnu inteligenciju nikad se nije smanjio, već se počelo govoriti kada postoji još jedan pogon, ali nikada "Prolog" nije bio povezan s umjetnom inteligencijom više od uobičajenog klasičnog programskog jezika. U kasnim 80-ima bio je stvaran, relevantan i tražen intelektualni projekt "Inventivni stroj". Postojao je pravi pokušaj upotrebe "Prologa" za formaliziranje ogromnih praktičnih baza znanja (podataka), fizičkih, kemijskih i drugih zakona.

    Rezultat nije postignut, na "Prologu" je moralo biti napisano previše činjenica i pravila kao programski jezik, koji ima banalni imperativni karakter. u međuvremenuParalelno s tim, na obične je je jezike uvedena masa uspješnih softverskih proizvoda.
    Početkom devedesetih uspješno je proveden projekt pravog intelektualnog sustava koji modelira ponašanje djeteta mlađeg od 3 godine na jeziku asemblera EU! Upotreba Prologa nije ni razmatrana. Taj intelektualni sustav ne samo da je "obrazložio" ono što je mama, tata i ono što se razlikuje od Marije iz Marine, nego je bez mnogo stresa skočila iz znanja stečenog iz tih pitanja na kugle i njihove razlike od kocki do boja predmeta i !) elementarnoj matematici: jednostavne aritmetičke operacije bile su njezine snage na temelju znanja stečenog u rješavanju potpuno različitih zadataka. Može se tvrditi da je klasično programiranje ispred "Prologa" kao dio razvoja umjetne inteligencije, ali daje stvarne rezultate. Što se tiče inteligencije kao zadatka - možda problem ovdje nije u jeziku, nego u provedbi ideje. Ako bi asembler 1991. mogao postati temelj "intelektualnog sustava situacijske inteligencije", onda pitanje jasno nije u jeziku provedbe, nego u ideji.
  • Povezane publikacije