Cos'è il linguaggio Prolog?

Prolog è un linguaggio di programmazione del computer basato sulla logica. La maggior parte dei linguaggi di computer si basa sui passaggi necessari per risolvere un problema. La lingua prologica, d'altra parte, è una lingua "dichiarativa" che indica le relazioni logiche tra entità. Il modo per risolvere il problema è lasciato al computer. Il nome prolog proviene dalla programmazione francese en logique, cioè logica di programmazione.

Il seguente è un semplice programma di prolog:

antenate (f, c):- padre (f, c)
antenato (p, q):- padre (p, r), antenato (r, q)
Padre (John, Jim).
Padre (Jim, Jerry).
Padre (Jerry, Jason).
Padre (Jerry, Jeff).
Padre (Jason, Joshua).

Il programma sopra indica i truismi. Se F è padre di C, allora F è un antenato di C. Se P è il padre di una persona R che è un antenato di Q, allora P è un antenato di Q. Viene quindi dato un certo numero di fatti reali, come Giovanni che è il padre di Jim. Se allora è posta una domanda sul problema se John lo èUn antenato di Jeff, otteniamo la risposta "Sì" come di seguito:

?- Ancestor (John, Jeff).

Se gli antenati di Giosuè sono di interesse, allora il programma mostra tutti gli antenati come segue:

?- antenato (a, joshua)
A = Jason
A = Jerry
A = Jim
A = John

Si noti che in entrambi i casi di cui sopra, il programma non ha detto come fare la valutazione. Ad esempio, non indicava se iniziare dalla persona anziana e farsi strada verso la persona più giovane o viceversa. Anche scambiare le parti come sotto:

antenato (p, q):- antenato (r, q), padre (p, r)

Non farebbe alcuna differenza per il programma, poiché entrambe queste parti sul lato destro devono essere vere affinché il lato sinistro sia vero.

La lingua prolog si concentra quindi sulle relazioni e non su come risolvere il problema. Durante l'esecuzione del programma, Prolog crea una serie di vere statalimenti, creando una base di conoscenza. Nell'esempio sopra, la base della conoscenza, in nessun ordine particolare, avrebbe antenato (John, Jim), antenato (Jim, Jerry), antenato (John, Jerry), antenato (Jim, Jason), antenato (John, Jason) e così via. Questa base di conoscenza può continuare a costruire mentre il programma esegue e può essere cercato in modo efficiente per ottenere soluzioni. L'esecuzione può utilizzare l'elaborazione parallela, esecuzione simultanea da più computer.

La lingua prologica viene utilizzata in diverse aree. È iniziato in sistemi orientati a lingue naturali come l'inglese; Il linguaggio naturale è una delle aree di intelligenza artificiale. La lingua prologica è anche usata in matematica simbolica, inclusa l'algebra. Viene utilizzato per dimostrare teoremi, nei sistemi esperti e nei sistemi di controllo, tra molte altre applicazioni.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?