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