Download - inv résolution quint - DAC
Résolution généraleDéfinition:• soit A et B deux clauses dont les variables sont
disjointes (au besoin, renommer les variables de l'une d'entre elles),
• soit L1 un littéral de A et L2 un littéral de B tels que soit L1et ¬L2 s’unifient, soit ¬L1 et L2 s’unifient avec la substitution s.
On dira que C est le résolvant de A et B par L1 et L2, ce que l'on notera:
C = Rés(A, B; L1, L2) = (As - {L1s}) È (Bs - {L2s})
Exemples: Rés(R(x, y) , ¬R(u, v) ; R(x, y), ¬R(u, v)) =ÆRés(P(x) Ú P(y), ¬P(z) Ú ¬P(r); P(x), ¬P(z)) = P(y) Ú ¬P(r)Rés(homme(Socrate), ¬homme(z) Ú mortel(z);
homme(Socrate), ¬homme(z) = mortel(Socrate)
Résolution : exempleC1: vénéneux(X) Ú ¬champignon(X) Ú ¬non-comestible(X)C2: toxique(U) Ú ¬vénéneux(U)C3: ¬toxique(a)
Rés(C1, C2 ; vénéneux(X) , ¬vénéneux(U) ) = Rés(vénéneux(X) Ú ¬champignon(X) Ú ¬non-comestible(X), toxique(U) Ú ¬vénéneux(U)
; vénéneux(X) , ¬vénéneux(U) ) =¬champignon(X) Ú ¬non-comestible(X) Ú toxique(X)
C1 signifie champignon(X) Ù non-comestible(X) Þ vénéneux(X)C2 signifie vénéneux(U) Þ toxique(U)La résolvante de C1 et C2 signifie
champignon(X) Ù non-comestible(X) Þ toxique(X)
Résolution : suite de l’exempleC1: vénéneux(X) Ú ¬champignon(X) Ú ¬non-comestible(X)C2: toxique(U) Ú ¬vénéneux(U)C3: ¬toxique(a)
Rés(C2, C3 ; toxique(U) , ¬toxique(a) ) = Rés( toxique(U) Ú ¬vénéneux(U), ¬toxique(a) ,
; toxique(U) , ¬toxique(a) ) = ¬vénéneux(a),
C2 signifie vénéneux(U) Þ toxique(U), ce qui est équivalent à ¬toxique(U) Þ ¬vénéneux(U),
C3 signifie ¬toxique(a) (autrement dit a n’est pas toxique)La résolvante de C2 et C3 signifie ¬vénéneux(a) autrement
dit que a n’est pas vénéneux.
FacteurDéfinition:- soit A une clause- soit L1 et L2 deux littéraux unifiables de A dont le pgu
est sAlors A s -{L1 s} est un facteur de A.
Exemple: soit A = P(x, y) Ú P(x, x) Ú P(y, y), L1 = P(x, x), L2 = P(y, y), P(z, z) est un facteur de A.
R-Déduction et R-réfutationDéfinition:• soit S un ensemble de clauses,• soit A une clause,on a une R-déduction de S vers A, noté S |—Rès A,
si et seulement si $ B1, B2, ... Bn tels que:- Bn = A- " i Î [1, n] 1- Bi Î S ou
2- $ j < i, $ k < i, $ L1 Î Bj, $ L2 Î Bk, Bi = Rès(Bj, Bk; L1, L2) ou
3- $ j < i tel que Bi et un facteur de Bj.
Définition: une R-réfutation d'un ensemble de clauses S est une R-déduction de S vers la clause vide.
R-réfutation : ExempleExemple: S = {C1, C2, C3, C4, C5, C6}C1: vénéneux(X) Ú ¬champignon(X) Ú ¬non-comestible(X)C2: toxique(X) Ú ¬vénéneux(X)C3: champignon(X) Ú ¬amanite-phalloïde(X)C4: non-comestible(X) Ú ¬amanite-phalloïde(X)C5: amanite-phalloïde(a)C6: ¬toxique(a)
C7: champignon(a) [Rès. C5, C3]C8: vénéneux(a) Ú ¬non-comestible(a) [Rès. C1, C7]C9: toxique(a) Ú ¬non-comestible(a) [Rès. C2, C8]C10: toxique(a) Ú ¬amanite-phalloïde(a) [Rès. C4, C9]C11: toxique(a) [Rès. C5, C10]C12: � [Rès. C11, C6]
Théorème de résolution
Théorème de résolution: soit S un ensemble de clauses,
S est insatisfiable si et seulement si il existe une R-réfutation de S, autrement dit on peut dériver la clause vide par application réitérée de la règle ce résolution, ce qui s’ecrit S |—Rès �.
Induction = Déduction-1Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
» un ensemble d!observation Lo et » une théorie q
– Construire une hypothèse a telle que » " eiÉ oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la résolution– Il s!agit de construire une hypothèse a telle que
Lo Ù q |—Res-1 a
Observations Lo = {e1Éo1, e2Éo2, …, enÉon}
Théorie initiale qHypothèses a
Déduction parrésolution
Induction parinversion de la
résolution
Induction = Déduction-1Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
qun ensemble d!observation Lo = {e1Éo1, …, enÉon} et qune théorie q
– Construire une hypothèse a telle que q" ei É oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la
résolution– Il s!agit de construire une hypothèse a telle que
Lo Ù q |—Res-1 a
Exemple1 - relations familialespère(philip, charles).
père(philip, anne).
…
mère(mum, margareth).
mère(anne, peter).
…
mariés(diana, charles).
mariés(anne, mark).
…
Georges - Mum
Spencer - Kydd Elizabeth - Philip Margareth
Diana - Charles
William - Harry
Anne - Mark Andrew - Sarah Edward
Peter - Zara Béatrice -Eugénie
homme(philip).homme(andrew).…
femme(béatrice).femme(margareth).…
Apprentissage « grand-parent(X, Y) »
Ø On part des observations (exemples positifs et négatifs) relatives à ce concept :Ex. : grand-parent(mum, charles).grand-parent(elizabeth, béatrice).
…¬grand-parent(mum, harry).
¬grand-parent(spencer, peter).
…
Ø On veut construire des clauses qui permettent de dériver automatiquement le concept « grand-parent(X, Y) » à partir des exemples – Hypothèse a:
H1 : grand-parent(X,Y) º [$Z / mère(X,Z) Ù mère(Z,Y)]
Ú [$Z / mère(X,Z) Ù père(Z,Y)]Ú [$Z / père(X,Z) Ù mère(Z,Y)]Ú [$Z / père(X,Z) Ù père(Z,Y)]
E+
E-
Apprentissage « grand-parent(X, Y) »avec connaissance implicite
ØOn part des observations (exemples positifs et négatifs) relatives à ce concept :Ex. : grand-parent(mum, charles).grand-parent(elizabeth, béatrice).
…¬grand-parent(mum, harry).
¬grand-parent(spencer, peter).
…
ØOn aimerait obtenir (hypothèse a):H1 : grand-parent(X,Y) º [$Z / (père(X,Z) Ù père(Z,Y)) Ú
(père(X,Z) Ù mère(Z,Y)) Ú(mère(X,Z) Ù père(Z,Y)) Ú(mère(X,Z) Ù mère(Z,Y))]
E+
E-
Apprentissage « grand-parent(X, Y) »avec connaissance implicite
ØOn part des observations (exemples positifs et négatifs) relatives à ce concept :Ex. : grand-parent(mum, charles).grand-parent(elizabeth, béatrice).
…¬grand-parent(mum, harry).
¬grand-parent(spencer, peter).
…
ØSupposons maintenant que l’on dispose d’une connaissance supplémentaire (théorie Q):parent(X,Y) º (mère(X,Y) Ú père(X,Y))
On aimerait obtenir (hypothèse a):H2 : grand-parent(X,Y) º [$Z / parent(X,Z) Ù parent(Z,Y)]
E+
E-
Quelques exemples• Apprentissage de la fonction “member”
member(a, [a,b,c]).member(b,[a,b,c]).member(3,[5,4,3,2,1]).:- member(b, [1,2,3]).:- member(3, [a,b,c]).
Exemples
member(X, [X|Y]).member(X, [Y|Z]) :- member(X,Z).
Hypothèse a
Quelques exemples (suite)• Utilisation de théorie du domaine• Apprentissage du tri rapide (quicksort)
qsort([b,c,a], [a,b,c]).qsort([], []) .qsort([5,3],[3,5]).:- qsort([5,3],[5,3]).:- qsort([1,3] [3]).
split(L, A, B) :- ...append(A,B,C) :- ...
qsort([], []).qsort([X], [X]).qsort(X,Y) :-split(X, A, B), qsort(A, AS),qsort(B, BS),append(AS, BS, Y).
Quelques exemples (fin)• Possibilité d’apprentissage de contraintes
parent(jack,mary).parent(mary,bob).father(jack,mary).mother(mary,bob).male(jack).male(bob).female(mary).
:- male(X), female(X).male(X) :- father(X,Y).father(X,Y); mother(X,Y) :- parent(X,Y).…
• Autre exemple– molecules: (Muggleton et al. 1996)
Related Work: Robot Scientist
(King et al. - Nature)
Molécules
...hacc(M,A):- atm(M,A,o,2,_,_,_).hacc(M,A):- atm(M,A,o,3,_,_,_).hacc(M,A):- atm(M,A,s,2,_,_,_).hacc(M,A):- atm(M,A,n,ar,_,_,_).
zincsite(M,A):-atm(M,A,du,_,_,_,_).
hdonor(M,A) :-atm(M,A,h,_,_,_,_), not(carbon_bond(M,A)), !....
atm(m1,a1,o,2,3.430400,-3.116000,0.048900).atm(m1,a2,c,2,6.033400,-1.776000,0.679500).atm(m1,a3,o,2,7.026500,-2.042500,0.023200)....bond(m1,a2,a3,2).bond(m1,a5,a6,1).bond(m1,a2,a4,1).bond(m1,a6,a7,du)....
Description de molécules: Connaissances implicites
active(A) :- zincsite(A,B), hacc(A,C), hacc(A,D), hacc(A,E), dist(A,C,B,4.891,0.750), dist(A,C,D,3.753,0.750), dist(A,C,E,3.114,0.750), dist(A,D,B,8.475,0.750), dist(A,D,E,2.133,0.750), dist(A,E,B,7.899,0.750).
-> Hypothese:
Apprentissage de stratégies pour les jeux
Résolution (rappels)Définition:Ø soit A et B deux clauses dont les variables sont disjointes
(au besoin, renommer les variables de l'une d'entre elles),Ø soit L1 un littéral de A et L2 un littéral de B, Ø soit s le pgu (plus grand unifieur) de L1 et ¬L2 On dira que C est le résolvant de A et B par L1 et L2, (ce
que l'on notera Rès(A, B; L1, L2) ) ssiC = Rès(A, B; L1, L2) = (As - {L1s}) È (Bs - {L2s})
Exemple: Rès(R(x, y), ¬R(u, v); R(x, y), ¬R(u, v)) = ØRès(P(x) Ú P(y), ¬P(z) Ú ¬P(r); P(x), ¬P(z)) = P(y) Ú ¬P(r)
Déduction automatique: règle de résolution• Règle de résolution (Robinson 1965) :
Soit C1 et C2 deux clauses. Etant donné L1 et L2 deux littéraux de C1 et C2. Si L1 et ¬L2 ont un unifieur plus général s alors la clause C, est un résolvant binaire de C1 et C2 par L1 et L2:
C = Res(C1 , C2; L1, L2) = (C1s - L1s) È (C2s - L2s)
• Complétude du principe de résolutionUn ensemble S de clauses est insatisfiable si et seulement si il y a une déduction de la clause vide � à partir de S par application de la règle de résolution.En d’autres termes, S est insatisfiable ssi S |—Res �
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 43
LIP6
ACASA
Inversion de la résolution (suite)
Hypothèse 1: C1 et C2 n’ont aucun littéral en commun
C = (C1s1 - {L1s1}) È (C2s2 - {¬L1s1}) Cela donne
(C2s2 - {¬L1s1}) = C - (C1s1 - {L1s1}) d’où C2s2 = (C - (C1s1 - {L1s1})) È {¬L1s1}Enfin, pour calculer on fait appel à une
inversion de substitution:C2 = (C - (C1s1 - {L1s1}))s2
-1 È {¬L1s1}s2-1
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 44
LIP6
ACASA
Inversion: opérateurs V
C2 = (C - (C1s1 - {L1s1}))s2-1 È {¬L1s1}s2
-1
Hypothèse 2 (seulement pour les opérateurs V):La clause C1 est supposée unitaire,C1 s1 - {L1 s1} est donc égal à la clause vide,
d'oùC1 s1 = L1 s1 et C2 = C s2
-1 È {¬C1 s1} s2 -1
C1 C2
C
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 45
LIP6
ACASA
Opérateurs W
C1 C2
B1
A
B2
Bi = (A - {L}) qA,i È (Ci - {Li}) qC,iSi les clauses Ci sont des clauses unitaires:Bi = (A - {L}) qA,i A = Bi ( qA,i)-1 È {L}.
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 46
LIP6
ACASA
Opérateurs W
C1 C2
B1
A
B2B1 = (A - {¬L1}) qA,1 È (C1 - {L1}) qC,1B2 = (A - {¬L2}) qA,2 È (C2 - {L2}) qC,2Si les clauses C1 et C2 sont des clauses unitaires:B1 = (A - {L}) qA,1 et B2 = (A - {L}) qA,2 A = B1 ( qA,1)-1 È {L} = B2 ( qA,2)-1 È {L}.
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 47
LIP6
ACASA
RappelInduction = Déduction-1
Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
qun ensemble d!observation Lo = {e1Éo1, …, enÉon} et qune théorie q
– Construire une hypothèse a
q" ei É oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la résolution
– Il s!agit de construire une hypothèse a telle queLo Ù q |—Res-1 a
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 48
LIP6
ACASA
RappelInduction = Déduction-1
Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
qun ensemble d!observation Lo = {e1Éo1, …, enÉon} et qune théorie q qui n’explique pas les exemples de Lo
– Construire une hypothèse a qui explique les exemplesq" ei É oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la résolution
– Il s!agit de construire une hypothèse a telle queLo Ù q |—Res-1 a
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 49
LIP6
ACASA
Inversion de la résolution: un exemple
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).
(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).
(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
explique l'exemple:(E1): grandpère(armand, jean-luc) ¬
père(armand, edmond) Ùenfant(jean-luc, edmond) Ùsexe(edmond, masculin).
mais pas:(E2) : grandpère(tom,liz) ¬ père(tom,helen) Ù
sexe(helen,féminin) Ù enfant(liz, helen)
Théorie q
Ensemble d’observations
Lo
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 50
LIP6
ACASA
RappelInduction = Déduction-1
Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
qun ensemble d!observation Lo = {e1Éo1, …, enÉon} et qune théorie q qui n’explique pas tous les exemples
– Construire une hypothèse a qui explique les exemples
q" ei É oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la résolution
– Il s!agit de construire une hypothèse a telle queLo Ù q |—Res-1 a
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 51
LIP6
ACASA
RappelInduction = Déduction-1
Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
qun ensemble d!observation Lo = {e1Éo1, …, enÉon} et qune théorie q (qui n!explique pas les exemples)
– Construire une hypothèse a telle que a Ù q explique les exemplesq" ei É oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la résolution
– Il s!agit de construire une hypothèse a telle queLo Ù q |—Res-1 a cad telle que a Ù q explique les exemples
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 52
LIP6
ACASA
Explication d'un exemple• Définition: On dit qu'une théorie T qu'elle “explique” une clause L1Ú L2 Ú...Ú Lk :- Lk+1Ù ...Ù Lmsi et seulement si: TÈ{Lk+1Ù ...Ù Lm } |- {L1ÚL2Ú...ÚLk}
• Définition: un exemple d'un concept C (ou d'un prédicat P) est une clause du type C :- Lk+1Ù ...Ù Lm(ou P(x) :- Lk+1Ù ...Ù Lm)
• Définition: Une théorie T explique l'exemple (ou l’observation) C :- Lk+1Ù ...Ù Lmsi et seulement si T È {Lk+1Ù ...Ù Lm } |- C
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 53
LIP6
ACASA
Un exemple
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).
(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).
(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
La théorie {T1, T2, T3} explique l'exemple E1:(E1): grandpère(armand, jean-luc) ¬
père(armand, edmond) Ùenfant(jean-luc, edmond) Ùsexe(edmond, masculin).
mais pas l’exemple E2:(E2) : grandpère(tom,liz) ¬ père(tom,helen) Ù
sexe(helen,féminin) Ù enfant(liz, helen)
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 54
LIP6
ACASA
Un exemple - suite
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
La théorie {T1, T2, T3} explique l'exemple E1:(E1): grandpère(armand, jean-luc) ¬
père(armand, edmond) Ùenfant(jean-luc, edmond) Ùsexe(edmond, masculin).
Car {T1, T2, T3} È{père(armand, edmond) Ù enfant(jean-luc, edmond) Ù
sexe(edmond, masculin)} ⊢ grandpère(armand, jean-luc)
Explication de E1
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).
(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).
(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
Partant de la théorie q et des trois clauses: père(armand, edmond)enfant(jean-luc, edmond)sexe(edmond, masculin).
On dérive (par application de la résolution)grandpère(armand, jean-luc)
Théorie q
Obervation E1
(E1): grandpère(armand, jean-luc) ¬père(armand, edmond) Ùenfant(jean-luc, edmond) Ùsexe(edmond, masculin).
Explication de E1
(T1) : grandpère(X,Z) :- père(X,Y), père( Y,Z).
(T2) : mère(X,Y) :- sexe(X, feminin), enfant(Y,X).
(T3) : père(X,Y) :- sexe(X, masculin) , enfant(Y,X).père(armand, edmond)enfant(jean-luc, edmond)sexe(edmond, masculin).:- grandpère(armand, jean-luc).
1. :- père(armand, Y), père(Y, jean-luc)2. :- père(edmond, jean-luc).3. :- sexe(edmond, masculin), enfant(jean-luc, edmond)4. :- enfant(jean-luc, edmond).5. Æ
Obervation E1
(E1): grandpère(armand, jean-luc) ¬père(armand, edmond) Ùenfant(jean-luc, edmond) Ùsexe(edmond, masculin).
Théorie
But
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 57
LIP6
ACASA
Un exemple – suite(suite)
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
La théorie {T1, T2, T3} n’explique pas l'exemple E2:
(E2) : grandpère(tom,liz) ¬ père(tom,helen) Ùsexe(helen,féminin) Ù enfant(liz, helen)
Car nous n’avons pas {T1, T2, T3} È {père(tom,helen) Ù sexe(helen,féminin) Ù
enfant(liz, helen)} |- grandpère(tom,liz)
Non explication de E2
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).
(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).
(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
Partant de la théorie q et des trois clauses: père(tom,helen)enfant(liz, helen) sexe(helen,féminin)
On ne peut pas dériver (par application de la
résolution)grandpère(tom, liz)
Théorie q
Obervation E2
(E2) : grandpère(tom,liz) ¬père(tom,helen) Ùsexe(helen,féminin)Ùenfant(helen,liz)
Non explication de E2
(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).père(tom,helen)enfant(liz, helen) sexe(helen,féminin):- grandpère(tom, liz).1. :- père(tom, Y), père(Y, liz).2. :- père(helen, liz).3. :- sexe(helen, masculin), enfant(liz, helen).4. :- sexe(helen, masculin)…Echec de la démonstration…
Théorie q
Obervation E2
(E2) : grandpère(tom,liz) ¬père(tom,helen) Ùsexe(helen,féminin)Ùenfant(helen,liz)
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 60
LIP6
ACASA
RappelInduction = Déduction-1
Inductive Logic Programming (Muggleton 1992)
• Le problème:– Etant donné
qun ensemble d!observation Lo = {e1Éo1, …, enÉon} et qune théorie q (qui n!explique pas les exemples)
– Construire une hypothèse a telle que a Ù q explique les exemplesq" ei É oiÎLo a Ù q Ù ei |—Res oi
• L’induction vue comme une inversion de la résolution
– Il s!agit de construire une hypothèse a telle queLo Ù q |—Res-1 a cad telle que a Ù q explique les exemples
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 61
LIP6
ACASA
Exemple suite
C correspond à l’exemple E2(E2) : grandpère(tom,liz) Ú ~père(tom,helen) Ú
~sexe(helen,féminin) Ú ~enfant(liz, helen)
C1 à T2(T2) : mère(X,Y) Ú ~sexe(X, feminin) Ú ~enfant(Y,X).
C1 C2
C
(T1) : grandpère(X,Z) ¬�� père(X,Y) Ù��père(�Y,Z).(T2) : mère(X,Y) ¬� sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬� sexe(X, masculin) Ù enfant(Y,X).
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 62
LIP6
ACASA
Exemple suite
C1 C2
C
(T1) : grandpère(X,Z) ¬�� père(X,Y) Ù��père(�Y,Z).(T2) : mère(X,Y) ¬� sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬� sexe(X, masculin) Ù enfant(Y,X).
(E2) : grandpère(tom,liz) Ú ~père(tom,helen) Ú~sexe(helen,féminin) Ú ~enfant(liz, helen)
(T2) : mère(X,Y) Ú~sexe(X, feminin) Ú~enfant(Y,X).
C2 : grandpère(tom,liz) Ú ~père(tom,helen) Ú
~mère(helen,liz)
But: “expliquer”(E2) : grandpère(tom,liz) Ú ~père(tom,helen) Ú
~sexe(helen,féminin) Ú ~enfant(liz, helen)Avec T2 et C2
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 63
LIP6
ACASA
Inversion de la résolution (rappel)
Hypothèse 1: C1 et C2 n’ont aucun littéral en commun
C = (C1s1 - {L1s1}) È (C2s2 - {¬L1s1}) donne(C2s2 - {¬L1s1}) = C - (C1s1 - {L1s1}) d’oùC2s2 = (C - (C1s1 - {L1s1})) È {¬L1s1}
Pour calculer on fait appel à une inversion de substitution:
C2 = (C - (C1s1 - {L1s1}))s2-1 È {¬L1s1}s2
-1
Exemple suite
C correspond à l’exemple E2(E2) : grandpère(tom,liz) Ú ~père(tom,helen) Ú
~sexe(helen,féminin) Ú ~enfant(liz, helen)
C1 à T2(T2) : mère(X,Y) Ú ~sexe(X, feminin) Ú ~enfant(Y,X).
En posant L1 = mere(X, Y) et s1 = {X/helen, Y/liz}Et en plongeant dans C2 = (C - (C1s1 - {L1s1}))s2 -1 È {¬L1s1}s2-1
Cela donne:C2 = (E2 - (T2s1 - {mere(X, Y)s1}))s2 -1 È {¬mere(X,Y)s1}s2-1
Et, on obtient:C2 = (grandpère(tom,liz) Ú ~père(tom, helen)) s2-1 È {~mère(helen, liz) } s2-1
C1 C2
C
(T1) : grandpère(X,Z) ¬�� père(X,Y) Ù��père(�Y,Z).(T2) : mère(X,Y) ¬� sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬� sexe(X, masculin) Ù enfant(Y,X).
Exemple (suite)
C2 = (grandpère(tom,liz) Ú ~père(tom,helen)) s2-1 È{¬ mère(helen, liz) } s2-1
On cherche la substitution s2 la plus générale. Puisqu’il y a trois constantes tom,liz et helen cela donne: {U/tom, V/liz, W/helen} d’où on tire
C2 = (grandpère(U,V) Ú ~père(U,W) Ú ~mère(W,V) } ce qui donne une nouvelle clause induite:
(T4) : grandpère(X,Y) ¬ père(X,V) Ù mère(V,Y).
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 66
LIP6
ACASA
Inversion (exemple suite)
Nouvelle théorie(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù
enfant(Y,X).(T4) : grandpère(X,Y) ¬ père(X,V) Ù mère(V,Y).
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 67
LIP6
ACASA
Inversion (exemple suite)Invention de descripteurs
Avec la nouvelle théorie(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù
enfant(Y,X).(T4) : grandpère(X,Y) ¬ père(X,V) Ù mère(V,Y).
On applique les opérateurs W
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 68
LIP6
ACASA
Opérateurs W
C1 C2
B1
A
B2B1 = (A - {¬L1}) qA,1 È (C1 - {L1}) qC,1B2 = (A - {¬L2}) qA,2 È (C2 - {L2}) qC,2Si les clauses C1 et C2 sont des clauses unitaires:B1 = (A - {L}) qA,1 et B2 = (A - {L}) qA,2 A = B1 ( qA,1)-1 È {L} = = B2 ( qA,2)-1 È {L}.
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 69
LIP6
ACASA
Exemple (opérateur W)
Avec la nouvelle théorie(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).(T4) : grandpère(X,Y) ¬ père(X,V) Ù mère(V,Y).
(B1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(B2) : grandpère(X,Z) ¬ père(X,Y) Ù mère( Y,Z).L1= père(_,_)L2=mère(_,_)L = nouv(_,_)
C1 C2
B1
A
B2
Bi = (A - {L}) qA,i È(Ci - {Li}) qC,i.
(A) : grandpère(X,Z) ¬ père(X,Y) Ù nouv( Y,Z).
(C1) : nouv(X,Y) ¬ père(X,Y).
(C2) : nouv(X,Y) ¬ mère(X,Y).
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 70
LIP6
ACASA
Inversion (exemple suite)Invention de descripteurs
Avec la nouvelle théorie(T1) : grandpère(X,Z) ¬ père(X,Y) Ù père( Y,Z).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).(T4) : grandpère(X,Y) ¬ père(X,V) Ù mère(V,Y).
On obtient en appliquant les opérateurs W(T’1) : grandpère(X,Z) ¬ père(X,Y) Ù nouv( Y,Z).(T’2) : nouv(X,Y) ¬ père(X,Y).(T’3) : nouv(X,Y) ¬ mère(X,Y).(T2) : mère(X,Y) ¬ sexe(X, feminin) Ù enfant(Y,X).(T3) : père(X,Y) ¬ sexe(X, masculin) Ù enfant(Y,X).
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 71
LIP6
ACASA
Inversion: opérateurs V
C2 = (C - (C1s1 - {L1s1}))s2-1 È {¬L1s1}s2
-1
Hypothèse 2 (seulement pour les opérateurs V):La clause C1 est supposée unitaire,C1 s1 - {L1 s1} est donc égal à la clause vide,
d'oùC1 s1 = L1 s1 et C2 = C s2
-1 È {¬C1 s1} s2 -1
C1 C2
C
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 72
LIP6
ACASA
Exemple 2
Exemples:C1: Y < s(Y)C: s(s(s(0))) < s(s(s(s(s(0)))))On induit:C2 = (C – (C1s1 – {L1s1})) s2
-1 È {¬L1s1} s2-1
Comme nous sommes dans l’hypothèse 2 où C1 est unitaire, C1s1 – {L1s1} = Æ d’où
C2 = C s2-1 È {¬C1s1} s2
-1
Ce qui donne: C2 = s(s(s(0))) < s(s(s(s(s(0))))) s2
-1 È {¬Y < s(Y) s1} s2-1
C1 C2
C
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 73
LIP6
ACASA
Exemple 2 (suite)
Etant donné cette clause: C2 = s(s(s(0))) < s(s(s(s(s(0))))) s2
-1 È {¬Y < s(Y) s1} s2-1
Comment construire les substitutions s1 et s2-1 ?
1- Construction de s2-1 :
Généralisation maximale de s(s(s(0))) < s(s(s(s(s(0)))))On remplace s(s(s(0))) par X: X < s(s(X))Puis s(s(X)) par Z: X < ZD’où s2 = {X/s(s(s(0))), Z/s(s(X))} etC2 = X < Z È {¬Y < s(Y) s1} s2
-1
Jean-Gabriel Ganascia – Faculté des sciences de Sorbonne Université 74
LIP6
ACASA
Exemple 2 (suite)C2 = X < Z È {¬Y < s(Y) s1} s2
-1
s2 = {X/s(s(s(0))), Z/s(s(X))}
2- Construction de s1 :On veut éliminer Y et généraliser en faisant apparaître
des termes de s2-1, c’est-à-dire s(s(s(0))) et s(s(X))
Pour ça, on peut remplacer Y par s(X): s(X) < s(s(X)) car Z est substitué par s(s(X)), ce qui donne: s(X) < Z
s1 = {Y/s(X), Z/s(s(X))}C2 = X < Z È {¬s(X) < Z } D’où la clause:X < Z :- s(X) < Z