Posizione: Casa > internet >

Qual è la lingua Prolog?

  

Prolog è un linguaggio di programmazione che si basa sulla logica. La maggior parte dei linguaggi di programmazione sono basati su i passi necessari per risolvere un problema. Il linguaggio Prolog, d'altra parte, è un "dichiarativa" linguaggio che indica le relazioni logiche tra le entità. Il modo per risolvere il problema è lasciato al computer. Prolog il nome deriva dal francese Programmation en Logique, che è, Logic Programming.

Il seguente è un programma Prolog semplice:

antenato (F, C):-padre (F , C)
P (antenato, Q):-padre (P, R), antenato (R, D)
John (il padre, jim).
jim (il padre, Jerry).
padre (Jerry, Jason).
Jerry (il padre, Jeff).
Jason (il padre, Joshua).

Il programma di cui sopra indica banalità. Se F è il padre di C, allora F è un antenato di C. Se P è il padre di alcuni R persona che è un antenato di Q, allora P è un antenato di Q. Una serie di fatti reali sono quindi dato, come John essere il padre di Jim. Se poi una domanda problema si pone se John è un antenato di Jeff, si ottiene la risposta "Sì", come qui di seguito:

?-Antenato (John, Jeff).

Se gli antenati di joshua sono di interesse, allora il programma visualizza 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. Per esempio, non ha indicato se avviare alla persona anziana e il suo lavoro verso la persona più giovane o viceversa. Anche scambiando le parti, come di seguito:

antenato (P, Q):-antenato (R, D), il padre (P, R)

Non avrebbe alcuna differenza per il programma , in quanto entrambe queste parti sul lato destro deve essere vera in modo che il lato sinistro per essere vero.

La lingua Prolog si concentra quindi sulle relazioni, e non su come risolvere il problema. Durante l'esecuzione del programma, Prolog costruisce una serie di affermazioni vere, la creazione di una knowledge base. Nell'esempio precedente, il knowledge base, senza un ordine particolare, sarebbe antenato (John, Jim), antenato (Jim, Jerry), antenato (John, Jerry), antenato (Jim, Jason), antenato (John, Jason), e così via. Questo knowledgebase può continuare a costruire come il programma viene eseguito, e possono essere ricercati in modo efficiente per ottenere soluzioni. L'esecuzione è possibile utilizzare l'elaborazione parallela, l'esecuzione simultanea di più computer.

La lingua Prolog è usato in un certo numero di settori. E 'cominciato in sistemi orientati per il linguaggio naturale come l'inglese, il linguaggio naturale è una delle aree di Intelligenza Artificiale. La lingua Prolog è usato anche in matematica simbolica, tra cui l'algebra. E 'utilizzato nel dimostrare teoremi, nei sistemi esperti, e nei sistemi di controllo, tra le molte altre applicazioni.

----------------------------------
Articolo correlato:
----------------------------------