Forskjellen mellom Prolog og Lisp

Forskjellen mellom Prolog og Lisp
Forskjellen mellom Prolog og Lisp

Video: Forskjellen mellom Prolog og Lisp

Video: Forskjellen mellom Prolog og Lisp
Video: TG17: Lecture - Kristine Berge - Introduksjon til programmering 2024, November
Anonim

Prolog vs Lisp

Prolog og Lisp er to av de mest populære AI (Artificial Intelligence) dataprogrammeringsspråkene i dag. De er bygget med to forskjellige programmeringsparadigmer. Prolog er et deklarativt språk, mens Lisp er et funksjonelt språk. Begge brukes til ulike AI-problemer, men Prolog brukes mest til logikk- og resonnementproblemer, mens Lisp brukes til problemer med behov for hurtig prototyping.

Prolog

Prolog er et AI-programmeringsspråk. Det tilhører familien av logiske programmeringsspråk. Prolog er et deklarativt språk, der beregninger overføres ved å kjøre spørringer over relasjonene (som representerer programlogikk), som er definert som regler og fakta. Prolog ble utviklet i 1970 og er et av de eldste logiske programmeringsspråkene og et av de mest populære AI-programmeringsspråkene i dag (sammen med Lisp). Det er et gratis språk, men mange kommersielle varianter er tilgjengelige. Den ble først brukt til naturlig språkbehandling, men nå brukes den til ulike oppgaver som ekspertsystemer, automatiserte svarsystemer, spill og avanserte kontrollsystemer. Prolog har bare én datatype k alt termen. Et ledd kan være et atom, tall, variabel eller et sammensatt ledd. Tall kan være flytende eller heltall. Prolog støtter lister og streng som samling av elementer. Prolog definerer relasjoner ved å bruke klausuler. Klausuler kan enten være regler eller fakta. Prolog tillater iterasjon gjennom sine rekursive predikater.

Lisp

Lisp er en familie av dataprogrammeringsspråk. Og de mest kjente Lisp-dialektene som brukes til generell programmering i dag er Common Lisp og Scheme. Navnet LISP kommer fra "LISt Processing", og som det antyder, er Lisps viktigste datastruktur den koblede listen. Faktisk er hele kilden skrevet ved hjelp av lister (med prefiksnotasjon), eller mer korrekt parenteserte lister (k alt s-uttrykk). For eksempel skrives et funksjonskall som (f a1 a2 a3), som betyr at funksjon f kalles ved å bruke a1, a2 og a3 som input-argumenter for funksjonen. Derfor kalles det et uttrykksorientert språk, der all data og kode er skrevet som uttrykk (det er ingen forskjell på uttrykk og utsagn i Lisp). Denne fine funksjonen er veldig spesiell for Lisp, der den kan brukes til å utvide språket til problemet ved å skrive nyttige makroer. Selv om halerekursjon brukes av programmerere for å uttrykke looper, inkluderer alle ofte sett Lisp-dialekter kontrollstrukturer som loop. Videre har Common Lisp og skjema mapcar og map som er eksempler på funksjoner, som gir looping-funksjonalitet ved å bruke funksjonen suksessivt på alle elementene og deretter samler resultatene inn i en liste.

Hva er forskjellen mellom Prolog og Lisp?

Selv om Prolog og Lisp er to av de mest populære AI-programmeringsspråkene, har de forskjellige forskjeller. Lisp er et funksjonelt språk, mens Prolog er et logisk programmerings- og deklarasjonsspråk. Lisp er veldig fleksibel på grunn av dens raske prototyping og makrofunksjoner, så den lar faktisk utvide språket for å passe problemet. I områdene AI, grafikk og brukergrensesnitt har Lisp blitt mye brukt på grunn av denne raske prototyping-evnen. På grunn av sine innebygde logiske programmeringsevner, er Prolog imidlertid ideell for AI-problemer med symbolsk resonnement, database- og språkanalyseapplikasjoner. Valg av det ene fremfor det andre avhenger helt av typen AI-problem som må løses.

Anbefalt: