Prolog vs Lisp
Prolog i Lisp dva su od najpopularnijih računalnih programskih jezika AI (Artificial Intelligence). Građeni su s dvije različite programske paradigme. Prolog je deklarativni jezik, dok je Lisp funkcionalan jezik. Oba se koriste za razne AI probleme, ali Prolog se najviše koristi za probleme logike i zaključivanja, dok se Lisp koristi za probleme s brzim potrebama prototipiranja..
Prolog
Prolog je AI programski jezik. Pripada obitelji logičkih programskih jezika. Prolog je deklarativni jezik u kojem se računanja prenose pokretanjem upita za odnose (koji predstavljaju programsku logiku) koji su definirani kao pravila i činjenica. Razvijen 1970. godine, prolog je jedan od najstarijih programskih jezika logike i jedan od najpopularnijih programskih jezika AI danas (zajedno s Lispom). To je besplatan jezik, ali dostupne su mnoge komercijalne varijante. Prvo se koristila za obradu prirodnog jezika, ali sada se koristi za razne zadatke kao što su stručni sustavi, automatizirani sustavi odgovaranja, igre i napredni upravljački sustavi. Prolog ima samo jednu vrstu podataka nazvanu pojam. Pojam može biti atom, broj, varijabla ili složeni pojam. Brojevi mogu biti float ili cijeli brojevi. Prolog podržava popise i nizove kao zbirku predmeta. Prolog definira odnose pomoću klauzula. Klauzule mogu biti bilo pravila ili činjenice. Prolog omogućava iteraciju temeljitim rekurzivnim predikatima.
šuškati
Lisp je obitelj računalnih programskih jezika. A najpoznatija Lispova dijalekta koja se danas koriste za programiranje opće namjene su Common Lisp i Scheme. Naziv LISP dolazi od „LISt Processing“ i kako to nagovještava, glavna Lispova struktura podataka je povezana lista. U stvari, čitav izvor piše se popisima (koristeći notaciju prefiksa) ili ispravnijim zagradivim popisima (zvanim s-izrazi). Na primjer, poziv funkcije piše se (f a1 a2 a3), što znači da se funkcija f zove pomoću a1, a2 i a3 kao ulaznih argumenata za funkciju. Stoga se naziva izrazom orijentiran jezik, pri čemu su svi podaci i kôdi zapisani kao izrazi (ne postoji razlika između izraza i izraza u Lispu). Ova lijepa značajka posebna je za Lisp, gdje se može koristiti za širenje jezika na problem pri pisanju korisnih makronaredbi. Iako programeri koriste reursiju repa za izražavanje petlje, svi često viđeni Lispovi dijalekti uključuju kontrolne strukture poput petlje. Nadalje, Common Lisp i shema imaju mapcar i map koji su primjeri funkcija, koji pružaju petlje funkcionalnosti primjenjujući funkciju uzastopno na sve njene elemente, a zatim skuplja rezultate na popis.
Koja je razlika između Prologa i Lispa?
Iako su Prolog i Lisp dva najpopularnija programska jezika AI, oni imaju različite razlike. Lisp je funkcionalan jezik, dok je Prolog logički programski i deklarativni jezik. Lisp je vrlo fleksibilan zbog brzog prototipiranja i makro značajki, tako da zapravo omogućava proširivanje jezika u skladu s problemom. U području AI, grafike i korisničkih sučelja, Lisp se intenzivno koristio zbog ove brze sposobnosti prototipiranja. Međutim, zbog svojih ugrađenih sposobnosti programiranja logike, Prolog je idealan za AI probleme sa simboličkim rezonovanjem, aplikacijama za raščlambu baza podataka i jezika. Izbor jednog nad drugim u potpunosti ovisi o vrsti AI problema koji treba riješiti.