Diferența dintre Prolog și Lisp

Diferența dintre Prolog și Lisp
Diferența dintre Prolog și Lisp

Video: Diferența dintre Prolog și Lisp

Video: Diferența dintre Prolog și Lisp
Video: Prolog - What is Prolog? 2024, Iulie
Anonim

Prolog vs Lisp

Prolog și Lisp sunt două dintre cele mai populare limbaje de programare AI (Inteligentă Artificială) astăzi. Sunt construite cu două paradigme de programare diferite. Prolog este un limbaj declarativ, în timp ce Lisp este un limbaj funcțional. Ambele sunt folosite pentru diverse probleme de AI, dar Prolog este folosit cel mai mult pentru probleme de logică și raționament, în timp ce Lisp este folosit pentru probleme cu nevoi de prototipare rapidă.

Prolog

Prolog este un limbaj de programare AI. Aparține familiei de limbaje de programare logică. Prolog este un limbaj declarativ, în care calculele sunt efectuate prin rularea de interogări peste relațiile (care reprezintă logica programului), care sunt definite ca reguli și fapte. Dezvoltat în 1970, prolog este unul dintre cele mai vechi limbaje de programare logică și unul dintre cele mai populare limbaje de programare AI astăzi (împreună cu Lisp). Este un limbaj gratuit, dar sunt disponibile multe variante comerciale. A fost folosit mai întâi pentru procesarea limbajului natural, dar acum este folosit pentru diverse sarcini, cum ar fi sisteme expert, sisteme automate de răspuns, jocuri și sisteme avansate de control. Prolog are un singur tip de date numit termen. Un termen poate fi un atom, un număr, o variabilă sau un termen compus. Numerele pot fi flotante sau întregi. Prolog acceptă liste și șir ca colecție de articole. Prolog definește relațiile folosind clauze. Clauzele pot fi fie reguli, fie fapte. Prolog permite iterația prin predicatele sale recursive.

Lisp

Lisp este o familie de limbaje de programare pentru computere. Și cele mai faimoase dialecte Lisp folosite astăzi pentru programarea de uz general sunt Common Lisp și Scheme. Numele LISP provine de la „List Processing” și, după cum sugerează, structura majoră de date a Lisp este lista legată. De fapt, întreaga sursă este scrisă folosind liste (folosind notația de prefix), sau mai corect liste între paranteze (numite s-expresii). De exemplu, un apel de funcție este scris ca (f a1 a2 a3), ceea ce înseamnă că funcția f este apelată folosind a1, a2 și a3 ca argumente de intrare pentru funcție. Prin urmare, se numește limbaj orientat spre expresie, în care toate datele și codul sunt scrise ca expresii (nu există nicio distincție între expresii și declarații în Lisp). Această caracteristică plăcută este foarte specială pentru Lisp, unde ar putea fi folosită pentru a extinde limbajul la problema în cauză prin scrierea de macrocomenzi utile. Deși recursiunea coadă este folosită de programatori pentru a exprima bucle, toate dialectele Lisp frecvent întâlnite includ structuri de control precum bucla. În plus, Common Lisp și schema au mapcar și map care sunt exemple de funcții, care oferă funcționalitate de buclă prin aplicarea succesivă a funcției tuturor elementelor sale și apoi colectează rezultatele într-o listă.

Care este diferența dintre Prolog și Lisp?

Deși, Prolog și Lisp sunt două dintre cele mai populare limbaje de programare AI, ele au diverse diferențe. Lisp este un limbaj funcțional, în timp ce Prolog este un limbaj de programare logică și declarativă. Lisp este foarte flexibil datorită caracteristicilor sale rapide de prototipare și macro, astfel încât permite de fapt extinderea limbajului pentru a se potrivi cu problema în cauză. În domeniile AI, grafică și interfețe cu utilizatorul, Lisp a fost utilizat pe scară largă datorită acestei capacități de prototipare rapidă. Cu toate acestea, datorită abilităților sale de programare logică încorporate, Prolog este ideal pentru problemele AI cu raționament simbolic, baze de date și aplicații de analiză a limbajului. Alegerea unuia față de celăl alt depinde complet de tipul de problemă AI care trebuie rezolvată.

Recomandat: