Pagkakaiba sa pagitan ng Prolog at Lisp

Pagkakaiba sa pagitan ng Prolog at Lisp
Pagkakaiba sa pagitan ng Prolog at Lisp

Video: Pagkakaiba sa pagitan ng Prolog at Lisp

Video: Pagkakaiba sa pagitan ng Prolog at Lisp
Video: Tutorial: Filipino Grammar Lessons - Din/Rin; Nang/Ng, ano ang pagkakaiba? 2024, Nobyembre
Anonim

Prolog vs Lisp

Ang Prolog at Lisp ay dalawa sa pinakasikat na AI (Artificial Intelligence) na mga computer programming language ngayon. Ang mga ito ay binuo gamit ang dalawang magkaibang mga paradigm sa programming. Ang prolog ay isang deklaratibong wika, habang ang Lisp ay isang functional na wika. Parehong ginagamit para sa iba't ibang problema sa AI ngunit ang Prolog ay kadalasang ginagamit para sa mga problema sa lohika at pangangatwiran, habang ang Lisp ay ginagamit para sa mga problema sa mabilis na pangangailangan sa pag-prototyping.

Prolog

Ang Prolog ay isang AI programming language. Ito ay kabilang sa pamilya ng mga logic programming language. Ang prolog ay isang deklaratibong wika, kung saan ang mga pagkalkula ay dinadala sa pamamagitan ng pagpapatakbo ng mga query sa mga ugnayan (na kumakatawan sa logic ng programa), na tinukoy bilang mga patakaran at katotohanan. Binuo noong 1970, ang prolog ay isa sa mga pinakalumang logic programming language at isa sa pinakasikat na AI programming language ngayon (kasama ang Lisp). Ito ay isang libreng wika, ngunit maraming mga komersyal na variant ang magagamit. Una itong ginamit para sa natural na pagpoproseso ng wika, ngunit ngayon ay ginagamit na ito para sa iba't ibang gawain tulad ng mga expert system, automated answering system, laro at advanced na control system. Ang Prolog ay mayroon lamang isang uri ng data na tinatawag na termino. Ang isang Termino ay maaaring isang atom, numero, variable o isang tambalang termino. Ang mga numero ay maaaring float o integer. Sinusuportahan ng Prolog ang mga listahan at string bilang koleksyon ng mga item. Tinutukoy ng Prolog ang mga ugnayan gamit ang mga sugnay. Ang mga sugnay ay maaaring alinman sa mga tuntunin o katotohanan. Pinahihintulutan ng prolog ang pag-ulit nang husto sa mga recursive predicates nito.

Lisp

Ang Lisp ay isang pamilya ng mga computer programming language. At ang pinakasikat na Lisp dialect na ginagamit para sa general purpose programming ngayon ay Common Lisp and Scheme. Ang pangalang LISP ay nagmula sa "LISt Processing" at tulad ng ipinahihiwatig nito, ang pangunahing istruktura ng data ng Lisp ay ang naka-link na listahan. Sa katunayan, ang buong pinagmulan ay isinulat gamit ang mga listahan (gamit ang prefix notation), o mas wastong naka-parentesis na mga listahan (tinatawag na s-expressions). Halimbawa, ang isang function na tawag ay isinulat bilang (f a1 a2 a3), na nangangahulugang ang function na f ay tinatawag gamit ang a1, a2 at a3 bilang input argument para sa function. Samakatuwid ito ay tinatawag na isang expression na nakatuon sa wika, kung saan ang lahat ng data at code ay nakasulat bilang mga expression (walang pagkakaiba sa pagitan ng mga expression at mga pahayag sa Lisp). Ang magandang feature na ito ay napakaespesyal sa Lisp, kung saan maaari itong magamit upang palawigin ang wika sa problemang kinakaharap sa pamamagitan ng pagsusulat ng mga kapaki-pakinabang na macro. Bagama't ang tail-recursion ay ginagamit ng mga programmer upang ipahayag ang mga loop, lahat ng madalas na nakikitang Lisp dialect ay kinabibilangan ng mga istrukturang kontrol tulad ng loop. Higit pa rito, ang Common Lisp at scheme ay may mapcar at mapa na mga halimbawa ng mga function, na nagbibigay ng looping functionality sa pamamagitan ng sunud-sunod na paglalapat ng function sa lahat ng elemento nito at pagkatapos ay kinokolekta ang mga resulta sa isang listahan.

Ano ang pagkakaiba ng Prolog at Lisp?

Bagaman, ang Prolog at Lisp ay dalawa sa pinakasikat na AI programming language, mayroon silang iba't ibang pagkakaiba. Ang Lisp ay isang functional na wika, habang ang Prolog ay isang logic programming at declarative na wika. Napaka-flexible ng Lisp dahil sa mabilis nitong prototyping at mga macro na feature, kaya pinapayagan nito ang pagpapalawak ng wika upang umangkop sa problemang kinakaharap. Sa mga lugar ng AI, graphics at user interface, ang Lisp ay ginamit nang husto dahil sa mabilis na kakayahang mag-prototyping na ito. Gayunpaman, dahil sa kanyang inbuilt logic programming na kakayahan, ang Prolog ay perpekto para sa mga problema sa AI na may simbolikong pangangatwiran, database at mga application ng pag-parse ng wika. Ang pagpili ng isa sa iba ay ganap na nakadepende sa uri ng problema sa AI na kailangang lutasin.

Inirerekumendang: