Ce qui rend l`abduction difficile - Bruno Zanuttini

Transcription

Ce qui rend l`abduction difficile - Bruno Zanuttini
1 / 46
Bonjour à tous
Ce qui rend l’abduction difficile
Bruno Zanuttini1
1 GREYC,
2 LIF,
Nadia Creignou2
Gustav Nordh3
Université de Caen Basse-Normandie
Université de la Méditerranée, Marseille
3 LIX,
Polytechnique
Séminaire du GREYC, 11 décembre 2007
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
2 / 46
Introduction
Introduction
•
L’abduction :
•
•
•
•
sachant que p1 → q, p2 ∧ a → q, p3 → a
observant q
considérant les hypothèses p1 , p2 , p3
inférer les explications {p1 } ou {p2 , p3 }
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
2 / 46
Introduction
Introduction
•
L’abduction :
•
•
•
•
•
sachant que p1 → q, p2 ∧ a → q, p3 → a
observant q
considérant les hypothèses p1 , p2 , p3
inférer les explications {p1 } ou {p2 , p3 }
Questions :
•
•
•
algorithmique et complexité
frontière entre problèmes faciles/difficiles
en fonction des restrictions syntaxiques/langages sur les KB
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
3 / 46
Plan de la présentation
Plan de la présentation
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
4 / 46
Le problème d’abduction
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Le problème d’abduction
5 / 46
Exemple : diagnostic médical
•
On sait que :
•
•
•
•
grippe → fièvre
fièvre → frissons
grippe → toux
bronchite → toux
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
5 / 46
Le problème d’abduction
Exemple : diagnostic médical
•
On sait que :
•
•
•
•
grippe → fièvre
fièvre → frissons
grippe → toux
bronchite → toux
•
Un patient donné a des frissons
•
Diagnostic : le patient a la grippe
•
Un patient donné tousse
•
Diagnostic : le patient a la grippe ou une bronchite
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
6 / 46
Le problème d’abduction
Exemple : planification dans le monde des blocs
•
On sait que :
•
•
•
•
•
•
move(B1 , B2 , t) → on(B1 , B2 , t + 1)
move(B1 , B2 , t) → clear (B1 , t) ∧ clear (B2 , t) ∧ b1 6= table
move(B1 , B2 , t) ∧ move(B3 , B4 , t) → B1 = B3 ∧ B2 = B3
on(B1 , B2 , t) ∧ ¬move(B1 , B3 , t) → on(B1 , B2 , t)
clear (B2 , t) ↔ B2 = table ∨ ¬on(B1 , B2 , t)
on(B2 , table, 0) ∧ on(B3 , table, 0) ∧ on(B1 , B3 , 0)
•
On veut on(B1 , B2 , 3) ∧ on(B2 , B3 , 3) ∧ on(B3 , table, 3)
•
Plan : {move(B1 , table, 0), move(B2 , B3 , 1), move(B1 , B2 , 2)}
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
7 / 46
Le problème d’abduction
Exemple : diagnostic de circuits
O
Or
And1
I1
And2
I2
I3
I4
•
On observe I1 = I2 = 0 et I3 = I4 = 1 mais O = 0
•
Diagnostics :
{OK (And2 ), KO(Or )} ou {OK (And1 ), KO(And2 ), OK (Or )}
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
8 / 46
Le problème d’abduction
Exemple : explication d’échec
•
On sait que :
•
•
•
•
absent ↔ conférence ∨ malade
conférence → article
absent → refusRéunion
malade → ¬conférence
•
On essuie un refus de réunion
•
Explications : conférence ou malade (mais pas les deux)
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Le problème d’abduction
9 / 46
Exemple : non observabilité
•
On sait que :
•
•
•
•
absent ↔ conférence ∨ malade
conférence → article
absent → refusRéunion
malade → ¬conférence
•
On veut s’assurer qu’une personne est malade
•
Indicateurs : elle est absente et n’a pas d’article
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
10 / 46
Le problème d’abduction
Exemple : non observabilité
•
On sait que :
•
•
•
•
absent ↔ conférence ∨ malade
conférence → article
absent → refusRéunion
malade → ¬conférence
•
On veut s’assurer qu’une personne est en conférence
•
Indicateurs : aucun
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Le problème d’abduction
11 / 46
Problème d’abduction
•
Entrée :
•
•
•
base de connaissances KB
ensemble d’hypothèses H
observation Obs
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Le problème d’abduction
11 / 46
Problème d’abduction
•
Entrée :
•
•
•
•
base de connaissances KB
ensemble d’hypothèses H
observation Obs
On cherche une explication E telle que :
•
•
•
V
KB ∧ V E implique Obs
KB ∧ E cohérent
E ⊆H
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
12 / 46
Le problème d’abduction
Autres applications
•
Explication d’incohérence (configuration) :
•
•
•
•
un catalogue en intension + des choix d’un utilisateur
une valeur non disponible pour un nouveau paramètre
quels choix précédents interdisent cette valeur ?
Interprétation LN (Hobbs, Stickel, Appelt, Martin, AIJ’93)
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
13 / 46
Bases de connaissances et observations propositionnelles
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
14 / 46
Bases de connaissances et observations propositionnelles
Formules CNF
•
Variables propositionnelles
•
CNF : conjonction de clauses
•
Exemple : (x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x2 ∨ ¬x3 ) ∧ (¬x4 ∨ ¬x5 )
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
14 / 46
Bases de connaissances et observations propositionnelles
Formules CNF
•
Variables propositionnelles
•
CNF : conjonction de clauses
•
Exemple : (x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x2 ∨ ¬x3 ) ∧ (¬x4 ∨ ¬x5 )
•
Restrictions locales :
•
•
•
•
•
restreindre le type des clauses dans la KB
Horn
bijonctives
3CNF, IHSB, IHSB−k , négatives, etc.
Autres : Horn-renommables, acycliques, monotones, etc.
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Bases de connaissances et observations propositionnelles
15 / 46
Exemple
•
Problème Abduction(CHorn ) :
•
•
•
•
KB une formule CNF de Horn
H un ensemble de littéraux
Obs une formule propositionnelle
existe-t-il une explication ?
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
15 / 46
Bases de connaissances et observations propositionnelles
Exemple
•
Problème Abduction(CHorn ) :
•
•
•
•
•
KB une formule CNF de Horn
H un ensemble de littéraux
Obs une formule propositionnelle
existe-t-il une explication ?
Exemple d’instance pour Abduction(CHorn ) :
•
•
•
•
KB = (p1 → q1 )∧(p2 ∧a → ¬q2 )∧(p3 → a)∧(¬p1 ∧p4 → ¬q2 )
Obs = q1 ∨ ¬q2
H = {p1 , ¬p1 , p2 , ¬p2 , p3 , p4 }
E = {p1 } ou {p2 , p3 } ou {p4 }
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
16 / 46
Bases de connaissances et observations propositionnelles
Langages de contraintes
•
Relations : ensemble de tuples autorisés
•
Contrainte : relation appliquée à des variables
•
Formule : conjonction de contraintes
•
Exemple : 1/3(x1 , x2 , x3 ) ∧ différents(x2 , x4 ) ∧ 1/3(x1 , x2 , x4 )
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
16 / 46
Bases de connaissances et observations propositionnelles
Langages de contraintes
•
Relations : ensemble de tuples autorisés
•
Contrainte : relation appliquée à des variables
•
Formule : conjonction de contraintes
•
Exemple : 1/3(x1 , x2 , x3 ) ∧ différents(x2 , x4 ) ∧ 1/3(x1 , x2 , x4 )
•
Restrictions à des langages :
•
•
langage : ensemble fini de relations
exemples :
•
•
•
langage {1/3, différents},
langage des clauses de Horn d’arité 3
généralise les restrictions sur les CNF
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
17 / 46
Bases de connaissances et observations propositionnelles
Exemple
•
Problème Abduction({1/3, différents}) :
•
•
•
•
KB une conjonction de contraintes sur {1/3, différents}
H un ensemble de littéraux
Obs une formule propositionnelle
existe-t-il une explication ?
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
17 / 46
Bases de connaissances et observations propositionnelles
Exemple
•
Problème Abduction({1/3, différents}) :
•
•
•
•
•
KB une conjonction de contraintes sur {1/3, différents}
H un ensemble de littéraux
Obs une formule propositionnelle
existe-t-il une explication ?
Exemple d’instance pour Abduction({1/3, différents}) :
•
•
•
•
KB = 1/3(p1 , a, q) ∧ différents(a, p2 )
Obs = q
H = {p1 , ¬p1 , p2 , ¬p2 }
E = {¬p1 , p2 }
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Bases de connaissances et observations propositionnelles
18 / 46
Observations
•
Littéraux :
•
•
•
quelconques : Obs = x1 , Obs = ¬x2
positifs : Obs = x1 , Obs = x2
négatifs
Observations les plus simples
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
18 / 46
Bases de connaissances et observations propositionnelles
Observations
•
Littéraux :
•
•
•
quelconques : Obs = x1 , Obs = ¬x2
positifs : Obs = x1 , Obs = x2
négatifs
Observations les plus simples
•
Termes, termes positifs, négatifs : Obs = (x1 ∧ ¬x2 ∧ ¬x3 )
•
Clauses : Obs = (¬x1 ∨ x2 ∨ ¬x3 )
•
•
•
•
observation incertaine
suite d’observations
but pour la planification. . .
CNF
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Bases de connaissances et observations propositionnelles
19 / 46
Hypothèses
•
Toutes positives :
•
•
•
défectuosité des portes pour le diagnostic
choix des utilisateurs pour la configuration
actions pour la planification. . .
•
Toutes négatives
•
Quelconques
•
Closes par négation : x1 , ¬x1 ou aucun des deux
•
descripteurs observables
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
20 / 46
Bases de connaissances et observations propositionnelles
Abduction : définition formelle
•
Pour :
•
•
•
un langage de contraintes ou une classe de CNF K
une classe d’observations O
une classe d’ensembles d’hypothèses H
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
20 / 46
Bases de connaissances et observations propositionnelles
Abduction : définition formelle
•
Pour :
•
•
•
•
un langage de contraintes ou une classe de CNF K
une classe d’observations O
une classe d’ensembles d’hypothèses H
Donnée du problème d’abduction Abd(K,O,H) :
•
•
•
une base de connaissances KB ∈ K
une observation Obs ∈ O
un ensemble d’hypothèses H ∈ H
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
20 / 46
Bases de connaissances et observations propositionnelles
Abduction : définition formelle
•
Pour :
•
•
•
•
Donnée du problème d’abduction Abd(K,O,H) :
•
•
•
•
un langage de contraintes ou une classe de CNF K
une classe d’observations O
une classe d’ensembles d’hypothèses H
une base de connaissances KB ∈ K
une observation Obs ∈ O
un ensemble d’hypothèses H ∈ H
En sortie, une explication E avec :
•
•
•
E ⊆ HV
KB ∧ V E |= Obs
KB ∧ E satisfaisable
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
20 / 46
Bases de connaissances et observations propositionnelles
Abduction : définition formelle
•
Pour :
•
•
•
•
Donnée du problème d’abduction Abd(K,O,H) :
•
•
•
•
une base de connaissances KB ∈ K
une observation Obs ∈ O
un ensemble d’hypothèses H ∈ H
En sortie, une explication E avec :
•
•
•
•
un langage de contraintes ou une classe de CNF K
une classe d’observations O
une classe d’ensembles d’hypothèses H
E ⊆ HV
KB ∧ V E |= Obs
KB ∧ E satisfaisable
Problème de décision : existe-t-il une explication ?
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
21 / 46
Algorithmique et complexité
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
22 / 46
Classes de complexité
•
P : temps polynomial
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
22 / 46
Classes de complexité
•
•
P : temps polynomial
NP :
•
•
•
témoin à deviner
témoins vérifiables efficacement (dans P)
∃V ϕ avec ϕ sur V et en CNF
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
22 / 46
Classes de complexité
•
•
P : temps polynomial
NP :
•
•
•
•
témoin à deviner
témoins vérifiables efficacement (dans P)
∃V ϕ avec ϕ sur V et en CNF
coNP :
•
•
•
tous les témoins potentiels à vérifier
témoins vérifiables efficacement (dans P)
∀V ϕ avec ϕ sur V et en DNF
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
22 / 46
Classes de complexité
•
•
P : temps polynomial
NP :
•
•
•
•
coNP :
•
•
•
•
témoin à deviner
témoins vérifiables efficacement (dans P)
∃V ϕ avec ϕ sur V et en CNF
tous les témoins potentiels à vérifier
témoins vérifiables efficacement (dans P)
∀V ϕ avec ϕ sur V et en DNF
Σ2 P :
•
•
•
témoin à deviner
vérification d’un témoin dans NP/coNP
∃V ∀V 0 ϕ avec ϕ sur V ∪ V 0 en DNF
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
22 / 46
Algorithmique et complexité
Classes de complexité
•
•
P : temps polynomial
NP :
•
•
•
•
coNP :
•
•
•
•
tous les témoins potentiels à vérifier
témoins vérifiables efficacement (dans P)
∀V ϕ avec ϕ sur V et en DNF
Σ2 P :
•
•
•
•
témoin à deviner
témoins vérifiables efficacement (dans P)
∃V ϕ avec ϕ sur V et en CNF
témoin à deviner
vérification d’un témoin dans NP/coNP
∃V ∀V 0 ϕ avec ϕ sur V ∪ V 0 en DNF
Problème complet pour C :
•
tout autre problème de C s’y réduit en temps poly
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
23 / 46
Algorithmique et complexité
Résultats généraux
•
Aucune restriction sur KB : Σ2 P-complet
•
•
•
•
•
même pour Obs = littéral positif ou négatif
même pour H positif, négatif, clos par négation
même pour les deux restrictions à la fois
idem pour KB en 3CNF, pour le langage {1/3}, etc.
résultat positif et négatif
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
23 / 46
Algorithmique et complexité
Résultats généraux
•
Aucune restriction sur KB : Σ2 P-complet
•
•
•
•
•
•
même pour Obs = littéral positif ou négatif
même pour H positif, négatif, clos par négation
même pour les deux restrictions à la fois
idem pour KB en 3CNF, pour le langage {1/3}, etc.
résultat positif et négatif
Déduction de clauses polynomiale : NP-complet
•
•
•
langages tous connus
Horn, bijonctif, dual Horn, affine
bons candidats pour la représentation de K
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
24 / 46
Algorithmique et complexité
Problèmes NP-complets, exemple
•
KB bijonctive : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ) ∧ (x4 ) ∧ (¬x1 ∨ x3 )
•
Observations : termes positifs
•
Hypothèses quelconques
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
24 / 46
Algorithmique et complexité
Problèmes NP-complets, exemple
•
KB bijonctive : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ) ∧ (x4 ) ∧ (¬x1 ∨ x3 )
•
Observations : termes positifs
•
Hypothèses quelconques
•
Dans NP : car déduction de clauses polynomiale
Réduction polynomiale depuis SAT :
•
•
ϕ = (x ∨ y ∨ z) ∧ (¬x ∨ ¬y ) ∧ (¬x ∨ ¬z)
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
24 / 46
Algorithmique et complexité
Problèmes NP-complets, exemple
•
KB bijonctive : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ) ∧ (x4 ) ∧ (¬x1 ∨ x3 )
•
Observations : termes positifs
•
Hypothèses quelconques
•
Dans NP : car déduction de clauses polynomiale
Réduction polynomiale depuis SAT :
•
•
ϕ = (x ∨ y ∨ z) ∧ (¬x ∨ ¬y ) ∧ (¬x ∨ ¬z)
•
(x → s1 ) ∧ (y → s1 ) ∧ (z → s1 )
KB : ∧ (¬x → s2 ) ∧ (¬y → s2 )
∧ (¬x → s3 ) ∧ (¬z → s3 )
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
24 / 46
Algorithmique et complexité
Problèmes NP-complets, exemple
•
KB bijonctive : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ) ∧ (x4 ) ∧ (¬x1 ∨ x3 )
•
Observations : termes positifs
•
Hypothèses quelconques
•
Dans NP : car déduction de clauses polynomiale
Réduction polynomiale depuis SAT :
•
•
ϕ = (x ∨ y ∨ z) ∧ (¬x ∨ ¬y ) ∧ (¬x ∨ ¬z)
•
(x → s1 ) ∧ (y → s1 ) ∧ (z → s1 )
KB : ∧ (¬x → s2 ) ∧ (¬y → s2 )
∧ (¬x → s3 ) ∧ (¬z → s3 )
•
•
Obs = s1 ∧ s2 ∧ s3
H = {x , ¬x , y , ¬y , z, ¬z}
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
25 / 46
Problèmes polynomiaux, exemple
•
KB bijonctive
•
Observations : littéraux quelconques
•
Hypothèses quelconques
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
25 / 46
Algorithmique et complexité
Problèmes polynomiaux, exemple
•
KB bijonctive
•
Observations : littéraux quelconques
•
Hypothèses quelconques
•
Idée :
⇔
⇔
⇔
⇔
KB ∧ e1 ∧ · · · ∧ ek |= o
KB |= (e1 ∧ · · · ∧ ek ) → o
KB |= (¬e1 ∨ · · · ∨ ¬ek ∨ o)
∃i ∈ {1, . . . , k}(KB |= (¬ei ∨ o))
∃i ∈ {1, . . . , k}(KB ∧ ei |= o)
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
25 / 46
Algorithmique et complexité
Problèmes polynomiaux, exemple
•
KB bijonctive
•
Observations : littéraux quelconques
•
Hypothèses quelconques
•
Idée :
⇔
⇔
⇔
⇔
KB ∧ e1 ∧ · · · ∧ ek |= o
KB |= (e1 ∧ · · · ∧ ek ) → o
KB |= (¬e1 ∨ · · · ∨ ¬ek ∨ o)
∃i ∈ {1, . . . , k}(KB |= (¬ei ∨ o))
∃i ∈ {1, . . . , k}(KB ∧ ei |= o)
•
Essayer toutes les explications de taille 1
•
De façon générale, générer les impliqués premiers
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
26 / 46
Problèmes polynomiaux, exemple
•
KB Horn définie positive :
•
•
clauses contenant exactement un littéral positif
exemple : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ∨ x4 ) ∧ (x5 )
•
Observations quelconques
•
Hypothèses toutes positives
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
26 / 46
Problèmes polynomiaux, exemple
•
KB Horn définie positive :
•
•
clauses contenant exactement un littéral positif
exemple : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ∨ x4 ) ∧ (x5 )
•
Observations quelconques
•
Hypothèses toutes positives
•
Idée :
ToutesVles variables à 1 : modèle de KB
⇒ KB ∧ H est satisfaisable
V
⇒ ∀E ⊆ H,VKB ∧ E est satisfaisable
V
⇒ Si KB ∧ E |= Obs, alors KB ∧ H |= Obs
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
26 / 46
Problèmes polynomiaux, exemple
•
KB Horn définie positive :
•
•
clauses contenant exactement un littéral positif
exemple : (x1 ∨ ¬x2 ) ∧ (¬x2 ∨ ¬x3 ∨ x4 ) ∧ (x5 )
•
Observations quelconques
•
Hypothèses toutes positives
•
Idée :
ToutesVles variables à 1 : modèle de KB
⇒ KB ∧ H est satisfaisable
V
⇒ ∀E ⊆ H,VKB ∧ E est satisfaisable
V
⇒ Si KB ∧ E |= Obs, alors KB ∧ H |= Obs
•
Il y a une explication ssi H en est une
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Algorithmique et complexité
27 / 46
Autres types de résultats
•
Problèmes polynomiaux :
•
•
•
•
Problèmes triviaux :
•
•
•
utilisation de la projection
oubli des variables « intermédiaires »
langages affines
pas d’explications possibles
formules négatives
Problèmes coNP-complets :
•
•
•
une seule explication candidate
vérification difficile
langages 1-valides, 0-valides
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
28 / 46
Classification
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
29 / 46
Classification
Classification de Post
•
K implémente K0 si ∀R ∈ K0 , R ≡ ∃Aϕ
•
•
•
A : variables auxiliaires, nouvelles
ϕ : conjonction de contraintes sur K
Exemple : (x1 ∨ x2 ∨ ¬x3 ) ≡ ∃a(x1 ∨ x2 ∨ a) ∧ (x3 6= a)
•
{∨/3, 6= /2} implémente toutes les clauses de longueur 3
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
29 / 46
Classification
Classification de Post
•
K implémente K0 si ∀R ∈ K0 , R ≡ ∃Aϕ
•
•
•
A : variables auxiliaires, nouvelles
ϕ : conjonction de contraintes sur K
Exemple : (x1 ∨ x2 ∨ ¬x3 ) ≡ ∃a(x1 ∨ x2 ∨ a) ∧ (x3 6= a)
•
{∨/3, 6= /2} implémente toutes les clauses de longueur 3
•
Question d’expressivité
•
K et K0 équivalents si s’implémentent mutuellement
•
Classes d’équivalence de langages
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
29 / 46
Classification
Classification de Post
•
K implémente K0 si ∀R ∈ K0 , R ≡ ∃Aϕ
•
•
•
A : variables auxiliaires, nouvelles
ϕ : conjonction de contraintes sur K
Exemple : (x1 ∨ x2 ∨ ¬x3 ) ≡ ∃a(x1 ∨ x2 ∨ a) ∧ (x3 6= a)
•
{∨/3, 6= /2} implémente toutes les clauses de longueur 3
•
Question d’expressivité
•
K et K0 équivalents si s’implémentent mutuellement
•
Classes d’équivalence de langages
•
Abduction : même classe + langages finis ⇒ même complexité
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
30 / 46
Classification
Treillis de Post
BR
II0
II1
II
IN2
IN
IE2
IE0
IL2
IE1
IL0
IE
IV2
IL1
IV0
IL
IS10
IS12
IL3
ID2
IS11
IV1
IV
IS00
ID1
IS1
IS01
IS02
IS301
IS302
IS201
IS202
IS0
ID
IS310
IS312
IS311
IS212
IS211
IS300
IS210
IS200
IS31
IS30
IS21
IS20
IM2
IM0
IM1
IM
IR2
IR0
IR1
IBF
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
31 / 46
Classification
Utilisation pour Abd(K,termes,littéraux)
BR
IE2
IS10
IL2
ID2
IV2
IS00
IS02
IS12
IS310
ID1
IS300
IS302
IS312
IS210
IS200
IS212
IS202
IM2
IR2
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
32 / 46
Classification
Classification complète. . .
•
Pour 12 classes d’observations
•
Pour 4 classes d’hypothèses
•
Pour 4 classes de complexité
•
Tous les langages finis
•
Toutes les restrictions locales sur les CNF
•
D’après environ 25 résultats de complexité
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
32 / 46
Classification
Classification complète. . .
•
Pour 12 classes d’observations
•
Pour 4 classes d’hypothèses
•
Pour 4 classes de complexité
•
Tous les langages finis
•
Toutes les restrictions locales sur les CNF
•
D’après environ 25 résultats de complexité
•
Permet de gérer le compromis expressivité/complexité
•
Résultats stables (p. ex. variables additionnelles)
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
33 / 46
La frontière
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
34 / 46
La frontière
Entre P et NP-complet pour des CNFs. . .
•
Classes de CNF polynomiales pour la déduction de clauses :
•
•
•
•
•
donc déduction de littéraux, de termes, de CNF polynomiale
donc satisfaisabilité polynomiale
classes intéressantes pour la représentation de K
⊂-maximales connues : Horn, dual Horn, bijonctives
Frontière P/NP-complet :
•
•
•
caractériser les cas faciles vs. difficiles
influence de K, O, H
apparaît a posteriori
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
35 / 46
La frontière
Observation = terme
h11
h12
..
.
h1`
h21
h22
..
.
m
h2
..
.
hk1
..
.
hkn
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
o1
o2
..
.
ok
Ce qui rend l’abduction difficile
36 / 46
La frontière
Observation = terme
•
Problème NP-complet exactement quand on peut exprimer :
•
•
h → o pour tous h, o individuels valides
¬(h ∧ h0 ) pour tout couple d’hypothèses
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
36 / 46
La frontière
Observation = terme
•
Problème NP-complet exactement quand on peut exprimer :
•
•
•
h → o pour tous h, o individuels valides
¬(h ∧ h0 ) pour tout couple d’hypothèses
Exemple :
•
•
•
hypothèses négatives
Obs = terme positif
NP-complet ssi K exprime (¬x1 → x2 ) et ¬(¬x1 ∧ ¬x2 )
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
36 / 46
La frontière
Observation = terme
•
Problème NP-complet exactement quand on peut exprimer :
•
•
•
Exemple :
•
•
•
•
h → o pour tous h, o individuels valides
¬(h ∧ h0 ) pour tout couple d’hypothèses
hypothèses négatives
Obs = terme positif
NP-complet ssi K exprime (¬x1 → x2 ) et ¬(¬x1 ∧ ¬x2 )
Intuition :
•
•
•
•
h11 → o1 ,. . .,h1` → o1 : explication C1 = (h11 ∨ · · · ∨ h1` ) pour o1
Obs = o1 ∧ · · · ∧ ok : explication C1 ∧ · · · ∧ Ck
¬(ha ∧ hb ), ¬(hc ∧ hd ), etc. : explications interdites
problème SAT
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
36 / 46
La frontière
Observation = terme
•
Problème NP-complet exactement quand on peut exprimer :
•
•
•
Exemple :
•
•
•
•
hypothèses négatives
Obs = terme positif
NP-complet ssi K exprime (¬x1 → x2 ) et ¬(¬x1 ∧ ¬x2 )
Intuition :
•
•
•
•
•
h → o pour tous h, o individuels valides
¬(h ∧ h0 ) pour tout couple d’hypothèses
h11 → o1 ,. . .,h1` → o1 : explication C1 = (h11 ∨ · · · ∨ h1` ) pour o1
Obs = o1 ∧ · · · ∧ ok : explication C1 ∧ · · · ∧ Ck
¬(ha ∧ hb ), ¬(hc ∧ hd ), etc. : explications interdites
problème SAT
Confirme des observations similaires dans d’autres cadres
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
37 / 46
La frontière
Observation = littéral
h11
h12
..
.
`
h1
h21
h22
..
.
h2m
..
.
hk1
..
.
n
hk
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
i1
i2
o
..
.
ik
Ce qui rend l’abduction difficile
38 / 46
La frontière
Observation = littéral ou clause
•
Problème NP-complet exactement quand on peut exprimer :
•
•
•
h → i pour tous h valides, i variables « intermédiaires »
¬(h ∧ h0 ) pour tout couple d’hypothèses
(i1 ∧ · · · ∧ ik ) → o pour tous k et o valides
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
38 / 46
La frontière
Observation = littéral ou clause
•
Problème NP-complet exactement quand on peut exprimer :
•
•
•
•
h → i pour tous h valides, i variables « intermédiaires »
¬(h ∧ h0 ) pour tout couple d’hypothèses
(i1 ∧ · · · ∧ ik ) → o pour tous k et o valides
Exemple :
•
•
•
•
hypothèses négatives
Obs = littéral positif
variables intermédiaires négatives
NP-complet si K exprime :
•
•
•
(¬x1 → ¬x2 )
¬(¬x1 ∧ ¬x2 )
(¬x1 ∧ · · · ∧ ¬xk ) → xk+1 pour tous k
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
39 / 46
La frontière
Points remarquables
•
L’abduction est presque toujours difficile :
•
•
observations = termes et hypothèses conflictuelles suffisent
p.ex. : pas de maladies incompatibles si plusieurs symptômes
•
Littéral : difficile seulement si variables « intermédiaires »
•
Complexité pour clauses = complexité pour littéral
•
Explication de résultats pour des restrictions non locales
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
40 / 46
La frontière
Autres approches
•
Compilation aussi difficile (Liberatore)
•
Approximation peu efficace (Khardon et Roth 1996, Z. 2002)
•
Résolution en pratique comme pour SAT (QUIP, 2000–2002)
•
Générateurs d’impliqués premiers (Simon, del Val. . .)
•
Étude d’heuristiques dédiées (Letombe & Z., 2007)
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
41 / 46
Un petit détour en théorie de la complexité
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
42 / 46
Un petit détour en théorie de la complexité
Treillis de Post et langages infinis
•
Application des classes de Post : seulement pour langages finis
•
En IA : classes de formules CNF, souvent infinies (Horn)
•
Dans ce travail :
•
•
•
résultats pour langages finis et infinis
résultats pour toutes classes de CNF locales
travaux (Creignou, Kolaitis & Z., 2005) sur les représentations
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
Un petit détour en théorie de la complexité
43 / 46
Tantôt NP-complet, tantôt coNP-complet ! ?
•
Selon les restrictions :
P, NP-complet, coNP-complet, Σ2 P-complet
•
Intuition :
•
•
•
Σ2 P = NPNP∪coNP , ∃V ∀V 0 ϕ
NP-complet : NPP = NP, ∃V ϕ
coNP-complet : P P∪coNP = coNP, ∀V 0 ϕ
•
Problème très riche
•
Référence pour la complexité d’autres problèmes
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
44 / 46
Conclusion
Le problème d’abduction
Bases de connaissances et observations propositionnelles
Algorithmique et complexité
Classification
La frontière
Un petit détour en théorie de la complexité
Conclusion
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
45 / 46
Conclusion
En résumé. . .
•
•
Abduction : problème très difficile
Cas traitables, essentiellement :
•
•
•
•
triviaux (pas d’explications)
non contraints (hypothèses non conflictuelles)
explications simples (un seul littéral)
Solutions pratiques encore à étudier
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile
46 / 46
Conclusion
Complexité du raisonnement propositionnel
•
Inférer automatiquement des résultats de complexité :
•
•
•
•
Tables de complexité pour :
•
•
•
•
réductions connues ou à trouver
circonscription, raisonnement avec défauts
argumentation, théorie des jeux, planification déterministe. . .
concevoir des agents/systèmes à base de K
permettre aux agents de décider comment raisonner
permettre aux agents de décider comment apprendre
Site Web, collecte des résultats
Bruno Zanuttini, Nadia Creignou, Gustav Nordh
Ce qui rend l’abduction difficile