I linguaggi di programmazione Prolog e Lisp sia alto rango nel campo dell'intelligenza artificiale ( AI) di ricerca . Lisp è un vecchio linguaggio generico usato per costruire 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ù vecchi linguaggi di programmazione ad alto livello di computer. Come linguaggio di uso generale , ha un ricco insieme di tipi di dati , così come built-in strutture dati come liste, alberi e mappe. Inoltre fornisce un ricco set di funzioni che operano su questi tipi e strutture di dati . Per molti versi il linguaggio è analogamente a Java o Python , e nel tempo si è evoluta per offrire molte delle stesse funzioni, tra oggetti e tipi di dati dinamici .
Perché Prolog ?
< Br
Prolog > è un linguaggio di programmazione dichiarativo che si specializza nel ragionamento inferenza basata . Esso utilizza la logica specializzato per derivare nuova conoscenza da un elenco di regole note come una base di conoscenza . La lingua 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 problemi sono descritto . In Lisp , il programmatore deve descrivere come il computer risolverà il problema . In un programma di scacchi , lo sviluppatore dovrebbe istruire il computer per analizzare tutte le possibili mosse , la creazione di un albero di decisione in memoria , quindi hanno il computer di determinare quale delle scelte è migliore . In Prolog , lo sviluppatore non ha bisogno di descrivere in che modo , ma invece elencate le regole poi punti il programma verso i risultati desiderati . Ad esempio , il programma potrebbe includere un elenco di sintomi medici e possibili diagnosi poi , data una lista di sintomi , il programma sarebbe classificare le diagnosi più probabili .
Obiettivo comune
< p > una delle analogie che rende queste lingue unica è la loro capacità di riscrivere se stessi come il programma è in esecuzione . Ecco come si presenta l'intelligenza artificiale . In Lisp , il programma stesso può essere trattata come i dati che il programma può manipolare . Algoritmi genetici , i programmi che mutano e si evolvono in modo casuale , si possono sintonizzare nel tempo , trovando il modo più veloce per trovare una soluzione . In Prolog , nuove conoscenze derivate dalle norme vigenti , nonché di input utente può essere aggiunto alla base di conoscenza in modo che impara come funziona .
Scelta di una lingua
Entrambi 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ù il codice per farlo. Scegli Prolog per problemi basati sulla conoscenza , Lisp per altre aree .
Per coloro che vogliono unirsi al campo di ricerca o semplicemente dilettarsi in un nuovo linguaggio , questi sono grandi con cui lavorare. Versioni open-source di entrambe le lingue sono disponibili da Internet e qualsiasi computer desktop medio ha potenza più che sufficiente per gestire il carico di lavoro .