Prolog: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5 |
m link verso la voce relativa alla Risoluzione |
||
(3 versioni intermedie di 3 utenti non mostrate) | |||
Riga 22:
Il '''Prolog''' (contrazione del [[Lingua francese|francese]] '''''PRO'''grammation en '''LOG'''ique'') è un [[linguaggio di programmazione]] che adotta il [[paradigma di programmazione|paradigma]] di [[programmazione logica]].
È stato ideato da [[Robert Kowalski]] (aspetto teorico), [[Marten Van Emdem]] (dimostrazione sperimentale) e implementato da [[Alain Colmerauer]] negli [[Anni 1970|anni settanta]],
Il Prolog è impiegato in molti programmi di [[intelligenza artificiale]]
Il Prolog si basa sul [[calcolo dei predicati]] (precisamente il calcolo di predicati del primo ordine); tuttavia la sintassi è limitata a formule dette [[clausola di Horn|clausole di Horn]] che sono disgiunzioni di [[letterale|letterali]] del primo ordine, quantificate universalmente, con al più un letterale positivo.
L'esecuzione di un [[Programma (informatica)|programma]] Prolog è comparabile alla dimostrazione di un [[teorema]] mediante la [[regola di inferenza]] detta [[Risoluzione (logica)|risoluzione]] (introdotta da [[John Alan Robinson|Robinson]] nel [[1965]]). I concetti fondamentali sono l'unificazione, la [[algoritmo ricorsivo|ricorsione]] in coda e il [[backtracking]].
Molti linguaggi, come [[Datalog]] o [[AnsProlog]], sono basati su Prolog.
== Sintassi ==
Nel Prolog, la logica del programma è espressa sotto forma di relazioni, e le attività di calcolo vengono attivate da un'interrogazione relativa a tali relazioni.
=== Tipi di dati ===
Line 66 ⟶ 65:
== Programma di esempio ==
===
Il seguente esempio stampa il testo "[[Hello world]]".
<syntaxhighlight lang="prolog">
|