Introduction :
Prologue est un programmation logique langue. Il joue un rôle important dans l’intelligence artificielle. Contrairement à de nombreux autres langages de programmation, Prolog se veut avant tout un langage de programmation déclaratif. En prologue, la logique est exprimée sous forme de relations (appelées faits et règles). Le cœur du prologue réside au logique étant appliqué. La formulation ou le calcul s'effectue en exécutant une requête sur ces relations.
Installation sous Linux :
Ouvrir un terminal (Ctrl+Alt+T) et tapez :
sudo apt-get install swi-prolog>
Syntaxe et champs de base :
En prologue, nous déclarons quelques faits. Ces faits constituent la base de connaissances du système. Nous pouvons interroger la base de connaissances. Nous obtenons un résultat affirmatif si notre requête est déjà dans la base de connaissances ou si elle est implicite par la base de connaissances, sinon nous obtenons un résultat négatif. Ainsi, la base de connaissances peut être considérée comme similaire à la base de données, sur laquelle nous pouvons interroger. Les faits du prologue sont exprimés selon un modèle défini. Les faits contiennent des entités et leurs relations. Les entités sont écrites entre parenthèses séparées par une virgule (, ). Leur relation est exprimée au début et en dehors de la parenthèse. Chaque fait/règle se termine par un point (.). Ainsi, un fait typique du prologue est le suivant :
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.>
Principales caractéristiques :
1. Unification : L’idée de base est la suivante : peut-on faire en sorte que les termes donnés représentent la même structure.
2. Retour en arrière : Lorsqu'une tâche échoue, prolog retrace en arrière et tente de satisfaire la tâche précédente.
3. Récursion : La récursivité est la base de toute recherche dans un programme.
comment convertir une chaîne en entier en Java
Requêtes en cours d'exécution :
Une requête de prologue typique peut être posée comme :
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'.>
Avantages :
1. Base de données facile à créer. Ne nécessite pas beaucoup d’efforts de programmation.
2. La correspondance de motifs est facile. La recherche est basée sur la récursion.
3. Il a une gestion de liste intégrée. Facilite le jeu avec n’importe quel algorithme impliquant des listes.
Désavantages :
1. LISP (un autre langage de programmation logique) domine le prolog en ce qui concerne les fonctionnalités d'E/S.
2. Parfois, l’entrée et la sortie ne sont pas faciles.
dormir
Applications :
Prolog est très utilisé en intelligence artificielle (IA). Prolog est également utilisé pour la correspondance de modèles sur les arbres d'analyse du langage naturel.
Référence 1 : https://en.wikipedia.org/wiki/Prolog
Référence 2 : http://www.swi-prolog.org/