54
Résolution générale 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 L 1 un littéral de A et L 2 un littéral de B tels que soit L 1 et ¬L 2 sunifient, soit ¬L 1 et L 2 sunifient avec la substitution s. On dira que C est le résolvant de A et B par L 1 et L 2 , ce que l'on notera: C = Rés(A, B; L 1 , L 2 ) = (As - {L 1 s}) È (Bs - {L 2 s}) 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)

inv résolution quint - DAC

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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)

Page 2: inv résolution quint - DAC

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)

Page 3: inv résolution quint - DAC

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.

Page 4: inv résolution quint - DAC

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.

Page 5: inv résolution quint - DAC

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.

Page 6: inv résolution quint - DAC

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]

Page 7: inv résolution quint - DAC

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 �.

Page 8: inv résolution quint - DAC

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

Page 9: inv résolution quint - DAC

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

Page 10: inv résolution quint - DAC

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).…

Page 11: inv résolution quint - DAC

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-

Page 12: inv résolution quint - DAC

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-

Page 13: inv résolution quint - DAC

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-

Page 14: inv résolution quint - DAC

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

Page 15: inv résolution quint - DAC

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).

Page 16: inv résolution quint - DAC

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).…

Page 17: inv résolution quint - DAC

• Autre exemple– molecules: (Muggleton et al. 1996)

Page 18: inv résolution quint - DAC

Related Work: Robot Scientist

(King et al. - Nature)

Page 19: inv résolution quint - DAC

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:

Page 20: inv résolution quint - DAC

Apprentissage de stratégies pour les jeux

Page 21: inv résolution quint - DAC

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)

Page 22: inv résolution quint - DAC

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 �

Page 23: inv résolution quint - DAC

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

Page 24: inv résolution quint - DAC

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

Page 25: inv résolution quint - DAC

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}.

Page 26: inv résolution quint - DAC

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}.

Page 27: inv résolution quint - DAC

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

Page 28: inv résolution quint - DAC

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

Page 29: inv résolution quint - DAC

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

Page 30: inv résolution quint - DAC

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

Page 31: inv résolution quint - DAC

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

Page 32: inv résolution quint - DAC

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

Page 33: inv résolution quint - DAC

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)

Page 34: inv résolution quint - DAC

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)

Page 35: inv résolution quint - DAC

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).

Page 36: inv résolution quint - DAC

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

Page 37: inv résolution quint - DAC

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)

Page 38: inv résolution quint - DAC

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)

Page 39: inv résolution quint - DAC

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)

Page 40: inv résolution quint - DAC

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

Page 41: inv résolution quint - DAC

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).

Page 42: inv résolution quint - DAC

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

Page 43: inv résolution quint - DAC

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

Page 44: inv résolution quint - DAC

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).

Page 45: inv résolution quint - DAC

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).

Page 46: inv résolution quint - DAC

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).

Page 47: inv résolution quint - DAC

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

Page 48: inv résolution quint - DAC

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}.

Page 49: inv résolution quint - DAC

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).

Page 50: inv résolution quint - DAC

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).

Page 51: inv résolution quint - DAC

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

Page 52: inv résolution quint - DAC

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

Page 53: inv résolution quint - DAC

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

Page 54: inv résolution quint - DAC

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