Rozdíl mezi Prologem a Lispem

Prolog vs Lisp

Prolog a Lisp jsou dnes dva z nejpopulárnějších počítačových programovacích jazyků AI (Artificial Intelligence). Jsou postaveny se dvěma odlišnými programovacími vzory. Prolog je deklarativní jazyk, zatímco Lisp je funkční jazyk. Oba se používají pro různé problémy AI, ale Prolog se používá nejčastěji pro logické a logické problémy, zatímco Lisp se používá pro problémy s rychlými potřebami prototypování..

Prolog

Prolog je programovací jazyk AI. Patří do rodiny logických programovacích jazyků. Prolog je deklarativní jazyk, ve kterém jsou výpočty přenášeny spuštěním dotazů na vztahy (které představují logiku programu), které jsou definovány jako pravidla a skutečnosti. Prolog, který byl vyvinut v roce 1970, je jedním z nejstarších logických programovacích jazyků a jedním z nejpopulárnějších programovacích jazyků AI v současnosti (spolu s Lispem). Jedná se o svobodný jazyk, ale je k dispozici mnoho komerčních variant. Bylo to poprvé použito pro zpracování přirozeného jazyka, ale nyní se používá pro různé úkoly, jako jsou expertní systémy, automatizované záznamové systémy, hry a pokročilé řídicí systémy. Prolog má pouze jeden datový typ nazvaný termín. Termín může být atom, číslo, proměnná nebo složený termín. Čísla mohou být plovoucí nebo celá čísla. Prolog podporuje seznamy a řetězce jako sbírku položek. Prolog definuje vztahy pomocí klauzulí. Klauzule mohou být buď pravidla nebo fakta. Prolog umožňuje iteraci důkladnými rekurzivními predikáty.

Lisp

Lisp je rodina počítačových programovacích jazyků. A nejznámějšími Lisp dialekty, které se dnes používají pro všeobecné programování, jsou Common Lisp a Scheme. Název LISP pochází z „LISt Processing“ a jak naznačuje, hlavní datovou strukturou Lisp je propojený seznam. Ve skutečnosti je celý zdroj psán pomocí seznamů (pomocí notace předpony), nebo přesněji parentezizovaných seznamů (nazývaných s-výrazy). Například volání funkce je zapsáno jako (f a1 a2 a3), což znamená, že funkce f je volána pomocí a1, a2 a a3 jako vstupní argumenty pro funkci. Proto se nazývá výrazem orientovaný jazyk, kde všechna data a kód jsou psány jako výrazy (v Lispu není rozdíl mezi výrazy a příkazy). Tato pěkná funkce je pro Lispa velmi speciální, kde by se dala použít k rozšíření jazyka na problém pomocí psaní užitečných maker. Přestože programátoři používají rekurzi ocasu k vyjádření smyček, všechny často viděné Lisp dialekty zahrnují kontrolní struktury, jako je smyčka. Dále, Common Lisp a schéma mají mapcar a mapu, které jsou příklady funkcí, které poskytují funkci opakování tím, že funkci postupně aplikují na všechny její prvky a poté shromažďují výsledky do seznamu.

Jaký je rozdíl mezi Prologem a Lispem??

Přestože jsou Prolog a Lisp dva z nejpopulárnějších programovacích jazyků AI, mají různé rozdíly. Lisp je funkční jazyk, zatímco Prolog je logický programovací a deklarativní jazyk. Lisp je velmi flexibilní díky svým rychlým prototypům a makro funkcím, takže ve skutečnosti umožňuje rozšíření jazyka tak, aby vyhovoval danému problému. V oblastech AI, grafiky a uživatelských rozhraní byl Lisp značně využíván kvůli této schopnosti rychlého prototypování. Prolog je však díky svým vestavěným logickým programovacím schopnostem ideální pro AI problémy se symbolickými argumenty, databázemi a aplikacemi pro analýzu jazyka. Volba jednoho nad druhým zcela závisí na typu problému AI, který je třeba vyřešit.