Skirtumas tarp Prolog ir Lisp

„Prolog vs Lisp“

„Prolog“ ir „Lisp“ yra dvi šiandien populiariausios AI (dirbtinio intelekto) kompiuterio programavimo kalbos. Jie sukurti pagal dvi skirtingas programavimo paradigmas. Prolog yra deklaratyvi kalba, o Lisp - funkcinė kalba. Abi yra naudojamos įvairioms PG problemoms, tačiau Prolog dažniausiai naudojama logikos ir samprotavimo problemoms, o Lisp - problemoms su greitais prototipų poreikiais..

Prolog

Prolog yra AI programavimo kalba. Tai priklauso loginio programavimo kalbų šeimai. Prolog yra deklaratyvi kalba, kuria skaičiavimai yra perkeliami vykdant užklausas apie santykius (kurie atspindi programos logiką), kurie yra apibrėžti kaip taisyklės ir faktas. Sukurtas 1970 m., „Prolog“ yra viena seniausių loginio programavimo kalbų ir viena populiariausių šių dienų AI programavimo kalbų (kartu su „Lisp“). Tai laisva kalba, tačiau yra daugybė komercinių variantų. Pirmiausia jis buvo naudojamas natūraliam kalbos apdorojimui, tačiau dabar jis naudojamas įvairioms užduotims, tokioms kaip ekspertų sistemos, automatizuotos atsakymo sistemos, žaidimai ir pažangios valdymo sistemos. „Prolog“ yra tik vienas duomenų tipas, vadinamas terminu. Terminas gali būti atomas, skaičius, kintamasis arba sudėtinis terminas. Skaičiai gali būti kintamaisiais arba sveikaisiais skaičiais. „Prolog“ palaiko sąrašus ir eilutes kaip daiktų kolekciją. Prolog apibūdina santykius naudodamas išlygas. Išlygos gali būti taisyklės arba faktai. „Prolog“ leidžia pakartoti pakartotinius predikatus.

Lispas

„Lisp“ yra kompiuterių programavimo kalbų šeima. O žinomiausi „Lisp“ tarmės, naudojamos bendrosios paskirties programavimui, šiandien yra „Common Lisp“ ir „Scheme“. Pavadinimas LISP yra kilęs iš „LISt Processing“ ir, kaip jis užsimena, pagrindinė „Lisp“ duomenų struktūra yra susijęs sąrašas. Tiesą sakant, visas šaltinis yra parašytas naudojant sąrašus (naudojant priešdėlių žymėjimą) arba teisingiau pateiktus skliaustuose esančius sąrašus (vadinamus s-išraiškomis). Pavyzdžiui, funkcijos kvietimas yra parašytas taip (f a1 a2 a3), tai reiškia, kad funkcija f iškviečiama naudojant a1, a2 ir a3 kaip funkcijos įvesties argumentus. Todėl ji vadinama į išraišką orientuota kalba, kur visi duomenys ir kodas yra rašomi kaip išraiškos (Lispe nėra skirtumo tarp išraiškų ir teiginių). Ši graži savybė yra ypatinga „Lisp“, kur ji galėtų būti naudojama norint išplėsti kalbos problemą, užrašant naudingas makrokomandas. Nors uodegos pasikartojimą programuotojai naudoja kilpoms išreikšti, visose dažnai matomose Lispo tarmėse yra tokios valdymo struktūros kaip kilpa. Be to, „Common Lisp“ ir schema turi žemėlapius ir žemėlapius, kurie yra funkcijų pavyzdžiai, kurie suteikia kilpų funkcionalumą, pritaikant funkciją paeiliui visiems jos elementams, o tada rezultatus kaupia į sąrašą.

Kuo skiriasi „Prolog“ ir „Lisp“?

Nors „Prolog“ ir „Lisp“ yra dvi populiariausios AI programavimo kalbos, jos turi įvairių skirtumų. „Lisp“ yra funkcinė kalba, o „Prolog“ - loginio programavimo ir deklaratyviosios kalbos. „Lisp“ yra labai lankstus dėl greito prototipų sudarymo ir makrokomandų ypatybių, todėl iš tikrųjų leidžia išplėsti kalbą, kad atitiktų esamą problemą. PG, grafikos ir vartotojo sąsajų srityse „Lisp“ buvo plačiai naudojamas dėl šio greito prototipų kūrimo. Tačiau dėl savo integruotų loginių programavimo galimybių „Prolog“ yra idealus AI problemoms, susijusioms su simboliniais samprotavimais, duomenų bazių ir kalbų analizės programomis. Pasirinkimas viena iš kitų visiškai priklauso nuo AI rūšies, kurią reikia išspręsti.