Introducció:
El pròleg és un programació lògica llenguatge. Té un paper important en la intel·ligència artificial. A diferència de molts altres llenguatges de programació, Prolog està pensat principalment com un llenguatge de programació declaratiu. En pròleg, la lògica s'expressa com a relacions (anomenades fets i regles). El cor bàsic del pròleg es troba en el lògica s'està aplicant. La formulació o el càlcul es realitza mitjançant una consulta sobre aquestes relacions.
empresa vs empresa
Instal·lació a Linux:
Obriu un terminal (Ctrl+Alt+T) i escriviu:
sudo apt-get install swi-prolog>
Sintaxi i camps bàsics:
En pròleg, declarem alguns fets. Aquests fets constitueixen la Base de Coneixement del sistema. Podem fer consultes a la base de coneixement. Obtenim una sortida com a afirmativa si la nostra consulta ja està a la base de coneixement o està implicada per la base de coneixement, en cas contrari, obtenim una sortida com a negativa. Per tant, Knowledge Base es pot considerar similar a la base de dades, contra la qual podem consultar. Els fets del pròleg s'expressen en un patró definit. Els fets contenen entitats i la seva relació. Les entitats s'escriuen entre parèntesis separades per comes (, ). La seva relació s'expressa al principi i fora del parèntesi. Cada fet/regla acaba amb un punt (.). Per tant, un fet típic del pròleg és el següent:
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.>
Característiques clau :
1. Unificació: La idea bàsica és, es poden fer que els termes donats representin la mateixa estructura?
2. Retrocés: Quan una tasca falla, prolog fa un seguiment cap enrere i intenta satisfer la tasca anterior.
3. Recursió: La recursivitat és la base de qualsevol cerca al programa.
Consultes en execució:
Es pot demanar una consulta típica de pròleg com:
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'.>
Avantatges:
1. Base de dades fàcil de construir. No necessita molt esforç de programació.
2. La concordança de patrons és fàcil. La cerca es basa en la recursivitat.
3. S'ha incorporat el maneig de llistes. Fa que sigui més fàcil jugar amb qualsevol algorisme que inclogui llistes.
Desavantatges :
1. LISP (un altre llenguatge de programació lògica) domina sobre el pròleg pel que fa a les característiques d'E/S.
2. De vegades, l'entrada i sortida no és fàcil.
Aplicacions :
Prolog és molt utilitzat en intel·ligència artificial (IA). Prolog també s'utilitza per a la concordança de patrons sobre arbres d'anàlisi del llenguatge natural.
Referència 1: https://en.wikipedia.org/wiki/Prolog
Referència 2: http://www.swi-prolog.org/