Belief Revision

Werbung
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
Herunterladen