Konfiguration und Diagnose H. Kleine Büning Universität Paderborn Informatik: Wissensbasierte Systeme WS 14/15 Vorlesung H. Kleine Büning 1/38
Konfiguration und Diagnose Konfiguration: 1 Gegeben: Komponenten (technische Komponenten, Softwarekomponeneten) 2 Gegeben: Randbedingungen und Wissen 3 Gegeben: Zielsystem 4 Frage: Gibt es eine Menge von Komponenten, die das Zielsystem realisieren? Repräsentation und Algorithmen?? Domänenabhängig versus -unabhängig?? Lösbarkeit versus Komplexität Einführung H. Kleine Büning 2/38
Konfiguration und Diagnose Beispiele: 1 Autokonfigurator 2 Digitale Schaltungen 3 Internet-Web APPS 4... Einführung H. Kleine Büning 3/38
Konfiguration und Diagnose Diagnose: 1 Gegeben: Symptome 2 Gegeben: Randbedingungen und Wissen 3 Gegeben: Fehler 4 Frage: Gibt es unter den Symptomen eine Teilmenge, die auf den Fehler schließen lassen??, 5 alternativ: Frage: welche Fehler liegt bei einer Menge von Symptomen vor?? Beispiele: Krankeiten, technische Defekte Einführung H. Kleine Büning 4/38
Konfiguration und Diagnose 1 Einfache Grundlagen für beide Problembereiche: Abduktion 2 spezielle Repräsentationen und Algorithmen für die Konfiguration und Diagnose 3 Grenzen der Lösbarkeit Einführung H. Kleine Büning 5/38
Abduktion Ein grundlegender Ansatz für Konfiguration und Diagnose: Idee: 1 Gegeben Wissen G und Ziel β (Target, Ziel, Manifestation) 2 Query: Welche Voraussetzungen E müssen gegeben sein, damit E G = β gilt? Beispiel: G ist eine Menge von Regeln (G = { if a then b, if b then t, if d then t} Ziel t dann gilt a und G implizieren t Abduktion H. Kleine Büning 6/38
Abduktion Das Wissen ist als aussagenlogische Formel gegeben: Lit(V ) ist die Menge der Literale für die Variablenmenge V. Definition 1 (Abduction) For classes of formulas R and T an instance (V, H, G, M) of the abduction problem abd(r, T ) is a set of variables V, the hypotheses H Lit(V ), a formula G with var(g) V, and a formula M (the manifestation). Then the question is whether there exists a subset E H such that E G = M and E G is consistent(satisfiable). When we restrict the hypotheses to variables H V the abduction problem for classes R and T is denoted as abd V (R, T ). Abduktion H. Kleine Büning 7/38
Abduktion DHORN ist die Menge der Horn Formeln, für die jede Klausel genau ein positives Literal enthält DHORN sind definite Horn Formeln. Beispiel: a b d und b, wobei a, b, d, Variable sind. Term ist die Menge aller Terme. Ein Term ist eine Konjunktion von Literalen, z.b. (a b). k-term ist die Menge der Terme mit maximal k Literalen. Beispiele für Abduktionsprobleme: 1 definite Horn Formeln (Implikationen, siehe auch Regeln) abd(dhorn, Variable) und abd V (DHORN, Variable) 2 abd(2-term, Term) Abduktion H. Kleine Büning 8/38
Abduktion Konfiguration : Die Lösung E für das Abduktionsproblem (V, H, G, M) { E H : E G = M und E G ist widerspruchsfrei (erfüllbar)} ist die Menge der Komponenten, die mit dem Wissen G das Zielsystem impliziert. Beispiel: PKW G = { Benzin Motor, Diesel Motor, Motor Getriebe Antrieb, Automatik Getriebe, Hand Getriebe} Ziel = Antrieb H={Benzin, Diesel, Automatik, Hand } Lösung:??? Abduktion H. Kleine Büning 9/38
Abduktion Diagnose : Die Lösung E ist die Menge der Ursachen für das Auftreten von M auf der Basis des Diagnosewissens G. G = { Husten Luft, Fieber Entzündung, Entzündung Geräusche Lungenentzündung } Hypothesen H = { Fieber } Ziel (Diagnose): Lungenentzündung Gibt es eine Lösung? E H : E G = Lungenentzündung und E G ist nicht widerspruchsvoll???? Abduktion H. Kleine Büning 10/38
Abduktion Mit Abduktion lassen sich nur einfache Konfigurations- und Diagnoseproblem beschreiben. 1 zusätzliche Anforderungene, z.b. minimale Lösungen 2 mächtigere Repräsentationen Basis für Komplexitätsabschätzungen Frage: Wie schierig sind die Abduktionsprobleme zu lösen? Abduktion H. Kleine Büning 11/38
Abduktion Beispiel: abd V (DHORN, DHORN), also das Wissen G ist eine Menge von Implikationen, das Ziel ist eine Menge von Implikationen M, und sei die Menge der Hypothesen H eine Menge von aussagenlogischen Variablen aus der Variablenmenge V. Frage: Gibt es eine Menge E H : G E = M und E G ist erfüllbar? Beobachtung: Wenn es eine Lösung gibt, dann ist H eine Lösung. H G ist immer widerspruchsfrei. Also genügt der Test H G = M. Zeit: polynomial in der Länge von G, H und M. Satz: abd V ist lösbar in polynomialer Zeit. Abduktion H. Kleine Büning 12/38
Abduktion Beispiel: 1 abd(dhorn, DHORN) ist NP-vollständig. 2 abd(horn, Horn) ist NP-vollständig. 3 abd(cnf, CNF) ist Σ P 2 -vollständig. Abduktion H. Kleine Büning 13/38
Abduktion Minimale Lösungen für abd V (DHORN, Variable): 1 Wissen G ist Menge von Implikationen 2 Ziel ist eine Variable v 3 H ist eine Menge von Variablen 4 natürliche Zahl k 1 5 Frage: Gibt es eine E H : E k und E G ist erfüllbar und E G = v?? Rate eine Menge E H mit maximal k Elementen und teste den Rest in polynomialer Zeit (Problem in NP). Die NP-härte zeigt man durch eine Reduktion auf das Set Cover Problem. Das obige Problem ist NP-vollständig. Abduktion H. Kleine Büning 14/38
Skelettkonfiguration und Abduktion Idee: 1 Gegeben eine Produktstruktur P als UND-Oder-Graph (azyklisch). 2 Die Blätter enthalten die Komponenten. Die Menge sei H. 3 Die Wurzel enthält das Zielprodukt M. 4 Suche Komponenten, die zusammen mit der Produktstruktur P zum Ziel M führen. Beobachtung: Produktstruktur ist eine definite Horn Formel (Implikationen). Damit erhalten wir ein Abduktionsproblem Triviale Lösung: Nehme alle Komponenten. Nicht immer sinnvoll!!! Abduktion H. Kleine Büning 15/38
Skelettkonfiguration und Abduktion Zusätzliches Wissen. Siehe Beispiel PKW 1 Ein Antrieb ist entweder ein Diesel oder ein Benziner. 2 nicht als Implikation ausdrückbar, 3 formal: Diesel Benzin (negative Klausel, Horn Klausel) 4 also abd V (Horn, Variable) 5 damit wird das Problem NP-vollständig 6 alternativ: minimale Lösung (Komplexität) Abduktion H. Kleine Büning 16/38
Skelettkonfiguration und Abduktion Zusätzliches Wissen. Siehe Beispiel PKW Alternative Darstellung 1 Ein Antrieb ist entweder ein Diesel oder ein Benziner. 2 nicht als Implikation ausdrückbar, 3 Gruppen von Komponenten z.b: {Benzin, Diesel}, {c 1, c 2 };.. 4 Wähle je eine Komponente aus den Gruppen Abduktion H. Kleine Büning 17/38
Skelettkonfiguration und Abduktion Zusätzliches Wissen. Siehe Beispiel PKW Alternative Darstellung: Gruppen von Mengen von Komponenten; formal 1 Gegeben globales Wissen G in Form von Implikationen (azyklischer UND-Oder-Graph). 2 Für 1 i n disjunkte Komponentenmengen C i = {c i1,..., c it } 3 Ziel A 4 Query : a 1 C 1... a n C n : a 1... a n G = A??? Satz: Das Problem ist NP-vollständig. Abduktion H. Kleine Büning 18/38
Skelettkonfiguration und Abduktion Kosten: 1 Gegeben eine Produktstruktur P als UND-Oder-Graph (azyklisch). 2 Die Blätter enthalten die Komponenten. Die Menge sei H. 3 Die Wurzel enthält das Zielprodukt M. 4 Jede Komponente hat einen Preis. 5 Suche Komponenten, die zusammen mit der Produktstruktur P zum Ziel M führen und zusammen nicht mehr als xx kosten. Wie entscheide ich schnell, ob es eine Lösung gibt oder eine Lösung mit Preis kleiner als y gibt? Hinweis: A Algorithmus Abduktion H. Kleine Büning 19/38
Beschreibungen mit Hilfsvariablen Einführendes Beispiel: α = (a 1 b 1 ) (a 2 b 1 ) (a 1 b 2 ) (a 2 b 2 ) (a 3 b 1 ) (a 3 b 2 ) Kürzere Darstellung: Φ = (a 1 x) (a 2 x) ( x b 1 ) ( x b 2 ) (x b 3 ) Die Menge der Folgerungen von Φ mit Variablen V = {a 1, a 2, b 1, b 2, b 3 } ist äquivalent zu α. In Zeichen: α = V Φ.Diese Definition ist äquivalent zu α = xφ. Beispiel Abduktion: H = {a}, G = a b c, Ziel M = x(b x, x c), x ist Hilfsvariable x(b x, x c) ist äquivalent zu b c. Dann gilt a (a b c) = x(b x, x c) aber es gilt nicht a (a b c) = (b x, x c) Gegenbeispiel: Bewertung a = 1, b = 1, c = 1, x = 0 Abduktion H. Kleine Büning 20/38
Beschreibungen mit Hilfsvariablen Achtung: Hilfsvariable können zu einer größeren Komplexität des Abduktionsproblems führen. Beispiel: abd V (DHORN, DHORN) ist lösbar in quadratischer Zeit. (Hypothesen sind Variable.) Es sei definiert DHORN := { Xβ : β DHORN} Theorem 2 abd V (DHORN, DHORN) ist conp-vollständig. Reduktion auf das folgende conp-vollständige Problem: {(α, Xβ) : α, β DHORN, α = Xβ} Abduktion H. Kleine Büning 21/38
Konfiguration Definition 3 Configuration Problem conf g (R, T )) for classes of propositional formulas R and T with global knowledge. Instance: Set of components C = {α 1,, α n } R, global knowledge G R, target formula β T. Query K C : K G SAT and K G = β? Unterschied zur Abduktion: Anstelle der Hypothesen in Form von Variablen oder Literalen sind die Hypothesen nun komplexe Komponenten. Definition 4 conf (R, T ) bezeichnet das Konfigurationsproblem mit leerem globalem Wissen. Abduktion H. Kleine Büning 22/38
Konfiguration 2-Term := {L 1 L 2 : L i sind Literale} Term := {L 1... L n : L i sind Literale} Beispiel für conf(2-term, Term): Menge der Komponenten C := {(a b), ( a y)} Ziel: Φ := b y Query: Gibt es eine Menge K C : K ist erfüllbar und K = Φ? Komponenten bestehen aus zwei Literalen. Wie schwer ist das Konfigurationsproblem conf(2-term, Term)? Abduktion H. Kleine Büning 23/38
Konfiguration Theorem 5 Das Konfigurationsproblem conf(2-term, Term) ist NP-vollständig. Beweis. The configuration problems conf(2-term, Term) and conf g (2-Term, Term) are in NP: guess a satisfiable subset K. The test whether or not K G = t for the global knowledge G and the target term t is simple. Now for conf(2-term, Term) we will show the NP-hardness by a reduction to the SAT problem. Let α = α 1... α m be a CNF formula over the variables x 1,..., x n. We associate to α a set C of 2-term components and a target formula β, such that α is satisfiable if and only if there exists a satisfiable subset K C: K = β. Abduktion H. Kleine Büning 24/38
Konfiguration Beweis. Fortsetzung: Let q 1,..., q m be new variables for α. Let C = {(q i L) : 1 i m, L α i } be the set of components and β = q 1... q m. Suppose, α is satisfiable. Then there is a satisfying truth assignment v for α and therefore for every clause α i there is a literal L with v(l) = 1. The set of components K = {(q i L) : 1 i m, v(l) = 1, L α i } is satisfiable and because for every clause α i there exists some L α i with v(l) = 1 we obtain K = q 1... q m. For the other direction we assume that there is some satisfiable subset K C with K = β. Then for every variable q i there is a term q i L in K. Since K is satisfiable, the conjunction of literals L of the components (2-terms) is satisfiable. This leads to a satisfying truth assignment for α. Remark: It can easily be seen that for any satisfiable subset K C it holds var(α)k β if and only if K = β. Abduktion H. Kleine Büning 25/38
Konfiguration Weitere Beispielklassen 1 conf(knf, Literal), Literal ist die Menge der Literale 2 conf(2-knf, 2-KNF) 3 conf(klausel, Literal), Klausel ist die Menge der Klauseln Einfache Strategie: 1 Rate eine Menge von Komponenten K C aus der Menge der Komponenten C 2 überprüfe die Menge K auf Erfüllbarkeit 3 überprüfe K = t, wobei t die Zielformel ist. Abduktion H. Kleine Büning 26/38
Konfiguration Beispiel: Konfigurationsproblem mit globalem Wissen Beispiel 1: conf g (DHORN, DHORN) Gegeben: Globales Wissen G = {a b, b c w} Komponenten C = {x, (x a), (y c)} Zielformel: t = w Query: K C : K ist widerspruchsfrei und K G = t? Abduktion H. Kleine Büning 27/38
Konfiguration Beispiel: Konfigurationsproblem mit globalem Wissen Beispiel 1: conf g (DHORN, DHORN) Gegeben: Globales Wissen G = {a b, b c w} Komponenten C = {x, (x a), (y c)} Zielformel: t = w Query: K C : K ist widerspruchsfrei und K G = t? Lösung: K = {x, (x a)} Abduktion H. Kleine Büning 28/38
Konfiguration Beispiel: Konfigurationsproblem mit globalem Wissen Beispiel 2: conf g (CNF, CNF) Gegeben: Globales Wissen G = {a b, a b, a b} Komponenten C = {a, a, b, b} Zielformel: t = b Query: K C : K ist widerspruchsfrei und K G = t? Lösung: Es gibt keine Lösung. Abduktion H. Kleine Büning 29/38
Konfiguration Konfigurationsproblem mit globalem Wissen transformiert in ein Problem ohne globales Wissen. Transformation existiert, falls die Sprache für die Komponenten mächtig genug ist. Beispiel 2: conf g (CNF, CNF) Gegeben: Globales Wissen G CNF Komponenten C = {α 1,..., α n }, α i CNF Zielformel: β CNF Query: K C : K ist widerspruchsfrei und K G = β? Abduktion H. Kleine Büning 30/38
Konfiguration Beispiel 2: conf g (CNF, CNF) Globales Wissen G CNF Komponenten C = {α 1,..., α n }, α i CNF Zielformel: β CNF Query: K C : K ist widerspruchsfrei und K G = β? Gesucht : Komponentenmenge C und Zielformel β, so dass gilt K C : K ist widerspruchsfrei und K G = β? gdw. K C : K ist widerspruchsfrei und K = β? Abduktion H. Kleine Büning 31/38
Konfiguration Beispiel 2: conf g (CNF, CNF) Globales Wissen G CNF Komponenten C = {α 1,..., α n }, α i CNF Zielformel: β CNF Query: K C : K ist widerspruchsfrei und K G = β? Gesucht : Komponentenmenge C und Zielformel β, so dass gilt K C : K ist widerspruchsfrei und K G = β? gdw. K C : K ist widerspruchsfrei und K = β? Lösung: C := {G, α 1 G,..., α n G} Abduktion H. Kleine Büning 32/38
Konfiguration, Äquivalenz Gegeben: Komponentenmenge C Zielformel β Query: K C : K ist widerspruchsfrei, K β. 1 wesentlich stärkere Anforderung 2 tritt oftmals im Zusammenhang mit Hilfsvariablen auf Definition 6 Let R and T be classes of formulas. e-conf(r, T ): An instance of the equivalence configuration problem is a finite set of components C = {α 1,, α n } R and a target formula β T. The question is whether there exists a satisfiable subset K C such that K SAT and K β. Abduktion H. Kleine Büning 33/38
Konfiguration, Äquivalenz Beispiel: e-conf(2-term, Term) Gegeben: Komponentenmenge C := {a q 1, b q 1, a q 2, b q 2, a q 3, b q 3 } Zielformel β = q 1 q 2 q 3 1 Gibt es eine Lösung für: K C : K ist erfüllbar,k = β? 2 Gibt es eine Lösung für: K C : K ist erfüllbar, K β? Abduktion H. Kleine Büning 34/38
Konfiguration, Äquivalenz Beispiel: e-conf(2-term, Term) Gegeben: Komponentenmenge C := {a q 1, b q 1, a q 2, b q 2, a q 3, b q 3 } Zielformel β = q 1 q 2 q 3 1 Gibt es eine Lösung für: K C : K ist erfüllbar,k = β? 2 Gibt es eine Lösung für: K C : K ist erfüllbar, K β? 3 Gibt es eine Lösung für: K C : K ist erfüllbar, ( a bk) β? Abduktion H. Kleine Büning 35/38
Konfiguration, Äquivalenz Beispiel: e-conf(( Komponentenmenge CNF), CNF) ist Σ P 3 vollständig. Gegeben: 1 Komponentenmenge C mit Komponenten in CNF 2 Variablenmenge X 3 Zielformel Y β CNF 4 Query: K C : K is widerspruchsfrei und XK β? Abduktion H. Kleine Büning 36/38
Konfiguration, Äquivalenz Beispiel: e-conf(( Komponentenmenge CNF), CNF) ist Σ P 3 vollständig. Gegeben: 1 Komponentenmenge C mit Komponenten in CNF 2 Variablenmenge X 3 Zielformel Y β CNF 4 Query: K C : K is widerspruchsfrei und XK β? Gegeben: Komponenten C = {a x, a w, x b} Variablenmenge X = {x} Ziel β = y(a y, y b) Query: K C : K ist widerspruchsfrei und xk β? Abduktion H. Kleine Büning 37/38
Ressourcen-basierte Konfiguration Modellierungaufgaben: Geben Sie bitte eine natürliche Repräsentation an: 1 Die Komponente c i kommt maximal k-mal vor. 2 Die Komponente c i kommt mindestens k-mal vor. 3 c 1 oder c 2 müssen vorkommen (c 1 c 2 ). 4 c 1 und c 2 müssen vorkommen c 1 c 2 ). 5 nicht (c 1 und c 2 ), Anzahl der Vorkommen von c 1 und c 2 aber nicht begrenzt. (Gibt es eine Lösung?) 6 Jede Komponente kommt höchstens einmal vor und die folgenden Bedingungen müssen erfüllt sein 1 c 1 c 2 2 c 1 c 2 c 3 3 (c 1... c t ) c 0 4 Sei α KNF eine Formel über den Variablen c 1,..., c n Abduktion H. Kleine Büning 38/38