Td corrigé Option Prolog pdf

Option Prolog

Correction du TD2 : Aspects avancés de Prolog ... et dire quel est le résultat de leur exécution (en se basant sur l'énoncé de l'exercice 1 du TD précédent) :.




part of the document



sson ».
repas(H, P, D) / poisson(P).
Cette question peut être interprétée comme : « trouver le premier ensemble de valeurs de H, P, D qui satisfait la relation repas et vérifier s’il comporte du poisson en plat principal».

Exercice 2 :
Pour définir enfant, il suffit de remarquer que X est un enfant de Y si Y est le père de X. On a donc la définition :
enfant(X, Y) :- pere(Y, X).

Ensuite, X est un fils (respectivement une fille) de Y si X est un enfant de Y et si X est de sexe masculin (respectivement féminin). On obtient ainsi les deux règles :
fils(X, Y) :- enfant(X, Y), homme(X).
fille(X, Y) :- enfant(X, Y), femme(X).

Si on admet que X est le frère ou la sœur de Y si X et Y ont le même père Z, la relation frere-ou-sœur s’écrit :
frere-ou-sœur(X, Y) :- pere(Z, X), pere(Z, Y), dif(X, Y).
Le dif permet d’éviter qu’un individu soit son propre frère ou sa propre sœur en forçant X et Y à prendre des valeurs différentes. A cet endroit, on aurait aussi pu utiliser X\=Y.
On termine en remarquant que X est le frère (respectivement la sœur) de Y à condition que X soit frère ou sœur de Y et que X soit de sexe masculin (respectivement féminin). Ce qui nous donne :
frere(X, Y) :- frere-ou-sœur(X, Y), homme(X).
sœur(X, Y) :- frere-ou-sœur(X, Y), femme(X).
Exercice 3 :
1)Sans commentaires…
2)Voilà la règle :
voyage(V, D, H, S) :- transport(V, T), sejour(V, H, N), duree(D), multiplier(N, D, P),
additionner(P, T, S).
V : ville
D : durée, vaut 1 ou 2
H : hébergement
S : coût total
T : tarif du transport
N : prix du séjour pour 1 semaine
3)Voilà la règle :
voyage-economique(V, D, H, S, Smax) :- voyage(V, D, H, S), inferieur(S, SMax).

Exercice 4 :
1)sans commentaire.
2)Voici les règles qui permettent de s’assurer que deux individus conviennent l’un à l’autre :
convient-physiquement(X, Y) :- homme(X, T, C, A),
femme(Y, T’, C’, A’),
recherche(X, T’, C’, A’),
recherche(Y, T, C, A).

convient-physiquement(X, Y) :- femme(X, T, C, A),
homme(Y, T’, C’, A’),
recherche(X, T’, C’, A’),
recherche(Y, T, C, A).

meme-gouts(X, Y) :- gouts(X, M, L, S), gouts(Y, M, L, S).
Remarquez l’utilisation des mêmes variables qui permet de forcer l’égalité de manière simple et élégante.
3)Et pour terminer :
assortis(X, Y) :- convient-physiquement(X, Y), meme-gouts(X, Y).

Exercice 5 :
couleur(vert).
couleur(jaune).
couleur(rouge).

Coloriage(C1, C2, C3, C4) :- couleur(C1), couleur(C2), couleur(C3), couleur(C4),
C1\=C2, C1\=C3, C1\=C4,
C2\=C3, C3\=C4.
Ici, on génère tout d’abord les couleurs, et on effectue les tests de conformité ensuite.

Coloriage(C1, C2, C3, C4) :- couleur(C1), couleur(C2), C1\=C2,
couleur(C3), C1\=C3, C2\=C3,
couleur(C4), C1\=C4, C3\=C4.
Ici, on effectue les tests de conformité à la volée, ce qui réduit grandement la taille de l’arbre de recherche.