Präsentation herunterladen
1
Automatisierung des Lernens
2
Inhalt: Problemstellung Prädikatenlogische Mittel Sequentielle Bedeckalgorithmen Induktive Logische Programmierung Induktion als invertierte Deduktion Erklärungsbasiertes Lernen
3
Problemstellung: Lernen = Induzieren von Regeln aus Beispielen !
Viele Patienten mit Röteln haben rote Punkte Alle Menschen mit roten Punkten haben Röteln
4
Attribute Eigenschaften, die einen Wert annehmen können Spaltenbezeichnungen in einer Tabelle Beispiel eine Zeile der Tabelle
5
Regel: IF <Vorbedingung> THEN <Nachbedingung> Vorbedingung bzw. Nachbedingung: Konjunktion (Verbindungen mit UND) von Attribut / Wert Kombinationen z.B. Wetter=sonnig UND Feuchtigkeit=hoch UND ...
6
Aufgabe: Es sollen Regeln gelernt werden, die ein Attribut (das Zielattribut) als Nachbedingung haben z.B. IF Wind=schwach UND Feuchtigkeit=niedrig THEN TennisWirdGespielt=ja
7
Sequentieller Bedeckalgorithmus
while( noch nicht alle Beispiele abgedeckt ) ruft „Learn One Rule“ auf: Learn-One-Rule(ZielAttribut, Attribute, Beispiele) Learn-One_Rule liefert neue Regel „abgedeckte“ Beispiele werden beiseite gelegt Regeln = bisher gewonnene Regeln neue Regel
8
Learn One Rule - Algorithmus
informierte „Tiefe zuerst Suche“ vom allgemeinen zum speziellen Hypothese Eine versuchsweise aufgestellte Regel Beste Hypothese Während der Suche diejenige Hypothese, mit der besten Performanz, d.h. diejenige, die die Beispiele am besten beschreibt Menge von Hypothese Kandidaten Stapel noch nicht expandierter Knoten, d.h. noch nicht ausgewerteter Kandidaten für Hypothesen
9
Neue Hypothese Kandidaten
Eine Menge von neuen Hypothese Kandidaten, die während der Suche gebildet werden Constraint Attribut / Wert Paar der Form Windstärke=stark Alle Constraints Menge aller Constraints, die in den Beispielen vorkommen
10
Problemzustand: = eine Regel-Hypothese mit dem Zielattribut Operator: jeder Constraint a=b aus „alle Constraints“ bildet einen Operator beim Expandieren eines Problemzustands wird der neue Constraint der bisherigen Hypothese mit UND hinzugefügt: alter Problemzustand: IF Windstärke=stark UND Wetter=regnerisch THEN TS = ja Operator: Feuchtigkeit=hoch neuer Problemzustand: IF Windstärke=stark UND Wetter=regnerisch UND Feuchtigkeit=hoch THEN TP = ja
11
Algorithmusidee: es werden vorhandenen Constraints systematisch mit UND zu Regel-Vorbedingungen kombiniert, und deren Wirksamkeit in der Beschreibung der Beispiele gemessen (Performanz) = informierte Suche Dabei beginnt man mit möglichst allgemeinen Hypothesen d.h. mit möglichst wenigen Constraints und expandiert diese zu spezielleren Hypothesen (mehr Constraints)
12
Performanzmaß relative Häufigkeit
n = Zahl von Beispielen, die mit der Vorbedingung der Regel übereinstimmen nc= Zahl von Beispielen aus n, bei denen das Zielattribut den Wert des Zielattributs der Regel annimmt
13
Performanzmaß Entropie:
(mißt die Gleichförmigkeit der Zielattribut Werte für den Satz S an Beispielen) S = Menge von Beispielen, die mit der Vorbedingung der Regel übereinstimmen c = Anzahl von verschiedenen Werten, die das Zielattribut annehmen kann pi= Anteil von Beispielen aus S, bei denen das Zielattribut den i-ten Wert annimmt (bessere Regeln haben höhere Werte) (Formel wie sie im beschriebenen Algorithmus verwendet wird)
15
(Fortsetzung des Algorithmus)
Initialisieren der Beste Hypothese mit der allgemeinsten Hypothese while (Menge von Hypothese Kandidaten nicht leer) 1. Erzeuge die nächst-spezifischeren Hypothese Kandidaten d.h. die Neue Hypothese Kandidaten: for jede Hypothese h in Menge von Hypothese Kandidaten for jeden Constraint c in Alle Constraints neue Spezialisierung durch Hinzufügen von c zu h Entferne alle Hypothesen, die doppelt, inkosistent, nicht maximal spezifisch 2. for jede Hypothese h aus Neue Hypothese Kandidaten: if Performanz(h) > Performanz(Beste Hypothese) h wird Beste Hypothese
16
(Fortsetzung des Algorithmus)
3. die k besten Hypothesen aus Neue Hypothese Kandidaten bilden nun Menge von Hypothese Kandidaten (Ende von while über Menge von Hypothese Kandidaten ) return Regel: IF Beste Hypothese THEN Nachbedingung wobei Nachbedingung: Zielattribut=Wert wobei Wert der häufigste Wert vom Zielattribut unter den Beispielen, die Beste Hypothese beschreibt
17
Beispiel für „Sequentielle Bedeckung + Lerne_Eine_Regel“
19
Alle Constraints : {Wetter=sonnig,Wetter=regnerisch, Luftfeuchtigkeit=gering, Luftfeuchtigkeit=hoch,Windstärke=gering, Windstärke=hoch} Kandidaten Hypothesen: IF THEN TennisWirdGespielt = ? Neue Kandidaten Hyphothesen: IF Wetter=sonnig THEN TennisWirdGespielt = ? IF Wetter=regnerisch THEN TennisWirdGespielt = ? IF Luftfeuchtigkeit=gering THEN TennisWirdGespielt = ? IF Luftfeuchtigkeit=hoch THEN TennisWirdGespielt = ? IF Windstärke=gering THEN TennisWirdGespielt = ? IF Windstärke=hoch THEN TennisWirdGespielt = ?
20
Bewertung mit Entropie:
IF Wetter=sonnig THEN TennisWirdGespielt = ? Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99 IF Wetter=regnerisch THEN TennisWirdGespielt = ? Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 IF Luftfeuchtigkeit=gering THEN TennisWirdGespielt = ? Gesamtbsp.:11; pja=6/11; pnein=5/11; Entropie=-0,99 IF Luftfeuchtigkeit=hoch THEN TennisWirdGespielt = ? IF Windstärke=gering THEN TennisWirdGespielt = ? IF Windstärke=hoch THEN TennisWirdGespielt = ?
21
Kandidaten Hypothesen (k = 1)
IF Wetter=regnerisch THEN TennisWirdGespielt = ? Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Neue Kandidaten Hypothesen IF Wetter=regnerisch UND Wetter=sonnig, IF Wetter=regnerisch UND Wetter=regnerisch, IF Wetter=regnerisch UND Luftfeuchtigkeit=gering, IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch, IF Wetter=regnerisch UND Windstärke=gering, IF Wetter=regnerisch UND Windstärke=hoch
22
Bewertung mit Entropie:
IF Wetter=regnerisch UND Wetter=sonnig, widersprüchlich ! IF Wetter=regnerisch UND Wetter=regnerisch, doppelt ! IF Wetter=regnerisch UND Luftfeuchtigkeit=gering, kein Beispiel IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 IF Wetter=regnerisch UND Windstärke=gering, IF Wetter=regnerisch UND Windstärke=hoch
23
Kandidaten Hypothesen (k = 1)
IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Neue Kandidaten Hypothesen Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=sonnig, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=regnerisch, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=gering, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=hoch, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=hoch
25
Kandidaten Hypothesen (k = 1)
IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Neue Kandidaten Hypothesen Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=sonnig, widersprüchlich ! Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=regnerisch, doppelt ! Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=gering, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=hoch, doppelt Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=hoch kein Bsp.
26
Beste Hypothese Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering, häufigste Belegung des Zielattributs mit dieser Vorbedingung: TennisWirdGespielt = nein (4 von 6) => 1. Regel: IF Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering THEN TennisWirdGespielt = nein
27
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
Learn_One_Rule beginnt von vorne:
28
Alle Constraints : {Wetter=sonnig, Luftfeuchtigkeit=gering, Windstärke=gering, Windstärke=hoch} Kandidaten Hypothesen: IF THEN TennisWirdGespielt = ? Neue Kandidaten Hyphothesen: Wetter=sonnig, Luftfeuchtigkeit=gering, Windstärke=gering, Windstärke=hoch
29
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
30
Bewertung mit Entropie:
Wetter=sonnig, Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99 Luftfeuchtigkeit=gering, Windstärke=gering, Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72 Windstärke=hoch Gesamtbsp.: 6; pja=2/6; pnein=4/6; Entropie=-0,92
31
Kandidaten Hypothesen (k = 1)
IF Windstärke=gering Neue Kandidaten Hypothesen Windstärke=gering UND Wetter=sonnig, Windstärke=gering UND Luftfeuchtigkeit=gering, Windstärke=gering UNDWindstärke=gering, Windstärke=gering UND Windstärke=hoch
32
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
33
Bewertung mit Entropie:
Windstärke=gering UND Wetter=sonnig, Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72 Windstärke=gering UND Luftfeuchtigkeit=gering, Windstärke=gering UNDWindstärke=gering, doppelt Windstärke=gering UND Windstärke=hoch widersprüchlich
34
Da bei allen Bsp. sonnig und Luftfcht. = gering:
Beste Hypothese Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering häufigste Belegung des Zielattributs mit dieser Vorbedingung: TennisWirdGespielt = ja (4 von 5) => 2. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering THEN TennisWirdGespielt = ja
35
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
=> 3. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=hoch THEN TennisWirdGespielt = nein
36
=> 1. Regel: IF Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering THEN TennisWirdGespielt = nein => 2. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering THEN TennisWirdGespielt = ja => 3. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=hoch THEN TennisWirdGespielt = nein Regeln geben zwar Aussagen für alle Beispiele Sie treffen aber nicht unbedingt immer zu Performanzwert gibt Aussage über Wahrscheinlichkeit
37
Learn One Rule positive Beispiele:
(Name1=Sharon, Mother1=Louise, Father1=Bob, Male1= False, Female1=True, Name2=Bob, Mother2=Nora, Father2=Victor, Male2=True, Female2=False, Daughter1,2=True) Daughter1,2=True (ohne Vorraussetzung) while (noch Attribute übrig) Daughter1,2=True Voraussetzung 1 neues Attribut Attribut / Wert Kombinationen Wirksamkeit in Bedeckung der Beispiele Rangliste
38
Prädikatenlogische Mittel
prädikatenlogischer Ausdruck = Literalsymbol, Prädikatsymbol,Funktionsymbol, M = Greater_than( age( Mary ), x ) Konstantensymbol, Variablensymbol
39
Horn Clause Körper Kopf IF Parent(x,y) THEN Ancestor(x,y) Kopf Körper
40
1. Ordnungsregel Ergebnis Regel propositional:
Nachteil Propositionen: Keine Beziehung zwischen den Attributwerten Lösung: Horn clause:
41
Induktive Logische Programmierung
innere Schleife des sequentiellen Bedeckalgorithmus: (input: Prädikate, die auch in den Beispielen vorkommen, z.B Father, Female) Regel: GrandDaughter(x,y) (ohne Vorraussetzung) Es wird nur nach Regeln für GrandDaughter(x,y)=True gesucht !
42
while (es werden noch negative Bindungen abgedeckt)
Kandidatenbildung: Bewertung anhand der Beispiele GrandDaughter(x,y) bisherige Regel bester Kandidat Ergebnis:
43
Algorithmus zur induktiven logischen Programmierung
Eingabe: (Ziel_Prädikat, Prädikate, Beispiele) Beispiele: Beispielprädikate mit Konstanten z.B. GrandDaughter(Victor, Sharon) Father(Sharon, Bob) Father(Tom, Bob) Female(Sharon) Father(Bob, Victor) Prädikate: Prädikatsnamen, wie sie auch in den Beispielen vorkommen, hier also Father, Female
44
StartRegel: die reine Nachbedingung (am allgemeinsten) Bilanz: Victor, Sharon, Bob, Tom 16 Kombinationen mit x,y 1 positive Bindung: 15 negative Bindungen Closed World Assumption: alles was nicht explizit wahr ist, ist falsch. Dies führt zu negative Bindungen von x, y
45
Implizite negative Beispiele:
Die Regel bedeckt auch diese negativen Beispiele ! (Denn sie besagt: „ Alle sind Enkelin von allen, auch von sich selbst“) d.h. die Regel sagt z.B. Victor ist Enkelin von Victor, dies ist aber wegen der Closed World Assumption nicht wahr. -> Spezialisierung muss weitergehen
46
nächster Schritt: Bisher vorkommende („alte“) Variablen: x, y
Neue Variablenmenge (mit einer ergänzten Variable): x, y, z Neue Regel = Alte Regel ^ neues Literal
47
Kandidatenbildung für neues Literal:
- Alle möglichen Kombinationen der Prädikate (von der Eingabe) sowie equals mit den Variablen aus der Variablenmenge. - Dabei muß in der Variablenliste jedes Kandidatenliterals mindestens ein Variable, die schon in der Regel existiert ! vorkommen (bei equals nur Variablen die schon in Regel existieren) ! - Dazu kommen alle Negationen dieser neuen Literale ! Prädikate der Eingabe: Father, Female Alle möglichen Kombinationen: Father(x,y) Father(x,z) Father(y,x) Father(y,z) Father(z,x) Father(z,y) Female(x) Female(y) Female(z) equals(x,y) equals(x,z) equals(y,x) equals(y,z) equals(z,x) equals(z,y) identisch
48
Bewertung der Kandidaten:
16 Möglichkeiten der Bindung der 4 Konstanten an x,y Keine positive Bindung ! 43 Möglichkeiten der Bindung der 4 Konstanten an x,y,z Eine positive Bindung ! 42 Möglichkeiten der Bindung der 4 Konstanten an x,y Eine positive Bindung !
49
Auswahl des Literals „Father(y,z)“
Zwar gibt es 43 Möglichkeiten der Bindung der 4 Konstanten an x,y,z aber nach wie vor 1 positives Beispiel für das Zielprädikat und 15 negative Beispiele für das Zielprädikat. (Es darf immer noch x==y und/oder x==z und/oder y==z sein) Durch Hinzunahme des Literals „Father(y,z)“ wird die Anzahl bedeckter negativer Beispiele des Zielprädikats geringer: Es gelten nur GrandDaughter Beispiele, die als zweiten Parameter dieselbe Person haben, wie ein Father Prädikat als erste Person !
50
GrandDaughter(Victor, Sharon) Father(Sharon, Bob) Father(Tom, Bob) Female(Sharon) Father(Bob, Victor) Es gibt zwei Father Beispiele: Father(Sharon,Bob), Father(Tom,Bob) positive Belegung: negative Belegungen d.h. es existiere nur noch zwei negative Belegungen
51
Nächste Iteration: Beste Hypothese: Neue Variablenmenge (mit einer ergänzten Variable): x, y, z, w Kandidatenbildung für neues Literal: - Alle Literale aus dem vorherigen Schritt - zusätzlich: Father(z,w) Father(w,z) Father(y,w) Father(w,y) Father(x,w) Father(w,x) Female(z) equal(z,x) equal(z,y)
52
Neue Hypothesen: u.s.w. mit „alten“ Literalen u.s.w.
53
Beste Hypothese Es werde „Female(y)“ gewählt Es gibt nur ein Femal Beispiele: Female(Sharon) positive Bedeckung: negative Bedeckung: - d.h. es existiert keine negative Belegung: Learn One Rule bricht ab, keine weitere Spezialisierung der Vorbedingung Für die echte Regel fehlt es an Beispielen
54
Herausfinden der besten Kandidaten
p = Zahl positiver bedeckter Beispiele, n= Zahl negativer bedeckter Beispiele 0 = vor Erweitern der Regel um Literal L, 1= nach Erweitern der Regel t = Zahl der positiven Bindungen der Regel R die noch bedeckt werden, nachdem L hinzugefügt wurde Foil_Gain = Verminderung notwendiger Bits um positive Bindungen von R zu kodieren.
55
Bewertung der Kandidaten:
neues R z.B. (mit Father(x,y)) p0=1 n0=15 4 mögliche Konstanten: Victor, Sharon, Bob, Tom Kandidaten für L Negationen binden nur negative Beispiele
56
Übung zur induktiven logischen Programmierung
-- zum Selberrechnen - versuchen Sie‘s selbst
57
Eine Anwendung des maschinellen Lernens:
Data Mining- Schürfen im Datenbergwerk Suche nach Informationsmustern in Daten Wenn Dann Regeln Entdeckung von Mustern Zusammenhänge Trends Data Mining Vorhersage Suche nach Besonderheiten
58
Zwei unterschiedliche Strategien
Data bleiben erhalten Nächster Nachbar Entscheidungsbaum logisch Induktion von Regeln Daten werden „destilliert“ Statistik Gleichungen Neuronale Netze
59
Nächster Nachbar Methode
Vorhersage von Eigenschaften Beispiel: Ist ein neuer Bankkunde eventuell an Aktienfonds interessiert ? Attribute von vorhandenem Kunden werden mit Attributen von neuem Kunden verglichen Ja Nein Werbematerial zusenden. Werbematerial nicht zusenden. Hat „ähnlichster“ Alt- Kunde Aktienfonds ? Speicheraufwand! -> Datensatz auf Typische einschränken
60
Data bleiben erhalten Nächster Nachbar Entscheidungsbaum logisch Induktion von Regeln Daten werden „destilliert“ Statistik Gleichungen Neuronale Netze
61
Entscheidungsbaum Beispiel: Wann ist der Gewinn einer deutsche Firma im Ausland hoch ?
62
Entscheidungsbaum Schmidt blau Hoch China Jung rot Mittel Start Niederlande Alberts blau Hoch Jung grün Mittel Japan Niedrig
63
Entscheidungsbaum Problem: In welcher Reihenfolge werden die Attribute angewandt ?
64
blau Hoch Japan Niedrig Start grün Niederlande Mittel Japan Niedrig rot China Mittel
65
Induktion als invertierte Deduktion
Nur Regeln erzeugen, die auf Beispiele passen B: Hintergrundwissen h: Hypothese xi: Beispiel f: Zielprädikat
66
Konstruktion von C2
67
Erklärungsbasiertes Lernen
Jedes Beispiel wird anhand von Hintergrundwissen mit Blick auf das Zielkonzept erklärt. z.B. es ist sicher x auf y zu stapeln, da y nicht zerbrechlich ist Beispiel: Glas auf einen Holzklotz zu stapeln ist sicher. Holzklotz ist nicht zerbrechlich. Holzklotz ist braun. Mit dieser Erklärung werden die relevanten von den nicht relevanten Eigenschaften getrennt. Mit Hintergrundwissen wird der Hypothesenraum deduktiv verringert
68
Zielkonzept: positives Beispiel: „Domänentheorie“: = Hintergrundwissen
SafeToStack(Obj1, Obj2) Konstanten groß geschrieben Variablen klein geschrieben „Domänentheorie“: = Hintergrundwissen
69
Das Beispiel wird aus dem Hintergrundwissen erklärt
Das Zielkonzept wird (irgenwie) aus den anderen Prädikaten des Beispiels deduktiv abgeleitet Anwendung von PROLOG
70
Erklärungsbaum Prolog SafeToStack(Obj1,Obj2) Lighter(Obj1,Obj2)
Weight(Obj1,0.6) Weight(Obj2,5) Volume(Obj1,2) Density(Obj1,0.3) Equal(0.6,2*0.3) LessThan(0.6,5) Type(Obj2,Endtable)
71
Verallgemeinerung Durchgehen des Erklärungsbaums von der Wurzel aus Ebene um Ebene Geltungsbereich der Variablen der Literale ausdehnen, soweit es die Regeln der Domänen Theorie zulassen
72
Verallgemeinerung SafeToStack(Obj1,Obj2) Lighter(Obj1,Obj2)
Weight(Obj1,0.6) Weight(Obj2,5) Volume(Obj1,2) Density(Obj1,0.3) Equal(0.6,2*0.3) LessThan(0.6,5) Type(Obj2,Endtable) Verallgemeinerung
73
Maschinelles Lernen Wie kann man die Erklärungskette verallgemeinern ?? Lösung: Man fängt mit dem allgemeinsten Zielprädikat an, und spezialisiert pro „Regelkopf zu Regelkörper Schritt“ gerade nur soviel, wie irgend nötig. -> Unifikation von Regelkopf mit Regelkörper Term = Konstante; Variable; Funktion; Suchen nach dem Unifikator von zwei Prädikaten: Bsp.: abgeben(x,Geld) und abgeben(Otto,y) was ist das allgemeinste Prädikat „abgeben(v,w)“ das sich aus den obigen Prädikaten gerade noch ableiten läßt ?? Wenn man x durch Otto und y durch Geld ersetzt -> Unifikator = {Otto/x, Geld/y} -> abgeben(Otto, Geld)
74
Maschinelles Lernen Variable x: Werte können aus dem gesamten Wertebereich kommen Funktion f(x): Werte kommen aus einem Teil des Wertebereichs Konstante a: Ein Wert des Wertebereichs Mögliche Ersetzungen bei denen P wahr bleibt: P(x) zu P(f(x)) P(x) zu P(a) P(x) zu P(y) wenn x und y aus der gleichen Wertemenge kommen Ersetzungen, bei denen man nicht garantieren kann, das P wahr bleibt: P(f(x)) zu P(a) a ist möglicherweise nicht in der Menge , die durch die f(x) gebildet wird P(f(x)) zu P(g(x)) g(x) und f(x) beschreiben nicht die gleiche Menge
75
Maschinelles Lernen C1 C2 _ _ _ _ _ _ ... _ _ _ _ _ _ ... Position k = 1 Position k = 1 Zeichen an Position k vergleichen - k weiterrücken bis Ende Sobald verschiedene Zeichen: Wenn in C1 (bzw. C2) eine Variable an Position k beginnt, wird sie durch den an k beginnende Term von C2 (bzw. C1) ersetzt Die Ersetzung wird in einer Liste vermerkt Wenn verschiedene Zeichen, aber keine Variable => nicht unifizierbar
76
Maschinelles Lernen Beispiele: y wird durch f(z) ersetzt {P(x,f(z)), P(h(a),y)} Unifikator: {h(a)/x, f(z)/y} {P(h(g(u))), P(g(h(x)))} nicht unifizierbar {P(x, f(a,b), h(a)), P(f(z,v),x,h(z))} z, x, y Variablen a, b Konstanten Unifikator {f(a,b)/x, a/z, b/v} {P(x, f(z,x), h(a)), P(f(a,b),x, h(x))} nicht unifizierbar
77
zugehörige Regel= SafeToStack(Obj1,Obj2) SafeToStack(x,y)
Ligther(Obj1,Obj2) Ligther(x,y) Weight(Obj1,0.6) Weight(x,wx) LessThan(0.6,5) LessThan(wx,wy) Weight(Obj2,5) Weight(y,wy) Equal(0.6,2*0.3) Equal(wx,vx*dx) Density(Obj1,0.3) Density(x,dx) Volume(Obj1,2) Volume(x,vx) LessThan(wx,5) Type(Obj2,Endtable) Type(y,Endtable) zugehörige Regel=
78
Literal aus der Regel z.B. weight(x,w) aus Literal aus der „Frontlinie“ z.B. weight(y,wy)
79
zugehörige Regel= 1. Schritt Literal der Frontlinie: SafeToStack(x,y)
Unifikation von Literal der Frontlinie mit Kopf der Regel : {x/x, y/y} Ersetzung wird in der ganzen Frontlinie durchgeführt: nichts zu tun Kopf wird durch Regelkörper ersetzt: „Frontlinie“ wird verändert Frontlinie:
80
zugehörige Regel= 2. Schritt Literal der Frontlinie:
Unifikation von Literal der Frontlinie mit Kopf der Regel : {x/x, y/y} Ersetzung wird in der ganzen Frontlinie durchgeführt: nichts zu tun „Frontlinie“ erweitert: Literal wird durch Regelkörper ersetzt: Frontlinie:
81
zugehörige Regel= 4. Schritt Literal der Frontlinie:
Unifikation von Literal der Frontlinie mit Kopf der Regel : {y/y, wy/5} Ersetzung wird in der ganzen Frontlinie durchgeführt: „Frontlinie“ erweitert: Literal wird durch Regelkörper ersetzt:
82
zugehörige Domänentheorie:
2. Beispiel abgeben(Mary, Geld); zeigtMitGewehrAuf(John, Mary); verlangtGeldVon(John, Mary) zugehörige Domänentheorie:
83
„Schliess-Baum“ abgeben( Mary , Geld) mehrWert (Leben,Geld)
abgebenMüssenXOder ( ,Leben,Geld) zeigtMitGewehrAuf John , ) verlangtGeld
84
passende Regel (laut „Schliess-Baum“)
verallgemeinerter Ausdruck passende Regel (laut „Schliess-Baum“) abgeben(x,y) mehrWert(x‘,y‘)abgebenMüssenXOder(z‘,x‘,y‘) abgeben(z‘,y‘) Unifikation des Regelkopfs mit dem verallgemeinerter Ausdruck : (das allgemeinere wird durch das speziellere ersetzt. x und x‘ sind gleich allgemein, y und y‘ auch -> es ist egal wie ersetzt wird, nur es muss AUCH in der LiteralFront ersetzt werden !!) {neu / alt} {x/z‘, y/y‘} unifizierte Regel: mehrWert(x‘,y)abgebenMüssenXOder(x,x‘,y) abgeben(x,y) ersetzen von Literalen mit Hilfe von Regeln „Front der Literale“ mehrWert(x‘,y)abgebenMüssenXOder(x,x‘,y) abgeben(x,y) verallgemeinerter Ausdruck passende Regel (laut „Schliess-Baum“) mehrWert(x‘,y) TRUE mehrWert(Leben,x‘‘) Unifikation des Regelkopfs mit dem verallgemeinerter Ausdruck : (Leben ist spezieller als x‘, y und x‘‘sind gleich allgemein) {Leben/x‘, y/x‘‘} unifizierte Regel: TRUE mehrWert(Leben,y) „Front der Literale“ (nach Unif. und ersetzen des Literals durch den Regelkörper) ersetzen von Literalen mit Hilfe von Regeln TRUEabgebenMüssenXOder(x,Leben,y) abgeben(x,y)
85
Keine weiteren Regeln mehr im „Schliess-Baum“
verallgemeinerter Ausdruck passende Regel (laut „Schliess-Baum“) abgebenMüssenXOder(x,Leben,y) zeigtMitGewehrAuf(x‘‘‘,y‘‘‘) verlangtGeld(x‘‘‘,y‘‘‘) abgebenMüssenXOder(y‘‘‘,Leben,Geld) Unifikation des Regelkopfs mit dem verallgemeinerter Ausdruck : (das allgemeinere wird durch das speziellere ersetzt. y‘‘‘ und x sind gleich allgemein, Leben und Leben sind gleich (sonst wäre gar keine Unifikation möglich, denn beides sind Konstanten !), Geld ist spezieller als y ) {neu / alt} {x/y‘‘‘, Geld/y} unifizierte Regel: zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgebenMüssenXOder(x,Leben,Geld) „Front der Literale“ (nach Unif. und ersetzen des Literals durch den Regelkörper) TRUE zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgeben(x,Geld) Keine weiteren Regeln mehr im „Schliess-Baum“ TRUE kann weggelassen werden, wegen UND Verknüpfung Aus dem Beispiel gelernte Regel lautet: zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgeben(x,Geld)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.