Razlika između Prologa i Lispa

Razlika između Prologa i Lispa
Razlika između Prologa i Lispa

Video: Razlika između Prologa i Lispa

Video: Razlika između Prologa i Lispa
Video: The Choice is Ours (2016) Official Full Version 2024, Studeni
Anonim

Prolog vs Lisp

Prolog i Lisp dva su danas najpopularnija računalna programska jezika AI (umjetna inteligencija). Izgrađeni su s dvije različite programske paradigme. Prolog je deklarativni jezik, dok je Lisp funkcionalni jezik. Oba se koriste za razne AI probleme, ali Prolog se najviše koristi za probleme logike i rasuđivanja, dok se Lisp koristi za probleme s potrebama brze izrade prototipova.

Prolog

Prolog je AI programski jezik. Pripada obitelji logičkih programskih jezika. Prolog je deklarativni jezik, u kojem se izračuni prenose pokretanjem upita preko odnosa (koji predstavljaju programsku logiku), koji su definirani kao pravila i činjenica. Razvijen 1970. godine, prolog je jedan od najstarijih logičkih programskih jezika i jedan od najpopularnijih AI programskih jezika danas (uz Lisp). To je besplatan jezik, ali su dostupne mnoge komercijalne varijante. Prvo se koristio za obradu prirodnog jezika, ali sada se koristi za razne zadatke kao što su ekspertni sustavi, automatizirani sustavi za javljanje, igre i napredni sustavi upravljanja. Prolog ima samo jedan tip podataka koji se zove termin. 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 kolekciju stavki. Prolog definira odnose pomoću klauzula. Odredbe mogu biti ili pravila ili činjenice. Prolog dopušta iteraciju kroz svoje rekurzivne predikate.

Lisp

Lisp je obitelj računalnih programskih jezika. A najpoznatiji Lisp dijalekti koji se danas koriste za programiranje opće namjene su Common Lisp i Scheme. Naziv LISP dolazi od "LIST Processing" i kao što daje naslutiti, Lispova glavna podatkovna struktura je povezana lista. Zapravo je cijeli izvor napisan pomoću popisa (koristeći prefiksnu notaciju), ili točnije popisa u zagradama (zvanih s-izrazi). Na primjer, poziv funkcije napisan je kao (f a1 a2 a3), što znači da se funkcija f poziva pomoću a1, a2 i a3 kao ulaznih argumenata za funkciju. Stoga se naziva jezikom orijentiranim na izraze, gdje su svi podaci i kod napisani kao izrazi (u Lisp-u nema razlike između izraza i izjava). Ova lijepa značajka je vrlo posebna za Lisp, gdje se može koristiti za proširenje jezika na problem koji je pri ruci pisanjem korisnih makronaredbi. Iako programeri koriste repnu rekurziju za izražavanje petlji, svi često viđeni Lisp dijalekti uključuju kontrolne strukture poput petlje. Nadalje, Common Lisp i shema imaju mapcar i map koji su primjeri funkcija, koje pružaju funkcionalnost petlje primjenom funkcije sukcesivno na sve njezine elemente i zatim skupljaju rezultate na popis.

Koja je razlika između Prologa i Lispa?

Iako su Prolog i Lisp dva najpopularnija AI programska jezika, oni imaju različite razlike. Lisp je funkcionalni jezik, dok je Prolog logički programski i deklarativni jezici. Lisp je vrlo fleksibilan zbog svoje brze izrade prototipova i makro značajki, tako da zapravo dopušta proširenje jezika kako bi odgovarao problemu koji je pri ruci. U područjima umjetne inteligencije, grafike i korisničkih sučelja, Lisp se intenzivno koristi zbog ove mogućnosti brze izrade prototipova. Međutim, zbog svojih ugrađenih mogućnosti logičkog programiranja, Prolog je idealan za probleme umjetne inteligencije sa simboličkim zaključivanjem, bazama podataka i aplikacijama za analizu jezika. Izbor jednog nad drugim potpuno ovisi o vrsti AI problema koji treba riješiti.

Preporučeni: