1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/*On sait qu''il y a quatre émissions différentes*/
titre_emission(soiree_foot).
titre_emission(gMYM_Ac).
titre_emission(vmV).
titre_emission(bobobo).
/*ces émissions seront diffusés sur quatre jour différent.*/
jour(lundi).
jour(mardi).
jour(mercredi).
jour(jeudi).
/*...à différents horraires.*/
heure_diff(19).
heure_diff(20).
heure_diff(21).
heure_diff(22).
/*sur différentes chaines (ici apppelé réseau)*/
reseau(france4).
reseau(madagascar4).
reseau(senegal6).
reseau(quebec3).
/*Un programme télé est défini par le titre de l''émission (A),
du jour de diffusion (B), de l''heure de diffusion.(C), de la chaine de diffusion (D)*/
programme_tv(A,B,C,D):- titre_emission(A), jour(B), heure_diff(C), reseau(D).
/*On sait que les informations des rubriques des protagonistes mystique et lilkim sont erronnées, on peut donc définir les prédicats suivant.*/
mystique(A,B,C,D) :- A==soiree_foot, B\=jeudi, C\=21, D\=madagascar4.
/*de même pour lilkim*/
lilkim(A,B,C,D) :- A==gMYM_Ac, B\=mercredi, C\=19, D\=france4.
/*on sait également que une des informations des autres protagonistes est eronnée, on va donc déduire
les prédicats alizee, xorg, pamela et wolverine, en admettant à chaque fois qu''une seule valeur est eronnée*/
/*predicat alizee*/
alizee(A,B,C,D) :- A==soiree_foot, B\=jeudi, C==19, D==france4.
alizee(A,B,C,D) :- A==soiree_foot, B==jeudi, C\=19, D==france4.
alizee(A,B,C,D) :- A==soiree_foot, B==jeudi, C==19, D\=france4.
/*predicat xorg*/
xorg(A,B,C,D) :- A==gMYM_Ac, B\=mardi, C==19, D==madagascar4.
xorg(A,B,C,D) :- A==gMYM_Ac, B==mardi, C\=19, D==madagascar4.
xorg(A,B,C,D) :- A==gMYM_Ac, B==mardi, C==19, D\=madagascar4.
/*predicat pamela*/
pamela(A,B,C,D) :- A==vmV, B\=lundi, C==20, D==france4.
pamela(A,B,C,D) :- A==vmV, B==lundi, C\=20, D==france4.
pamela(A,B,C,D) :- A==vmV, B==lundi, C==20, D\=france4.
/*predicat wolverine*/
wolverine(A,B,C,D) :- A==bobobo, B\=mardi, C==22, D==senegal6.
wolverine(A,B,C,D) :- A==bobobo, B==mardi, C\=22, D==senegal6.
wolverine(A,B,C,D) :- A==bobobo, B==mardi, C==22, D\=senegal6.
/*Main : on va déclarer un prédicat à 16 variables.*/
resolution(A1,B1,C1,D1,A2,B2,C2,D2,A3,B3,C3,D3,A4,B4,C4,D4) :-programme_tv(A1,B1,C1,D1),programme_tv(A2,B2,C2,D2),programme_tv(A3,B3,C3,D3), programme_tv(A4,B4,C4,D4),mystique(A1,B1,C1,D1),lilkim(A2,B2,C2,D2),alizee(A1,B1,C1,D1),xorg(A2,B2,C2,D2),pamela(A3,B3,C3,D3),wolverine(A4,B4,C4,D4), A1==soiree_foot,A2==gMYM_Ac,A3==vmV,A4==bobobo,
B1\=B2,B1\=B3,B3\=B4,B2\=B3,B2\=B4,B3\=B4,C1\=C2,C1\=C3,C1\=C4,C2\=C3,C2\=C4,C3\=C4,D1\=D2,D1\=D3,D1\=D4,D2\=D3,D2\=D4,D3\=D4. |
Partager