0% ont trouvé ce document utile (0 vote)
34 vues2 pages

1695999569-Test Corrigé - IA

Le document présente un exercice sur la modélisation d'un arbre généalogique en Prolog, comprenant des prédicats pour définir les relations familiales. Il inclut des faits sur les membres de la famille, des traductions de questions en Prolog avec leurs réponses, et des définitions de règles pour établir des relations telles que parent, grand-parent, et frère. Enfin, il propose des questions supplémentaires à traduire en Prolog avec les réponses correspondantes.

Transféré par

fekair.mohammed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues2 pages

1695999569-Test Corrigé - IA

Le document présente un exercice sur la modélisation d'un arbre généalogique en Prolog, comprenant des prédicats pour définir les relations familiales. Il inclut des faits sur les membres de la famille, des traductions de questions en Prolog avec leurs réponses, et des définitions de règles pour établir des relations telles que parent, grand-parent, et frère. Enfin, il propose des questions supplémentaires à traduire en Prolog avec les réponses correspondantes.

Transféré par

fekair.mohammed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Relizane
Département Informatique Année académique 2021/2022
Intelligence Artificielle : L3 - SI Responsable du module : S. Bella

Test Corrigé

Exercice 1 :

Soit l’arbre généalogique suivant :

1. Quels sont les prédicats (et leur arité) dont vous avez besoin pour définir cet arbre généalogie?
1) homme/1 3) pere/2
2) femme/1 4) mere/2
2. Définir la base de faits décrivant cet arbre généalogique.
/*hommes*/ femme(fatima). pere(iyad, sonia).
homme(adam). femme(amira). pere(karim, zakaria).
homme(anes). femme(asma). /*mères*/
homme(ramy). femme(sofia). mere(amina, leila).
homme(mohammed). femme(sonia). mere(amina, rayane).
homme(amine). /*pères*/ mere(amina, malek).
homme(sami). pere(adam, leila). mere(amina, mohammed).
homme(iyad). pere(adam, rayane). mere(leila, amine).
homme(karim). pere(adam, malek). mere(leila, sami).
homme(zakaria). pere(adam, mohammed). mere(rayane, iyad).
/*femmes*/ pere(anes, amine). mere(rayane, karim).
femme(amina). pere(anes, sami). mere(sara, amira).
femme(leila). pere(ramy, iyad). mere(sana, asma).
femme(rayane). pere(ramy, karim). mere(sana, sofia).
femme(malek). pere(amine, amira). mere(sana, sonia).
femme(sara). pere(iyad, asma). mere(fatima, zakaria).
femme(sana). pere(iyad, sofia).

1/1
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université de Relizane
Département Informatique Année académique 2021/2022
Intelligence Artificielle : L3 - SI Responsable du module : S. Bella

3. Traduire les questions suivantes en Prolog et donner leurs réponses :


a) Leila est-elle une femme ? ?-femme(leila).
true
b) Sara est-il un homme ? ?-homme(sara).
false
c) Quelles sont les mères ? ?-mere(X,_).
X = amina ; X = amina ; X = amina ; X = amina ; X = leila ;
X =leila ; X = rayane ; X = rayane ; X = sara ; X = sana ;
X = sana ; X =sana ; X = fatima.
d) Quels sont les enfants de adam? ?- pere(adam,X).
X = leila ; X = rayane ; X = malek ; X = mohammed.

4. Définir les relations suivantes grâce à des règles.


Note : vous pouvez trouver d'autres définitions pour ces règles
a) parent(X,Y): X est parent de Y si X est mère de Y ou si X est père de Y .
parent(X,Y) :- mere(X,Y);pere(X,Y).
b) grand_parent(X, Y) : X est un grand-parent de Y.
grand_parent(X,Y) :- parent(X,Z), parent(Z,Y).
c) est_mere(X) : X est une mère.
est_mere(X) :- mere(X,_). (Ou est_mere(X) :- parent(X, _) , femme(X).)
d) enfant(X, Y) : X est enfant de Y.
enfant(X, Y) :- parent(Y,X).
e) fille(X, Y) : X est une fille de Y.
fille(X,Y) :- enfant(X, Y),femme(X).
f) fils(X, Y) : X est un fils de Y.
fille(X,Y) :- enfant(X, Y),homme(X).
g) soeur(X, Y) : X est une soeur de Y.
soeur(X, Y) :- femme(X),parent(Z,X), parent(Z,Y), X \== Y.
h) frere(X, Y) : X est un frère de Y.
frere(X, Y) :- homme(X), parent(Z,X), parent(Z,Y), X \== Y.
i) oncle(X, Y) : X est un oncle de Y.
oncle(X, Y) :- frere(X, Z), parent(Z, Y).

5. Traduire les questions suivantes à Prolog et prévoir leurs réponses :


a) Est-ce que mohamed est un fils de adam ? ?- enfant(mohammed, adem).
true
b) Est-ce que rayane est une soeur de anes ? ?- soeur(rayane, anes).
false
c) Est-ce que rayane est une mère ? ?- est_mere(rayane).
true
d) Qui est l'oncle de karim ? ?- oncle(X,karim).
X = mohammed ;
false.

2/1

Vous aimerez peut-être aussi