Skip to main content

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, è un linguaggio dichiarativo che indica le relazioni logiche tra entità.Il modo per risolvere il problema è lasciato al computer.Il nome prolog deriva dalla programmazione francese en logique, cioè logica di programmazione.

Il seguente è un semplice programma di prolog:

antenato (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 di cui 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 numero di fatti reali, comeJohn è il padre di Jim.Se si pone una domanda sul problema se Giovanni sia un antenato di Jeff, otteniamo la risposta sì come di seguito:

?- Ancestor (John, Jeff).

Se gli antenati di Giosuè sono interessanti, alloraIl programma mostra tutti gli antenati come segue:

?- Ancestor (A, Joshua)
A ' Jason
A ' Jerry
A ' Jim
A ' John

Nota che in entrambi i casi sopra, il programma non ha dettoCome fare la valutazione.Ad esempio, non indicava se iniziare dalla persona anziana e farsi strada verso la persona più giovane o viceversa.Anche in modo di 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 hanno bisognoessere vero affinché il lato sinistro sia vero.

Il linguaggio prolog si concentra quindi sulle relazioni e non su come risolvere il problema.Durante l'esecuzione del programma, Prolog crea una serie di dichiarazioni vere, 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.

Il linguaggio Prolog viene utilizzato 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.