Differenze tra Prolog & Lisp

January 22

I linguaggi di programmazione Prolog e Lisp sia alto rango nel campo dell'intelligenza artificiale (AI) di ricerca. Lisp è un linguaggio general-purpose più vecchio utilizzato per costruire i programmi che imitano il comportamento umano, mentre Prolog è venuto dopo e si concentra sulle basi di conoscenza e sistemi esperti.

Perché Lisp?

Lisp è uno dei più antichi di alto livello linguaggi di programmazione. Come un linguaggio general purpose, ha un ricco set di tipi di dati, così come strutture di dati built-in come le liste, alberi e mappe. Esso fornisce inoltre un ricco set di funzioni che operano su questi tipi e strutture di dati. Per molti versi il linguaggio è simile nella portata a Java o Python, e nel tempo si è evoluta per offrire molte delle stesse funzioni, tra cui oggetti e tipi di dati dinamici.

Perché Prolog?

Prolog è un linguaggio di programmazione dichiarativa che si specializza nel ragionamento deduzione-based. Esso utilizza la logica specializzata per ricavare nuove conoscenze da un elenco di regole note come una base di conoscenza. Il linguaggio funziona bene per compiti come dimostrare teoremi matematici e la costruzione di sistemi esperti.

diversi approcci

La differenza principale tra le due lingue è il modo in cui vengono descritti problemi. In Lisp, il programmatore deve descrivere come il computer possa risolvere il problema. In un programma di scacchi, lo sviluppatore avrebbe istruire il computer per analizzare tutte le possibili mosse, la creazione di un albero di decisione in memoria, quindi avere il computer determinare quale delle scelte è la cosa migliore. In Prolog, lo sviluppatore non ha bisogno di descrivere come, ma invece elencate le regole indica poi il programma verso i risultati desiderati. Per esempio, il programma può includere un elenco di sintomi medici e possibili diagnosi poi, in un elenco di sintomi, il programma si rango più probabili diagnosi.

obiettivo comune

Una delle somiglianze che rende queste lingue unica è la loro capacità di riscrivere se stessi come il programma è in esecuzione. Questo è il modo artificiale si verifica l'intelligenza. In Lisp, il programma stesso può essere trattata come dati che il programma può manipolare. Gli algoritmi genetici, i programmi che mutano in modo casuale e si evolvono, si può sintonizzare nel corso del tempo, trovando il modo più veloce per trovare una soluzione. In Prolog, nuove conoscenze derivate da norme esistenti, nonché l'input dell'utente può essere aggiunto alla base di conoscenza in modo che impara come funziona.

Scelta della lingua

Entrambe le lingue hanno i loro punti di forza e di debolezza. Prolog è adatto anche per il suo dominio del problema, ma non può muoversi molto al di fuori di esso. Lisp può risolvere più problemi, ma ci vuole più codice per farlo. Scegli Prolog per i problemi basate sulla conoscenza, Lisp per altre aree.

Per coloro che vogliono unirsi al campo di ricerca o semplicemente dilettarsi in una nuova lingua, questi sono grandi con cui lavorare. Le versioni gratuite open-source di entrambe le lingue sono disponibili su Internet e qualsiasi computer desktop dispone di media potenza più che sufficiente per gestire il carico di lavoro.


Articoli Correlati