Ecole Nationale polytechnique d’Oran(ENPO)
Filières IMSI, RT
Fiche d’initiation sur Prolog
Exercice 1 : Qui a utilisé Quoi?
Cinq élèves ont utilisé trois outils de coloriage pour colorier leurs dessins à
l’école comme suit:
oussama a utilisé des crayons.
amine a utilisé de la peinture à l’eau.
farah a utilisé des pastelles.
sarah a utilisé des crayons.
ahmed a utilisé des pastelles.
1. Formuler la base de connaissances que nous devons interroger pour savoir qui
a utilisé quoi.
2. Quelle est la question à poser si on veut connaître qui est ce qui a utilisé la
peinture à l’eau.
3. Quelle est la question à poser si on veut connaître si farah a utilisé des
crayons ou non.
Exercice 2 : Un peu de logique
Soit l’ensemble des objets suivants : stylos, trousse, cartable, bureau.
Ecrire le programme prolog permettant de comparer ces objets par rapport à
leurs volumes (par exemple X plus gros que Y ou X plus petit que Y,…) et d’en
déduire également toutes les relations pouvant être obtenues par transitivité (X
relation Y∧Y relation ; Z ⇒ X relation Z).
Exercice 3 : L’arbre généalogique d’une famille
On voudrait décrire la structure, d’une famille de 11 personnes, présentée par
son arbre généalogique suivant:
Puis on voudrait que le programme nous donne la réponse à des questions du
genre :
- Qui est le père ou la mère de jamel ?ou quels sont les parents de jamel ?
- Qui est le grand-père ou grand-mère de ahmed ?
Ecrire le programme prolog permettant de répondre à nos besoins.
On désire compléter notre programme en définissant de nouvelles relations de
parenté au sein de notre arbre généalogique. Définissez pour cela les nouveaux
prédicats suivants :
- fille(X,Y) qui réussit si X est la fille de Y
- frere(X,Y) qui réussit si X est le frère de Y
- soeur(X,Y) qui réussit si X est la soeur de Y
- gdparent(X,Y) qui réussit si X est un grand parent de Y(grand-père ou grand-
mère)