Grundlagen der Künstlichen Intelligenz Belief Revision 01.12.2005 Dr.-Ing. Stefan Fricke [email protected] AOT Agententechnologien in betrieblichen Anwendungen und der Telekommunikation 1 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS Ö Assumption-based TMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 2 TU Berlin 2 Probleme klassischer Logik Ö Klassische Logik ist monoton: Einleitung X├ H ⇒ X∪Y├ H Ö Menschliches Schließen ist nicht immer monoton Z.B. aus Nichtevidenz schlussfolgern und gegebenenfalls falsche Annahmen zurücknehmen t „Solange ich nicht Gegenteiliges weiß, gilt die Annahme, dass alle Erwachsenen lesen können.“ AOT © Dr.-Ing. Stefan Fricke 3 TU Berlin Theorie/Hypothese aufstellen und durch Beobachtungen stärken oder wieder verwerfen/anpassen/verbessern Hypothesenbildung: Z.B Newton‘sche Mechanik 3 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS Ö Assumption-based TMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 4 TU Berlin 4 Default Logik Ö Eine Default-Theorie ist ein Paar (W, D) t W (World) enthält FOL-Formeln, die wahr sind t D ist eine Menge von rücknehmbaren Defaults Ö D besteht aus Inferenzregeln der Form A: B1… Bn / C t A ist die Vorbedingung t Bi sind Konsistenzannahmen t C ist die (revidierbare) Konsequenz des Defaults Ö Semantik: Wenn A ableitbar ist und für alle i (1 ≤ i ≤ n) ¬Bi nicht abgleitet werden kann, dann leite C ab. AOT © Dr.-Ing. Stefan Fricke 5 TU Berlin A, Bi und C sind Formeln. Semantik: „Wenn A bekannt ist und keine Evidenz für B besteht, dann kann C inferiert werden. Es gilt die Closed World Assumption. 5 Beispiel Default Logik W = { Vogel( Tweety ), Vogel( Hansi ), Pinguin( Tweety ), ∀x Pinguin( x ) ⇒ ¬Fliegt( x ) } D = { d1 }, wobei d1 = Vogel( x ): Fliegt( x ) / Fliegt( x ) Ö Aus Vogel( Hansi ) kann mit d1 Fliegt( Hansi ) abgeleitet werden. Ö Mit d1 kann nicht Fliegt( Tweety ) abgeleitet werden, da W ├ Pinguin( Tweety ). AOT © Dr.-Ing. Stefan Fricke 6 TU Berlin 6 Konsistenzkriterien Default Logik Ö Gegeben ein Paar von Formelmengen (T1, T2): (T1, T2) triggert A:B/C, gdw. T1 ├ A und nicht T2 ├ ¬B Ö Falls nicht T2 ├ ¬ B, dann ist B konsistent mit T2 Ö Beispiel: ( {A,B,C}, {X,Y,Z} ) triggert C: X, ¬B / A triggert nicht C: ¬X / B triggert nicht C: X / ¬B AOT © Dr.-Ing. Stefan Fricke 7 TU Berlin triggert C: X,M / A, denn weder ¬X noch ¬M sind aus {X,Y,Z} herleitbar und A folgt aus {A,B,C} 7 Konsistenzkriterien Default Logik Eine Menge von Formeln E ist eine Extension einer DefaultTheorie (W,D) genau dann, wenn: mit: Ö E0 = W Ö Ei+1 = Ei ∪ { C⎥ A:B1, ..., Bn/C ∈ D und A:B1, ..., Bn/C getriggert von (Ei, E) } AOT © Dr.-Ing. Stefan Fricke 8 TU Berlin Zyklische (rekursive) Darstellung der Extension (es gibt auch anderer Definitionen), die schwierig algorithmisch umzusetzen ist. Die Extension einer Default-Theorie beschreibt das aktuell gültige Wissen, bestehend aus dem sicheren Wissen W und allen gültigen Defauls aus D. 8 Konsistenzkriterien Default Logik Ö Problem: Extensionen sind nicht immer eindeutig Ö Beispiel: D = { A: B / ¬C, A: C / ¬B } hat 2 Extensionen W ∪ { ¬C } und W ∪ { ¬B } , t denn nur jeweils eines der beiden Defaults kann getriggert werden. Ö Alle Extensionen einer Default Theorie sind wechselseitig inkonsistent. AOT © Dr.-Ing. Stefan Fricke 9 TU Berlin Außerdem: Nicht für alle Default-Theorien existieren Extensionen. Beispiel: eine Default-Theorie mit A: B / ¬B ∈ D besitzt keine Extension denn das Default kann weder getriggert noch nicht getriggert werden. Aus Wikipedia: A normal default theory is guaranteed to have at least one extension. Furthermore, the extensions of a normal default theory are mutually inconsistent, i.e., inconsistent with each other. 9 Beispiel Default Logik Ö W = { V( Tweety ) }, D = { V(x) : F(x) / F(x) } E = W ∪ { F( Tweety ) } Ö W = { V(T), P(T), ∀x P(x) ⇒ ¬F(x) }, D = { V(x) : F(x) / F(x) } E=W Ö W = { V(T), P(T) }, D = { V(x): F(x) / F(x) , P(x): ¬F(x) / ¬F(x) } E = W ∪ { F(T) } oder E = W ∪ { ¬F(T) } AOT © Dr.-Ing. Stefan Fricke 10 TU Berlin 10 Entscheidungsprozeduren Default Logik Ö „Skeptisches“ Default Reasoning t Entscheidungsprozedur liefert zu Formel F genau dann ⊤, wenn F in allen Extensionen enthalten ist. Ö „Leichtgläubiges“ Default Reasoning t Entscheidungsprozedur liefert zu Formel F genau dann ⊤, wenn F in mindestens einer Extension enthalten ist. AOT © Dr.-Ing. Stefan Fricke 11 TU Berlin 11 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS Ö Assumption-based TMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 12 TU Berlin 12 Truth Maintenance TMS Ö Wenn Wissen und Schlussfolgerungen nicht monoton sind, kommen Belief Revision-Mechanismen zur Anwendung. Ö Beispiel: Wissensbasierter Agent t Wenn P ∈ KB und TELL( KB, ¬P ), dann RETRACT( KB, P ) t Was geschieht aber mit den Formeln, die von P inferiert wurden? Ö Truth Maintenance Systeme geben eine Antwort auf diese Frage AOT © Dr.-Ing. Stefan Fricke 13 TU Berlin RETRACT entfernt ein Element aus der KB. 13 Einfacher Ansatz zur Belief Revision TMS Ö Nummerierung der Formeln Pi: TELL( KB, P1 ), TELL( KB, Q2 ) … Ö Indexierung aller von Pi inferierten Formeln in der KB mit i t Die KB wird zu einem Stack. Ö Bei einem TELL( KB, ¬P ) wird der Stack einschließlich Pi leergeräumt t und damit auch alle Inferenzen aus dem Tell( KB, P ) entfernt. Ö Anschließend alle Tell( KB, Pj ) (j > i) erneut durchgeführt. AOT © Dr.-Ing. Stefan Fricke 14 TU Berlin Aufsteigende Nummerierung. Die KB wird zu einem Stack, alle durch eine Perzeption inferierten Formeln tragen denselben Index. sehr komplex! 14 Interaktion mit einem TMS Inferenzmaschine TMS Annahmen Rechtfertigungen TMS Beliefs Widersprüche Ö Aufgabe eines TMS: Beliefs speichern und effizient verwalten t Wechselnde Annahmen erzwingen Update aktueller Beliefs t Inkonsistenzen erkennen und behandeln t Default-Reasoning unterstützen t Erklärungen generieren AOT © Dr.-Ing. Stefan Fricke 15 TU Berlin Die Inferenzmaschine erzeugt neues Wissen, z.B. durch Theorembeweiser oder durch Interaktion mit einem Nutzer. Wissen wird als Annahmen und in Form von Rechtfertigungen dem TMS mitgeteilt. Das TMS verwaltet die Annahzmen und Rechtfertigungen und ist in der Lage, mit negierten Annahmen (Rücknahme einer Annahme) umzugehen. 15 Beispiel TMS Ö Axel, Bert und Cindy sind eines Verbrechens verdächtig t Axel hat ein Alibi: Registrierung in einem Hotel in Aachen t Bert Alibi: Schwiegersohn bezeugt seinen Besuch in Berlin t Cindy Alibi: Behauptung, ein Konzert in Celle gehört zu haben Ö Aus diesem Sachverhalt schließen wir: t Axel, Bert oder Cindy haben das Verbrechen begangen t Axel ist unschuldig, Bert ist unschuldig Ö Später belegt Cindy ihr Alibi t Eine Fernsehkamera hat sie aufgenommen … AOT © Dr.-Ing. Stefan Fricke 16 TU Berlin 16 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS t Aufbau eines JTMS t Propagierung im JTMS Ö Assumption-based TMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 17 TU Berlin 17 Justification-based Truth Maintenance System Ö Jeder Belief ist ein TMS-Knoten. Ö Das Label eines Knoten drückt aus, ob die mit dem Knoten assoziierte Proposition aktuell geglaubt wird oder nicht. t IN = aktuell geglaubt t OUT = zurzeit nicht geglaubt Ö Eine Formel P ∈ KB drückt keinesfalls Wissen aus: P: IN P: OUT ¬P: IN Widerspruch ¬P wahr ¬P: OUT P wahr P unbekannt AOT © Dr.-Ing. Stefan Fricke 18 TU Berlin Knoten werden auch Node und in Spezialfällen (s.u.) Assumption genannt. Eine Formel ist entweder IN oder OUT, beides gleichzeitig geht nicht. 18 Knoten JTMS TELL( Node( Verdächtig( Axel ), OUT ))). TELL( Node( Alibi( Cindy, OUT ))). TELL( Node( Alibi( Axel, IN ))). TELL( Node( Alibi( Bert, IN ))). TMS IN: Inferenzmaschine AOT Annahmen Rückmeldung © Dr.-Ing. Stefan Fricke OUT: Alibi (Axel) AlibiCindy) Alibi(Bert) Verdächtig(Axel) 19 TU Berlin Das TMS verwaltet den Status aller definierten Knoten (IN oder OUT). mit Node/2 wird ein Knoten auf IN oder OUT gesetzt. Falls der Knoten vorher nicht existierte, dann wird er erzeugt. 19 Justification JTMS Ö Justifications drücken Beziehungen zwischen Beliefs aus. Ö Justifications sind Hornklauseln: A1 ∧ ... ∧ An ⇒ C t A1, ... An sind Literale, C eine (positive) Proposition A1 … J C An t A1, ... An sind die Vorgänger, C ist die Konsequenz. Ö Justify( [A1, ..., An], C ). AOT © Dr.-Ing. Stefan Fricke 20 TU Berlin A1, ... An sind die unterstützenden Beliefs für die Konsequenz C. C wird geglaubt, wenn A1...An IN sind. 20 Abhängigkeitsnetze JTMS Ö TELL( Justify( [Profitiert(Axel), ¬Alibi(Axel)], Verdächtig(Axel) ) TELL( Justify( [Hotelregistration(Axel), ¬FakeReg], Alibi(Axel) ) TELL( Justify( [Flucht(Axel)], Verdächtig(Axel) ) Fl(A) + H(A) + FR(A) Assumption (Grundannahme) AOT J1 J2 P(A) + A(A) J3 V(A) Konsequenz (begründeter Knoten) © Dr.-Ing. Stefan Fricke 21 TU Berlin Unter der Annahme, dass Hotelreservierung vorliegt, die zunächst als echt anzunehmen ist, kann die links stehende Justifikation A(A) schlussfolgern. A(A) ist demnach IN, was das “Schalten” der rechten Justification verhindert, sodass V(A) OUT ist. H = Hotelregistration; (A) = (Axel); FR = FakeReg; P = Profitiert; V = Verdächtig; A = Alibi; Fl = Flucht Vereinbarungsgemäß werden (von dieser Stelle an für den Bereich JTMS) gepunktete Knoten als OUT und Knoten mit vollständigen Linien als IN gekennzeichnet. 21 Jeder Knoten im TMS besitzt … JTMS Ö Justifications, die ihn als Konsequenz haben, Ö Konsequenzen, d.h. Justifications, die ihn als Vorgänger haben, t Knoten ohne Vorgänger werden Assumptions genannt Ö Support: Jede Justification, aufgrund derer er IN ist. t Assumptions benötigen keinen Support x AOT © Dr.-Ing. Stefan Fricke 22 TU Berlin Unter der Annahme, dass Hotelreservierung vorliegt, die zunächst als echt anzunehmen ist, kann die links stehende Justifikation A(A) schlussfolgern. A(A) ist demnach IN, was das “Schalten” der rechten Justification verhindert, sodass V(A) OUT ist. Ein Support genügt, damit ein Knoten IN ist. 22 Kontradiktion JTMS Ö Negatives Wissen wird durch eine Justification eines speziellen Contradiction-Nodes (⊥) ausgedrückt t Dieser Knoten darf nie IN werden Ö Beispiel: Mindestens eine der Personen Axel, Bert und Cindy ist verdächtig. V(A) V(B) - ⊥ V(C) AOT © Dr.-Ing. Stefan Fricke 23 TU Berlin Gelungeneres Beispiel: Außer A,B und C gibt es keine weiteren Verdächtigen: Darzustellen als Contradiction( [V(A), V(B), V(C), X] ) 23 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS t Aufbau eines JTMS t Propagierung im JTMS Ö Assumption-based TMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 24 TU Berlin 24 Arbeitsweise eines TMS JTMS Ö Ein TMS arbeitet inkrementell t Knoten und Justifications hinzufügen t Assumptions IN oder OUT setzen t Anfragen hinsichtlich IN / OUT stellen Ö Bei einer Änderung ... t ...wird das Label des betroffenen Knotens entsprechend gesetzt t … und werden dessen Konsequenzen durch das Abhängigkeitsnetz propagiert ... AOT © Dr.-Ing. Stefan Fricke 25 TU Berlin 25 JTMS - Propagierung JTMS Aufbau des Abhängigkeitsnetzes: Ö Assumption( [A,B,C], OUT ). Ö Justification([A,B],D), Justification([B,C],E), Justification([D,E],F) A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 26 TU Berlin Die Knoten D, E und F werden durch die Justifications „automatisch“ ins Netz mit aufgenommen. Alternativ könnten sie auch über Node([D,E,F]) deklariert werden. Nodes können nicht IN oder OUT gesetzt werden, da dies ausschließlich implizit durch die Justifications geschieht. 26 JTMS - Propagierung JTMS Ö Assume( [B,C] ) führt zur Propagierung von B=IN und C=IN: t Justification J2 hat E zur Konsequenz t Die Propagierung endet, weil J3 nicht „aktiv“, da D=OUT A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 27 TU Berlin 27 JTMS - Propagierung JTMS Ö Assume(A) A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 28 TU Berlin 28 JTMS - Propagierung JTMS Ö Assume(A) Ö D wird geglaubt über J1. A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 29 TU Berlin 29 JTMS - Propagierung JTMS Ö Assume(A) Ö D wird geglaubt über J1. Ö F wird geglaubt über J3, die Propagierung endet. A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 30 TU Berlin 30 Rücknahme von Informationen JTMS Ö Konsequenzen und Kontradiktionen sind nicht löschbar. Ö Justifications werden nicht revidiert. t Dadurch können zirkuläre Begründungen entstehen (s.u.) Ö Assumptions können zurückgenommen werden: Assume( ¬A ) 1. setze A auf OUT. 2. Setze alle Knoten OUT, die durch A IN sind. 3. Suche alternativen Support für diese OUT-Knoten. AOT © Dr.-Ing. Stefan Fricke 31 TU Berlin 1. 2. … (durch A begründet sind) 2 und 3 natürlich nur dann, wenn A vorher IN war. 31 Beispiel OUT - Propagierung JTMS Ö Assume( ¬C ). A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 32 TU Berlin 32 Beispiel OUT - Propagierung JTMS Ö Assume( ¬C ). Ö E verliert (einzigen) Support. A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 33 TU Berlin E hat keinen alternativen Support (das wäre eine Justification, deren Antecetents alle IN sind). 33 Beispiel OUT - Propagierung JTMS Ö Assume( ¬C ). Ö E verliert Support. Ö F verliert Support. A J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 34 TU Berlin 34 Re-Support JTMS Ö Assume( ¬A ). A D verliert Support über J1. J4 J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 35 TU Berlin D -> F, F -> D ist eine so genannte monotone Schleife, da alle Vorgänger IN sein müssen, damit die Justification schaltet. 35 Re-Support: Problematik durch Zyklen Ö Assume( ¬A ). JTMS D verliert Support über J1. Ö Alternativer Support von D über J4 Ö Support von D über J4 ist unfundiert! A J4 J1 D J3 B C AOT J2 © Dr.-Ing. Stefan Fricke F E 36 TU Berlin Derartige Probleme treten nur in Zyklen auf. Die Reihenfolge der „Propagierungsbearbeitung“ spielt eine Rolle: Wenn zunächst die OUTPropagierung vollständig durchgeführt würde, könnte D nicht erneut über J4 begründet werden, da F nun OUT wäre. 36 Re-Support, 2. Beispiel Ö Assume( ¬A ). JTMS D verliert Support über J1. Ö Weiterpropagierung statt Re-Support: F verliert Support über J3. A J4 J1 D C AOT F J3 B J2 E J5 X © Dr.-Ing. Stefan Fricke 37 TU Berlin Hier endet die Weiterpropagierung, da die Konsequenz von F==OUT (nämlich D) bereits OUT ist. Monotone Zirkularitäten sind in vielen Anwendungsbereichen nützlich. Die Begründung von D ist wohlbegründet, da sie nicht zirkulär ist. Wenn die Wissensrepräsentation eine Vorberechnung der Schleifen erlaubt, (z.B. ist es notwendig, dass für Schleifen verwendete Regeln keine Variablen enthalten) dann kann das System selbständig Zirkularitäten verwalten. Das Immediate-Check TMS [Puppe 87] erledigt dies durch Markierungen Zirkelverdächtiger Schlussfolgerungen bereits beim Aufbau des TMS. 37 Re-Support JTMS Ö Assume( ¬A ). D verliert Support über J1. Ö F verliert Support über J3. A Alternativer Support von F über J5. J4 J1 D C AOT F J3 B J2 E J5 X © Dr.-Ing. Stefan Fricke 38 TU Berlin 38 Re-Support JTMS Ö Assume( ¬A ). D verliert Support über J1. Ö F verliert Support über J3. Alternativer Support von F über J5. Ö Korrekter Re-Support von D über J4. A J4 J1 D C AOT F J3 B J2 E J5 X © Dr.-Ing. Stefan Fricke 39 TU Berlin Dadurch, dass D wieder IN wird, müsste die Propagierung über J3 weitergehen. Sie endet, weil die Konsequenz von J3 (F) bereits IN ist. D wird in diesem Fall auch nicht zyklisch supported, wie man am „Weg“ X -> F -> D erkennt. 39 JTMS-Probleme mit negativen Schlussfolgerungen JTMS Ö Endlospropagierung bei ungeraden nicht-monotonen Schleifen Justify( [B], C ), Justify( [C], ¬B ). J4 - A B J1 Ö Beliefs sind reihenfolgeabhängig : Assume( [A,B], IN ) ≠ Assume( [B,A], IN ) AOT A © Dr.-Ing. Stefan Fricke C J1 J4 C1 J1 40 B C2 TU Berlin Monotone Schleifen haben wir oben bereits kennen gelernt. Nichtmonotonie bezieht sich hier auf das „Entfernen“ eines Beliefs, d.h. das OUT-Setzen als Konsequenz einer Justification. Ungerade bezieht sich auf die Anzahl der Negationen (OUT) in der Schleife. Nach assume( S1, IN ) führt die JTMS-Propagierung in eine Endlosschleife. Im Wechsel werden S1 und S2 etabliert und wieder zurückgezogen. 40 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS Ö Assumption-based TMS t Aufbau eines ATMS t Propagierung im ATMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 41 TU Berlin 41 Vom JTMS zum Assumption-based TMS (ATMS) Ö Ein JTMS berechnet die Auswirkungen der Änderung einer Assumption durch Propagation. Ö Ein ATMS berechnet die Auswirkungen der Änderung einer Assumption bereits beim Aufbau des Abhängigkeitsnetzes. Ö Schlüssel ist hierbei der Kontext eines Knoten. AOT © Dr.-Ing. Stefan Fricke 42 TU Berlin ATMS macht Reasoning in multiplen Kontexten. 42 Idee ATMS Ö Ob ein Knoten geglaubt wird, hängt von einer Menge von Assumptions ab: A J1 D J3 F B J2 E C t D=IN hängt von A und B, nicht aber von C ab. Ö Idee: Labeling der Knoten mit Mengen von Assumptions, sodass ohne Propagierung Änderungen in der Assumption-Menge direkt abgelesen werden können. AOT © Dr.-Ing. Stefan Fricke 43 TU Berlin 43 Begriffe ATMS Ö Ein Environment (E) ist eine Menge von Assumptions: t Inkonsistent genau dann, wenn ⊥ inferiert werden kann. t Konsistent genau dann, wenn nicht inkonsistent. t z.B: {}, {A}, {A, B}, {B, C}. Ö Kontext: Konsistentes Environment ∪ alle inferierbaren Knoten t “alles, was aus einer Menge von Annahmen folgt” t z.B. {A, B} ∪ {D} oder {A,C} ∪ Ø oder {A,B,C,D,E,F} A © Dr.-Ing. Stefan Fricke F J3 B C AOT D J1 E J2 44 TU Berlin 44 Environment ATMS Ö Gesucht ist das konsistente und minimale Environment eines Kontexts. Ö Beispiel: E1 = {A} E2 = {A,B,C} E3 = {B,D} E1 und E3 sind minimal, E2 ist Spezialfall von E1. AOT © Dr.-Ing. Stefan Fricke 45 TU Berlin Man spricht dabei auch vom charakteristischen Environment. E2 ist Spezialfall von E1, denn alles was aus E1=A folgt ist natürlich auch aus A und B und C. Um Charakteristisches Environment zu berechnen sind Mengenoperationen notwendig. 45 Begriffe ATMS Ö Das Label eines Knoten x ist die Menge konsistenter Environments {E1, ..., Em} in denen x gilt. Ö Spezialfälle: L = { } ist das leere Label t Es existiert kein konsistentes Environment für den Knoten x t D.h. entweder sind alle E inkonsistent oder x „hängt in der Luft“ L = { { } } ist ein leeres Environment t Der Knoten ist gültig in jedem konsistenten Environment AOT © Dr.-Ing. Stefan Fricke 46 TU Berlin 46 Eigenschaften von Labels ATMS Ö Ein Label L ist vollständig, wenn für jedes konsistente Environment E mit E L gilt: E,T╞ X ⇒ ∃Ei ∈ L : Ei ⊂ E. t “Zu jedem nicht minimalen E existiert ein minimales Ei in L” t T (Theorie) enthält alles Wissen, inklusive Regeln (Justifications) Ö Ein Label L ist minimal, wenn ∀Ei ∈ L | E ⊂ Ei ⇒ ¬( E,T╞ X ) Ö Ziel des ATMS: Berechnung der vollständigen, minimalen Label für alle Knoten. AOT © Dr.-Ing. Stefan Fricke 47 TU Berlin Formale Definition der Vollst.: Ein Label L ist vollständig, wenn für jedes konsistente Environment E mit E nicht Element von L gilt: E,T╞ X ⇒ ∃Ei ∈ L : Ei ist echte Teilmente von E. L ist minimal, wenn für jedes Ei in L, für das E eine echte Teilmenge von Ei ist gilt, dass X nicht aus E und T folgerbar ist. M.a.W., L besteht nur aus minimalen Environments, die zusammen Vollständigkeit der Folgerbarkeit garantieren. 47 Label: Beispiel ATMS Ö Label = Menge der Environments, in denen ein Knoten geglaubt wird. A B { {A} } E { {B,C} } F H { {A}, {B,C,D} } C D AOT G { {C,D} } © Dr.-Ing. Stefan Fricke 48 TU Berlin 48 IN oder OUT ist vom Label ablesbar ATMS Ö Jeder Knoten mit nicht leerem Label kann IN sein. z.B.: H ist IN im Kontext {B,C,D,X}, H ist OUT im Kontext {C,D } E A { {A} } B C D AOT H F { {A}, {B,C,D} } { {B,C} } G { {C,D} } © Dr.-Ing. Stefan Fricke 49 TU Berlin Beispiel zeigt die Bedeutung der Minimalität: Durch einfache Teilmengenbestimmung ist erkennbar, ob ein Knoten aus einer gegebenen Menge von Assumptions folgerbar ist oder nicht. 49 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS Ö Assumption-based TMS t Aufbau eines ATMS t Propagierung im ATMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 50 TU Berlin 50 Wie werden Label propagiert? ATMS Ö Disjunktionen werden „aufsummiert“ (Kombination) { {A}, {B} } ∨ { {B}, {C} } ⇒ { {A}, {B}, {C} } { {A}, {B,C} } ∨ { {B}, {C} } ⇒ { {A}, {B,C}, {B}, {C} } ⇒ { {A}, {B}, {C} } Ö Konjunktionen werden „multipliziert“ (Submengenkombination) { {A}, {B} } ∧ { {B}, {C} } ⇒ { {A,B}, {A,C}, {B,B}, {B,C} } AOT © Dr.-Ing. Stefan Fricke ⇒ { {B}, {A,C} } 51 TU Berlin Summierung und Multiplikation bei Disjunktionen bzw. Konjunktionen bewahren die Minimalität und Vollständigkeit. VerODERte Environments werden kombiniert, verUNDete Environments in allen ihren Teilmengen kombiniert. Disjunktion ist, wenn ein Knoten mehrere Justifications hat (deren Labels sind dann entsprechend zu kombinieren). Als Konjunktionen sind die Antecedents einer Justification zu behandeln, zur Berechnung des Labels für die Konsequenz. 51 Label-Propagierung A B ATMS E AOT J F I C D H G © Dr.-Ing. Stefan Fricke 52 TU Berlin Gestrichelte Asumjptions sind noch nicht bekannt / propagiert. (Nicht etwa OUT wie in den JTMS-Folien!) 52 Label-Propagierung ATMS Ö Enable( A ) A B { {A} } { {A} } E H J F I C D AOT G © Dr.-Ing. Stefan Fricke 53 TU Berlin Gestrichelte Asumjptions sind noch nicht bekannt / propagiert. Assumptions mit vollen Linien sind „enabled“, d.h. dem ATMS bekannt gemacht. Das bedeutet nicht, dass sie auch IN sind! Denn das ATMS verwaltet ja sämtliche IN/OUTPermutationen aller bekannter (enabled‘ter) Assumptions. 53 Label-Propagierung ATMS Ö Enable( B ) Anwendungsfall Label-Disjunktion A B { {A}, {B} } E H J F I C D AOT { {A}, {B} } G © Dr.-Ing. Stefan Fricke 54 TU Berlin 54 Label-Propagierung Ö Enable( C ) A B ATMS Anwendungsfall Label-Konjunktion { {A}, {B} } E H { {C} } AOT J F { {A,C}, {B,C} } I C D { {A}, {B} } { {C} } G { {C} } © Dr.-Ing. Stefan Fricke 55 TU Berlin Das Label von J berechnet sich durch die VerUNDung der Label von I und H. 55 Label-Propagierung ATMS Ö Enable( D ) A B { {A}, {B} } E H { {C} } AOT J F { {A,C}, {B,C} } I C D { {A}, {B} } { {C} } G { {C}, {D} } © Dr.-Ing. Stefan Fricke 56 TU Berlin Die Label-Konjunktion für I erbringt keine Änderung aufgrund der Minimalitätsanforderung. C ist auf jeden Fall ein Environment, und D taucht nicht alleine auf, sodass {C} auch das einzige, minimale Env. für den Knoten I ist. 56 Nogoods ATMS Ö Inkonsistente Environments werden als Nogoods repräsentiert. { {A,B} } X ⊥ Y { {A,B,C} } { {B,C} } Ö Die Semantik ergibt sich aus dem Kontext, aber… AOT © Dr.-Ing. Stefan Fricke 57 TU Berlin 57 Propagierung von Nogoods ATMS Ö Beispiel: Ausgangssituation A J1 D B C AOT © Dr.-Ing. Stefan Fricke J2 { {A,B}, {B,C} } 58 TU Berlin 58 Nogoods blockieren die Label-Propagierung ATMS Ö Nogood( E ): E und alle E‘ mit E ⊂ E‘ werden aus sämtlichen Knotenlabeln entfernt. Z.B.: Nogood( [A] ) ⊥ J3 A J1 D B { {A,B}, {B,C} } J2 C AOT © Dr.-Ing. Stefan Fricke 59 TU Berlin 59 Gliederung Ö Einleitung Ö Default Logic Ö Truth Maintenance Systems (TMS) Ö Justification-based TMS Ö Assumption-based TMS Ö Zusammenfassung AOT © Dr.-Ing. Stefan Fricke 60 TU Berlin 60 JTMS und ATMS Ö JTMS: nur ein Kontext t Knotenlabel ist entweder IN oder OUT Ö ATMS: multiple Kontexts t Knotenlabel enthält valide Environments Ö JTMS: Suchprozeduren stellen einen konsistenten Zustand her ATMS: Lösung wird aus dem Environment abgelesen Ö Die Propagierungsalgorithmen sind NP-vollständig AOT © Dr.-Ing. Stefan Fricke 61 TU Berlin 61 JTMS und ATMS im Vergleich AOT JTMS ATMS Art der Rechtfertigung Direkte Begründungen Basisannahmen Behandlung von Zirkularitäten Aufwändig Einfach Behandlung von Kontradiktionen Einfach Aufwändig Effizienz abhängig vom Vernetzungsgrad abhängig von der Menge der Assumptions © Dr.-Ing. Stefan Fricke 62 TU Berlin 62 Grundlagen der Künstlichen Intelligenz Belief Revision 01.12.2005 Dr.-Ing. Stefan Fricke [email protected] AOT Agententechnologien in betrieblichen Anwendungen und der Telekommunikation Lernziele: Verstehen, worum es in der KI geht, was ihre Wurzeln sind und wie sie sich entwickelt hat. Den Begriff des Agenten kennen lernen und die damit verknüpften Konzepte der Rationalität, Umgebung und Agentenarchitektur. Einen Überblick über die inhaltliche und organisatorische Struktur dieser LV bekommen. noch ergänzen: #3 (Obermayers Themen) #4 (Lernziele bestätigen oder ggfs. überarbeiten) Änderungen zur vorherigen Version: 1. zielorientiert und nutzenorientiert anstelle von zielgetriebenund nutzengetrieben. 2. Folienkommentare den Architekturfolien zugefügt. 63 Referenzen Ö JTMS: Doyle, J.: A truth maintenance system. Articial Intelligence, 12(3). S.231-272, 1979. Ö ATMS: J. De Kleer: An assumption based truth maintenance system. Artificial Intelligence 28, S. 127-162, 1986. Ö Stuart C. Shapiro: Belief Revision and Truth Maintenance Systems: An Overview and a Proposal. CSE Technical Report 98-10, 1998. AOT © Dr.-Ing. Stefan Fricke 64 TU Berlin 64 Anhang AOT © Dr.-Ing. Stefan Fricke 65 TU Berlin 65 Abgeschlossenheit und Konsistenz Default Logik Ö Eine Formelmenge S ist bzgl. (W, D) abgeschlossen, gdw. t W⊆S t Th(S) = S (S ist vollständige Folgerungsmenge aus W) t Falls A : B1, ..., Bn / C ∈ D, A ∈ S, ¬Bi ∉ S (1 ≤ i ≤ n), dann C ∈ S (abgeschlossen bzgl. D) Ö S ist konsistent, wenn S keine Formeln enthält, die sich nicht aus W und den Konsequenzen anwendbarer Defaults in D herleiten lassen. AOT © Dr.-Ing. Stefan Fricke 66 TU Berlin Durch eine Default-Theorie (D,W) werden „Überzeugungsmengen“ S induziert. In der Logik bezeichnet man eine Menge von Formeln F als deduktiv abgeschlossen, wenn die Menge aller Formeln, die aus einer der Formeln von F logisch folgen, gerade die Menge F ergeben. Demnach ist F nicht weiter erweiterbar. 66 Beispiel Ö W=∅ Default Logik D = { true:b/a } Ö S1 = Th( {a} ) ist abgeschlossen und konsistent Ö S2 = Th( {b} ) ist abgeschlossen, aber nicht konsistent Ö ¬b kann nicht aus W und den Konsequenzen aus D hergeleitet werden AOT © Dr.-Ing. Stefan Fricke 67 TU Berlin Aus ∅ lässt sich alles folgern 67 ATMS-Propagierungsalgorithmus ATMS Ö nach (De Kleer, 1986) Ö Propagate: Ö Update: Neue Environments zu jeder Konsequenz propagieren Ö Weave: Gegeben neue Environments, kreiere ein neues Label für einen Knoten Ö Nogood AOT © Dr.-Ing. Stefan Fricke 68 TU Berlin Unfortunately, this algorithm is NP-complete 68 ATMS: Propagate ATMS Propagate([X<=X1,...,Xn],a,I) L=Weave(a,I,{X1,...,Xn}) Update(L,X) Ö Propagate is used to trigger the ATMS, typically with the inclusion of a justification: Propagate( [X <= X1,...,Xn], Φ, { } ) AOT © Dr.-Ing. Stefan Fricke 69 TU Berlin 69 ATMS: Weave ATMS Weave(a,I,X) if X is empty, return I if X = [H|T] (i.e. a list, H=head and T=tail) if H=a, return Weave(Φ,I,T) if H≠a, let I’=set of all environments formed by computing the union of an enviroment of I and an environment of a label of H remove from I’ duplicate environments, inconsistent environments and environments that are subsets of other environments return Weave(a,I’,T) AOT © Dr.-Ing. Stefan Fricke 70 TU Berlin 70 ATMS: Update ATMS Update(L,X) if X=false, call Nogood(E) for each E in L and halt (return { }) if X≠false, Delete every E in L such that there is an E’ in the label of X and E’ is a subset of E Delete every E’ in the label of X such that there is an E in L and E is a subset of E’ Make the label of X as the union of the remaining environments for every justification J in which X appears as an antecedent call Propagate(J,X,L) AOT © Dr.-Ing. Stefan Fricke 71 TU Berlin 71 ATMS: Nogood ATMS Nogood(E) tag E as inconsistent delete E and any E’ such that E is a subset of E’ from all labels of all nodes AOT © Dr.-Ing. Stefan Fricke 72 TU Berlin 72