Prolog une introduction à la programmation déclarative

Utilisation du Programme

L’exécution d’un programme ne se fait que lors d’une interrogation.
Il faut donc poser une question (ou requête, ou but) à Prolog.
Une telle question prend la même forme qu’un fait, seul le contexte d’interprétation change. ?- est le prompt de l’interpréteur Prolog
Exemple
?- apprenti(luc,colmerauer).
Exemple
?- etudiant(luc,colmerauer).

Requête et variable

Lorsqu’une requête contient une variable, Prolog cherche de la variable pour les quelles la questions se déduit du programme.
Exemple
?- apprenti(luc,X).
Exemple
?- etudiant(X,colmerauer).
Requête avec plusieurs variables
Exemple
?- etudiant(X,Y).

Requête composée

le prédicat promo(P,A) : indique que la promotion P est en année A
On enrichit le programme avec les faits suivants : promo(colmerauer,1). promo(humpich,2).
Exemple
?- etudiant(Nom,Promo),promo(Promo,An).

Principe d’effacement d’un But : la SLD Résolution

Pour répondre à une requête , Prolog procède par en cherchant parmi les prédicats du programme ceux qui aux prédicats de la requête dans l’ordre des prédicats de la requête (de gauche à droite)
dans l’ordre d’entrée des prédicats dans le programme (de haut en bas)
Ces deux ordres sont importants et influent sur le résultat d’une requête.
Remarque
Tous les faits portant sur un même prédicat doivent être saisis dans la base, les uns après les autres (en un seul bloc !). L’ensemble des faits portant sur un même prédicat forme la du prédicat.
Exemple
etudiant(jean,colmerauer). ?-apprenti(X,Y).
etudiant(tom,colmerauer).
etudiant(julie,humpich).
apprenti(luc,colmerauer).
apprenti(marie,humpich).
promo(colmerauer,1).
promo(humpich,2).
Un autre exemple : but composé
Pour des raisons de présentation, on renome les prédicats etudiant et apprenti respectivement en etud et app.
R1 etud(jean,colmerauer). ?-app(X,Y),promo(Y,Z).
R2 etud(tom,colmerauer).
R3 etud(julie,humpich).
R4 app(luc,colmerauer).
R5 app(marie,humpich).
R6 promo(colmerauer,1).
R7 promo(humpich,2).

LIRE AUSSI :  Implémentation

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *