logo

Prologo | Un introduzione


Introduzione :

Prologo è un programmazione logica lingua. Ha un ruolo importante nell'intelligenza artificiale. A differenza di molti altri linguaggi di programmazione, Prolog è inteso principalmente come linguaggio di programmazione dichiarativo. Nel prologo, la logica è espressa come relazioni (chiamate Fatti e Regole). Il cuore pulsante del prologo risiede nel logica essere applicato. La formulazione o il calcolo vengono eseguiti eseguendo una query su queste relazioni.



attraversamento del preordine

Installazione su Linux:

Apri un terminale (Ctrl+Alt+T) e digitare:

 sudo apt-get install swi-prolog>

Sintassi e campi di base:



Nel prologo dichiariamo alcuni fatti. Questi fatti costituiscono la base di conoscenza del sistema. Possiamo interrogare la Knowledge Base. Otteniamo un output affermativo se la nostra query è già nella Knowledge Base o è implicita nella Knowledge Base, altrimenti otteniamo un output negativo. Pertanto, la Knowledge Base può essere considerata simile al database, rispetto al quale possiamo eseguire query. I fatti del Prologo sono espressi secondo uno schema definito. I fatti contengono entità e la loro relazione. Le entità sono scritte tra parentesi separate da virgola (, ). La loro relazione è espressa all'inizio e fuori dalla parentesi. Ogni fatto/regola termina con un punto (.). Quindi, un tipico fatto del prologo è il seguente:

 Format : relation(entity1, entity2, ....k'th entity). Example : friends(raju, mahesh). singer(sonu). odd_number(5). Explanation : These facts can be interpreted as : raju and mahesh are friends. sonu is a singer. 5 is an odd number.>

Caratteristiche principali:
1. Unificazione: L'idea di base è: è possibile far sì che i termini indicati rappresentino la stessa struttura?
2. Ritorno sui propri passi: Quando un'attività fallisce, il prolog risale all'indietro e tenta di soddisfare l'attività precedente.
3. Ricorsione: La ricorsione è la base per qualsiasi ricerca nel programma.

Esecuzione di query:
Una tipica query prolog può essere posta come:



connessione al database in Java
 Query 1 : ?- singer(sonu). Output : Yes. Explanation : As our knowledge base contains the above fact, so output was 'Yes', otherwise it would have been 'No'. Query 2 : ?- odd_number(7). Output : No. Explanation : As our knowledge base does not contain the above fact, so output was 'No'.>

Vantaggi:
1. Database facile da costruire. Non ha bisogno di molto sforzo di programmazione.
2. La corrispondenza dei modelli è facile. La ricerca è basata sulla ricorsione.
3. Ha integrato la gestione degli elenchi. Rende più semplice giocare con qualsiasi algoritmo che coinvolga elenchi.

Svantaggi:
1. LISP (un altro linguaggio di programmazione logica) domina sul prolog per quanto riguarda le funzionalità di I/O.
2. A volte l'input e l'output non sono facili.

Applicazioni:

concatena la stringa Java

Prolog è molto utilizzato nell'intelligenza artificiale (AI). Prolog viene utilizzato anche per la corrispondenza di modelli su alberi di analisi del linguaggio naturale.

Riferimento 1: https://en.wikipedia.org/wiki/Prolog

Riferimento 2: http://www.swi-prolog.org/