Concepito nei primi anni ‘1970, Prolog, molto probabilmente una combinazione delle parole programma e logica, è uno dei primi linguaggi di programmazione per computer. In parte perché è un codice molto semplice, che usa la logica del primo ordine e pochi calcoli, è ancora in uso comune. Il set di istruzioni originale è stato notevolmente ampliato e sviluppato in molte varianti perché è particolarmente adatto all’elaborazione del linguaggio. Questi due attributi primari del programma forniscono l’elaborazione per applicazioni come l’intelligenza artificiale e le telecomunicazioni automatizzate.
Prolog utilizza una logica formale del primo ordine. Le istruzioni caricate su un computer sono ferme; non hanno ponderazione computazionale fuzzy. Nell’espressione, la sintassi del linguaggio è un insieme finito di regole e la semantica è definita, solitamente da insiemi come descrittori singoli, elenchi multipli e stringhe, o da un intervallo come sequenze numeriche.
Insieme ad alcuni codici più noti come il linguaggio di markup ipertestuale (HTML), Prolog fa parte di una classe di software comunemente chiamati linguaggi di programmazione dichiarativi, che utilizzano tipicamente la semplice dichiarazione “X uguale a Y”, definita come un “termine”. A un computer viene detto cosa fare; non è incaricato di calcolare da solo come arrivarci. Al computer viene fornita una serie di fatti con un “predicato” e relazioni, definite come “clausola”, da cui una query di input dovrebbe produrre una conclusione di output vera o falsa. Non esegue un algoritmo, ma piuttosto ricava una risposta semplice aggiungendo e sottraendo, o negando, dal suo insieme noto di definizioni. L’informatica in Prolog viene utilizzata per testare e dimostrare teorie e le loro ipotesi sottostanti, dalla matematica avanzata alla biologia alla filosofia.
Una delle teorie cognitive dell’intelligenza è che c’è un grande ma finito archivio lessicale di informazioni nel cervello che viene recuperato, elaborato e restituito, risultando in una maggiore complessità o semplicità delle informazioni. Con l’aumento della capacità di memoria e l’accesso rapido, questo è il paradigma dominante che ha guidato il Santo Graal dell’informatica: l’intelligenza artificiale. Ciò che è fondamentale secondo molti nel campo è l’interfaccia e il linguaggio. La programmazione Prolog può essere utilizzata per creare GUI, l’interfaccia utente grafica introdotta da Apple®, semplicemente definendo simboli visivi. Può anche essere usato per leggere, tradurre e creare espressioni facciali.
La linguistica computazionale è sostanzialmente più difficile, e mentre Prolog è progredito nel corso degli anni per incorporare, ad esempio, i principi grammaticali unici di alcune lingue straniere, molti ricercatori si chiedono se rappresenti effettivamente la lingua. Per sistemi esperti limitati, come le linee telefoniche di supporto tecnico per il riconoscimento vocale computerizzato, la programmazione Prolog viene utilizzata con un certo grado di efficacia. Può anche essere integrato in un software di logica di ordine superiore — linguaggi di quantificazione come C+ o Java — ma la compressione e la portabilità rimangono problemi che persistono per questo linguaggio di programmazione ad alta intensità di dati.