1.52k likes | 1.76k Views
Wo stehen wir?. Lernverfahren: Top Down Induction of Decision Trees Begriffslernen kNN “ SVM “ Least general generalization “ Generalisierte -Subsumtion “ RDT, RDT/dm Regellernen STT Lernen eines Verbands Apriori Finden häufiger Mengen FPgrowth “
E N D
Wo stehen wir? • Lernverfahren: • Top Down Induction of Decision Trees Begriffslernen • kNN “ • SVM “ • Least general generalization “ • Generalisierte -Subsumtion “ • RDT, RDT/dm Regellernen • STT Lernen eines Verbands • Apriori Finden häufiger Mengen • FPgrowth “ • Winepi (zeitlich) “ • K-Means Clustering
Bisher nur (gewichtete) Attribute zur Beschreibung der Beispiele (LE) zur Beschreibung der Begriffe (LH) Ausführbar ist das Lernergebnis nur als Entscheidungsfunktion für das Erkennen. Hintergrundwissen kann nur in der Vorverarbeitung z.B. durch gezieltes Sampling einbezogen werden. Relationen und Beziehungen zwischen Relationen können nicht durch Attribute ausgedrückt werden. Logische Programme können Entscheidungsfunktionen ausdrücken und mehr. Auch Hintergrundwissen kann in logischen Programmen ausgedrückt werden. Induktive Logische Programmierung
bettina berta carlos carla christa christoph dieter doris Formulieren mit Attributen • Prinzipiell können Relationen bei einem endlichen Universum als Attribute formuliert werden, aber • unübersichtlich, schwer zu lesen • man kann dann nicht auf Relationen Bezug nehmen. • Attribute: mutter_bettina, mutter_berta, mutter_carla, mutter_christa,... gattin_doris, gattin_carla, gattin_christa... mutter_carla=gattin_carla?
Induktive Logische Programmierung ILP -- Vorteile • Relationen aus Datenbanken können direkt als logische Relationen genutzt werden. • ILP lernt logische Programme mit bestimmten Beschränkungen, d.h. • LH ist eine eingeschränkte Prädikatenlogik. • Lernen erhält eine wohl definierte Semantik. • Hintergrundwissen kann einbezogen werden.
Anwendungen • Planung • Robotik (Beziehung zwischen Wahrnehmung und Handlung) • Telekommunikation: Sicherheitsstrategien für den Zugriff in offenen, verteilten Systemen • Spracherwerb: Grammatiken können als logisches Programm geschrieben werden. • Bioinformatik: Beziehung zwischen chemischer Struktur und Wirkung von Medikamenten • Ingenieurswesen: Finite Element Mesh Design
Lernen als Suche • Spezialisieren, so dass negative Beispiele ausgeschlossen sind • Generalisieren, so dass positive Beispiele abgedeckt werden • Ordnung des Hypothesenraums ermöglicht sicheres Beschneiden: • Wenn C bereits ein positives Beispiel ausschließt, kann auch keine Spezialisierung von C dies Beispiel abdecken. • Wenn C bereits ein negatives Beispiel abdeckt, so kann auch keine Generalisierung von C dies Beispiel ausschließen.
Deduktion Klausel: mutter(X,Y) mutter(Y,Z) oma(X,Z) Fakten: mutter(doris, christa) mutter(christa, berta) Ableitung: X\doris, Y\christa, Z\berta oma(doris, berta) Induktion Beispiele: mutter(doris, christa), mutter(christa, berta), oma(doris, berta) ¬oma(christa,doris) mutter(detlef, carla), mutter(carla, bettina), oma(detlef, bettina) ¬oma(bettina,carla) ... Lernergebnis: mutter(X,Y) mutter(Y,Z) oma(X,Z) Induktion als inverse Deduktion
ILP Lernaufgabe Begriffslernen • Gegeben positive und negative Beispiele E=E+ E- in einer Sprache LE, Hintergrundwissen B in einer Sprache LB, wobei B H nicht widersprüchlich ist, • Finde eine Hypothese H in einer Sprache LH, so dass • B, H, E sind widerspruchsfrei (Konsistenz) • B,H |= E+ (Vollständigkeit) • für kein e in E- gilt: B,H |= e (Korrektheit) • LH ist (eingeschränkte) Prädikatenlogik.
Logik • Deduktion: logische Folgerung durch Ableitung modelliert. Hornlogik • Eine Formel C ist eine Hornformel, wenn C in konjunktiver Normalform ist und jedes Disjunktionsglied (Klausel) höchstens ein positives Literal enthält.C= (A v ¬B) (D v ¬A v ¬C) (¬A v ¬B) D ¬E (BA) (A C D) (A B f) (wD) (Ef) {A , ¬B} {D, ¬ A, ¬ C} {¬ A, ¬ B} {D} {¬E} • Eine Methode für die Ableitung in Hornlogik ist die Resolution.
Resolution • Seien C1, C2 Klauseln. R ist Resolvent von C1 und C2, wenn es ein Literal L in C1 gibt, dessen Negation in C2 ist. R=(C1-{L}) (C2-{L}). • Widerspruchsbeweis einer Aussage A durch Hinzufügen von deren Negation zu den bekannten Aussagen und Ableitung der leeren Aussage per Resolution. C1= {A v B} C2= {B v C} C3={C} L= B, L=B R= {A v C} {C} {A} {A}
Unifikation • Wenn das Literal, das herausgeschnitten werden soll, noch Variablen enthält, müssen diese erst so substituiert werden, dass L und ¬L bis auf das Vorzeichen gleich sind. • Nicht zu stark spezialisieren: {p(X), ¬q(g(X))} {¬p(f(Y))} Klauseln variablendisjunkt! X\f(Y) Unifikation zu p(f(Y)) {¬q(g(f(Y)))} nicht schon Y\a substituieren! • Unifikationssatz (Robinson): Jede unifizierbare Menge von Literalen besitzt auch einen allgemeinsten Unifikator.
Allgemeinster Unifikator (mgu) • Eine Substitution s ist ein Unifikator einer endlichen Menge von Literalen L={L1, L2,...,Lk} gdw. L1s=L2s=...=Lks. • Ein Unifikator s heißt allgemeinster Unifikator von L, wenn für jeden anderen Unifikator s1 von L gilt, dass es eine Substitution s2 gibt, so dass Ls s2 = Ls1 {p(X), ¬q(g(X))} {¬p(f(Y))} s = {X\f(Y)} {¬q(g(f(Y)))} s1 ={X\f(Y), Y\a} {¬q(g(f(a)))} s2 ={Y\a}
{L1, L2} s s1 si L1s =L2s s2 sj ss2= s1 ssj= si ... Unifikatoren • Die Unifikatoren sind nach Allgemeinheit geordnet. • Dadurch sind auch unifizierbare Literale nach Allgemeinheit geordnet:Das größte gemeinsame Unterelement (Infimum) von L1 und L2 ist L1s = L2s , wobei s der mgu ist.
Unifikationsalgorithmus Gegeben eine Menge L von Literalen. s:={} while |Ls|>1 do Suche in den Literalen in Ls von links nach rechts nach der ersten Position, an der zwei Literale sich unterscheiden.Wenn an der Position keine Variable steht, stop “nicht unifizierbar”. SonstWenn X die Variable und t der im anderen Literal beginnende Term ist, wenn X in t vorkommt, stop “nicht unifizierbar”, sonst s:= s {X\t}
Beispiel L={¬p(f(Z,g(a,Y)),h(Z)), ¬p(f(f(U,V),W),h(f(a,b)))} s:={Z\f(U,V)} Ls={¬p(f(f(U,V),g(a,Y)),h(f(U,V))), ¬p(f(f(U,V),W),h(f(a,b)))} s:={Z\f(U,V),W\g(a,Y)} Ls={¬p(f(f(U,V),g(a,Y)),h(f(U,V))), ¬p(f(f(U,V),g(a,Y)),h(f(a,b)))} s:={Z\f(U,V),W\g(a,Y), U\a} Ls={¬p(f(f(U,V),g(a,Y)),h(f(a,V))), ¬p(f(f(U,V),g(a,Y)),h(f(a,b)))} s:={Z\f(U,V),W\g(a,Y), U\a, V\b} Ls={ ¬p(f(f(U,V),g(a,Y)),h(f(a,b)))} |Ls| =1
Verband der Atome bzgl. Allgemeinheit1.Schritt: Unifikation • Sei A eine Menge von Atomen, dann gibt es für alle A, B in A ein größtes gemeinsames Unterelement G(A,B). • Wenn A oder B {} sind, ist G(A,B)={}. Wenn A all ist, ist G(A,B)=B, wenn B {} ist, ist G(A,B)=A. • Wenn A und B nicht unifizierbar sind, ist G(A,B)={}. • Wenn A und B unifizierbar sind durch mgu s, dann ist G(A,B)=As=Bs. Nienhuys-Cheng, de Wolf (1997) “Foundations of Inductive Logic Programmming”, Springer
Was wissen wir jetzt? • Ausdruckskraft: ILP hat als Hypothesensprache LH eine eingeschränkte Prädikatenlogik (logisches Programm). • Ausführbarkeit: Logische Programme sind ausführbar und nicht auf eine Erkennungsfunktion beschränkt. Lernergebnis kann in andere Klauseln eines Programms direkt eingebettet werden. • Die Lernaufgabe des Begriffslernens beinhaltet Hintergrundwissen. • Unifikation spezialisiert, der mgu liefert das Infimum im Verband der Atome.
Generalisierung • Wir suchen eine Hypothese, so dass H |= E+, verwenden also zum Prüfen die logische Folgerung. • Die Suche soll in einem nach Allgemeinheit geordneten Raum erfolgen. • Wann ist eine Formel allgemeiner als eine andere? • Implikation • Subsumtion
Generalisierung: Implikation • Genereller als:Eine Hornklausel D ist genereller als eine andere, C, gdw.D C D ist genereller als C bezüglich B, gdw. B, D C • Äquivalenz: Sei B eine Konjunktion von Hornklauseln, dann sind die Klauseln D und C logisch äquivalent bzgl. B gdw. B, D C und B, C D • Redundanz : Ein Literal L ist redundant in einer Klausel C bzgl. B gdw. C und C \ {L} sind äquivalent bzgl. B.
Beispiel Generalisierung B: {append ([ ], C, C)} C: {append ([1,2], [3], [1,2,3])} D: {¬ append (B, C, E), append( [A | B], C, [A | E])} D, B C append ( [A | B], C, [A | E]) , ¬ append (B, C, E). {A/1, B/[2], C/[3], E/[2,3]} append ( [A | B], C, [A | E]) , ¬ append (B, C, E). {A/[2], B/ [], C/ [3], E / [3]} append ([ ], C, C). {C / [3]} ¬ append ([1,2], [3], [1,2,3]). ¬ append ([2 | [] ], [3], [2,3]). ¬ append ( [ ], [3], [3]). Beweis von C mithilfe von B und D
Beispiel Redundanz • B: {member( X, [ X| Y])} • C: {member ( X, [ Y|Z]), ¬member (X, Z), ¬member( Y, (Y |Z]). • C': C \ {¬member( Y, (Y | Z])} ist äquivalent zu C bzgl. B. • B, C C' und B, C' C • B beschreibt den Fall, dass das Element am Anfang der Liste steht. • C' beschreibt den Fall, dass das Element im Rest der Liste steht. • C beschreibt beide Fälle.
Nachteile • Um für eine Menge von Beispielen die Generalisierung zu finden, müssen wir die Klausel(n) finden, die alle Beispiele impliziert! Dies ist zu aufwendig! (Semi-Entscheidbarkeit der logischen Folgerung in der Prädikatenlogik.) • Der Hypothesenraum ist nicht so strukturiert, dass bei jedem Generalisierungsschritt der Ausschnitt der erreichbaren Hypothesen kleiner wird. • Also ist die Implikation als Generalisierungsbeziehung nicht geeignet.
Generalisierung: Subsumtion • Eine Hornklausel D ist genereller als eine andere, C, gdw.D subsumiert C. • Ein Literal L1 subsumiert ein Literal L2 gdw. L1s = L2. • Eine Klausel D subsumiert eine andere, C, gdw. D C • Die Subsumtion ist eine korrekte, aber nicht vollständige Ableitung, d.h. „C1 subsumiert C2“ |= „C1 impliziert C2“, aber nicht umgekehrt.
Beispiel Generalisierung D: {member ( X, [ Y| Z]), member(X,Z)} C: {member ( 3, [1,2,3]), member(3, [2,3]), member(3, [3])} s: { X/3, Y/1, Z/ [2,3] } Dkopfs = member (3, [1 | [2,3]) = Ckopf Dkörpers = member (3, [ 2, 3]) Ckörper Nicht alles, was unter der Implikation eine Generalisierung ist, ist es auch unter der Subsumtion! B: {append ([ ], C, C)} D: {append( [A | B], C, [A | E]), append (B, C, E)} C: {append ([1,2], [3], [1,2,3])} B, D C aber D subsumiert nicht C, denn hier kann Generelleres nicht länger sein als Generalisiertes. Die Subsumtion berücksichtigt B nicht.
echt genereller • Zwei Klauseln D und C sind äquivalent, wenn gilt: D subsumiert C und C subsumiert D. • Eine Klausel D ist echt genereller als eine andere, C, gdw. D subsumiert C und D ist nicht äquivalent C.
Redundanz • Ein Literal L in der Klausel C ist redundant, wenn gilt:C subsumiert C \ {L}. • Eine Klausel heißt reduziert, wenn sie keine redundanten Literale enthält. • Algorithmus, der eine Klausel C reduziert (Plotkin): • Initialisiere D mit C. • Finde ein Literal in D und eine Substitution s, so dassDs D \{L}.Gelingt dies nicht, STOP. • D:= Ds, gehe zu 2. • Die reduzierte Form einer Klausel ist eindeutig.
Beispiel Redundanz C1: {member(X, [Y | Z ]), member(X, Z), member (X, U)} s ={U/Z} C1 s C1' \ { member (X, U) } C1 s: {member(X, [Y | Z ]), member(X, Z)} = C1 \ { member (X, U)}: {member(X, [Y | Z ]), member(X, Z)}
Vor-/ Nachteile • Vorteil:Der Hypothesenraum wird schrittweise eingeschränkt. • Nachteile: • Hintergrundwissen wird nicht berücksichtigt. • Die Reduktion ist exponentiell in der Anzahl der Literale (alle möglichen Teilmengen der Klausel müssen gebildet werden).
Least General GeneralizationGordon Plotkin LGG (C1, C2): • Für alle Paare von Literalen L1i C1, L2i C2, suche die mit gleichem Prädikatensymbol und gleichem Vorzeichen heraus -- bilde LGG ( L1i , L2i ) • Die Generalisierung von C1 und C2 ist die Vereinigung aller generalisierten Literale. • Aus dieser Generalisierung werden alle redundanten Literale entfernt.
Generalisierung von LiteralenAnti-Unifikation Zwei Literale mit demselben Prädikatsymbol und Vorzeichen p(s1, ..., sn) p (t1, ...., tn) von links nach rechts durchgehen • LGG (si, ti) = X, falls si, ti konstante Terme oder Variablen ungleich X sind; • LGG (f(s1, ..., sn), f(t1, ..., tn)) = f ( LGG(s1, t1), ..., LGG(sn, tn) ) • LGG (f(s1, ..., sn), g(t1, ..., tm)) = X
Beispiel L1: unterhalt (ulf, maria, alimente(ulf, 1000)) L2: unterhalt(udo, marion, alimente(udo,300)) LGG(L1, L2): unterhalt (X, Y, alimente(X, V)) 1:{X\ulf, Y\maria, V\1000} 2:{X\udo, Y\marion, V\300} Für jede andere Generalisierung G(L1, L2) gibt es eine Substitution, so dass G(L1, L2)s = LGG(L1, L2).
Verband der Atome bzgl. Allgemeinheit 2. Schritt: Anti-Unifikation • Sei A eine Menge von Atomen, dann gibt es für alle A, B in A ein kleinstes gemeinsames Oberelement LG(A,B). • Wenn A oder B all sind, ist LG(A,B)=all. Wenn A {} ist, ist LG(A,B)=B, wenn B {} ist, ist LG(A,B)=A. • Wenn A und B verschiedene Prädikatensymbole haben, ist LG(A,B)=all. • Wenn A und B gleiche Prädikatensymbole haben, dann ist LG(A,B)=LGG(A,B). Nienhuys-Cheng, de Wolf (1997) “Foundations of Inductive Logic Programmming”, Springer
Beispiel Unifikation, Anti-Unifikation LG(A,B)=p(Z1,Z2,f(Z2)) A=p(a,X,f(X)) B=p(Y,f(b),f(f(b))) G(A,B)=p(a, f(b), f(f(b)))
LGG (C1, C2) C1: {member(2, [1,2]), ¬member (2, [2])} C2: {member (c, [a, b, c]), ¬member(c, [b,c]), ¬ member (c, [c])} alle Paare: [¬ m(2, [2]), ¬ m(2, [2]), ¬m(2, [2]), m(2, [1,2]), m(2, [1,2]), m(2, [1,2]) ] [¬ m(c, [b,c]), ¬ m((c, [c]), m(c, [a, b, c]), ¬m(c, [b,c]), ¬m((c, [c]), m(c, [a, b, c]) ] LGG ( ¬m(2, [2]), ¬m(c, [b,c]) ) = ¬m(A, [C|D]) LGG ( ¬m(2,[2]), ¬m(c, [c]) ) = ¬m(A, [A]) LGG ( m(2, [1,2]), m(c, [a, b, c]) ) = m( A, [B, C|D]) LGG (C1, C2) = {m( A, [B, C|D]), ¬m (A, [C|D]), ¬m (A, [A]). Bei jedem Literal probieren, ob es weggelassen werden kann, ohne zu generalisieren. Dieser Schritt ist leider NP-schwierig, weil der Subsumtionstest NP-schwierig ist.
Eigenschaften des LGG • kommutativlgg ( e1, e2 ) = lgg ( e2, e1 ) • assoziativlgg ( lgg ( e1, e2 ), e3) = lgg ( e1, lgg ( e2, e3 ) ) • idempotentlgg ( e, e ) = e • Das bedeutet auch: reihenfolgeunabhängiglgg ( e1, e2, ..., en ) = lgg ( ... lgg ( lgg ( e1, e2 ), e3 ), ... en) • und eindeutig. • In einem Verband von Äquivalenzklassen von Klauselnist das Supremum zweier Klauseln ihr LGG.
Aufwand Die gute Nachricht: • Die Länge des LGG ist linear in der Anzahl der Selektionen. • Der Aufwand der Generalisierung ist linear in der Anzahl der Selektionen. Die schlechte Nachricht: • Hat die längste Klausel in den Beispielen m Literale und gibt es n Klauseln als positive Beispiele, dann gibt es höchstens mn Selektionen. • Es werden also exponentiell viele Selektionen in linearer Zeit bearbeitet. • Und dann kommt die Reduktion, die für jedes Literal noch einmal den aufwändigen Subsumtionstest braucht...
Was wissen wir jetzt? • Wir wollten eine Allgemeinheitsordnung zwischen Klauseln, um Lernen als Suche zu modellieren. • Über die Implikation war die Ordnung zu aufwändig. • Über die Subsumtion ist die Allgemeinheitsordnung gegeben. • Wir haben den Verband über den Literalen (bzw. Atomen) vervollständigt: • das Infimum zweier Atome ist über die Unifikation gegeben • das Supremum zweier Atome ist über die Anti-Unifikation gegeben. • Der lgg ist ein Operator, der die Subsumtion für die Generalisierung ausnutzt.
Hintergrundwissen • Einer der Vorteile von ILP sollte die Berücksichtigung von Hintergrundwissen sein. • Bisher haben wir • aus zwei positiven Beispielen deren Generalisierung gelernt, • entschieden, ob eine Klausel genereller als eine andere ist. • Jetzt wollen wir entscheiden, ob eine Klausel bzgl. Hinergrundwissen allgemeiner ist als eine andere.
B: haustier (X), tier(X), im_haus (X) D: kuscheltier (Z), flauschig (Z), tier (Z), im_haus (Z). C: kuscheltier (Y), flauschig (Y), haustier (Y). D ist genereller als C, denn B, C |- D B: C: haustier, ¬ tier, ¬ im_haus kuscheltier, ¬ flauschig, ¬ haustier D: kuscheltier, ¬ flauschig, ¬ tier, ¬ im_haus Semantik D ist genereller als C bzgl. B, wenn in jeder Interpretation I, die B wahr macht, für alle Atome A gilt: wann immer C auf A zutrifft, trifft auch D auf A zu. Hintergrundwissen
Subsumtion bzgl. HintergrundwissenPlotkin • D ist genereller als C bezüglich einer Theorie B, gdw. B, D |-- Cwobei D in der Ableitung höchstens einmal vorkommt. B: kuscheltier (X), ¬flauschig (X), ¬klein (X), ¬haustier (X). haustier (X), ¬katze (X). D: klein (X), ¬katze (X). C: kuscheltier (X), ¬flauschig (X), ¬katze (X). • Nachteil: D handelt von anderem als C!
Ableitung B {kuscheltier (X), ¬ flauschig (X), ¬ klein (X), ¬ haustier (X)} B {haustier (X), ¬ katze (X)} {kuscheltier (X), ¬ flauschig (X), ¬ klein (X), ¬ katze (X)} D {klein (X), ¬ katze (X)} C {kuscheltier (X), ¬ flauschig (X), ¬ katze (X)}
Generalisierte SubsumtionBuntine D ist genereller als C bzgl. B, gdw. • es gibt eine Substitution q, so daß Dkopf = C kopf • es gibt eine Skolemsubstitution s, die alle Variablen in C durch neue Konstanten ersetzt • es gibt einen Klauselkörper D mit den Substitutionen, so dass B Ckörpers |= (Dkörperqs) Die generalisierte Subsumtion entspricht dem Resolutionsbeweis von B,D |-- C, wenn D genau einmal im ersten Resolutionsschritt verwendet wird.
B {haustier(X), ¬ tier (X), ¬ im_haus (X)} Beispiel 1 D ≥ C bzgl. B ? Dkopfq = C kopf kuscheltier (Y)q = kuscheltier (Z) mit q = {Y/Z} B, C körpers |= (D körperqs) s:{Z/b} B: {haustier (X), tier (X), im_haus (X)} C: {kuscheltier (Z), flauschig (Z), tier (Z), im_haus (Z)} D: {kuscheltier (Y), flauschig (Y), haustier (Y)} {¬ flauschig (b), ¬ haustier(b)} s:{Z/b} s1: {X/b} {¬ tier (b), ¬ im_haus(b), ¬ flauschig (b)} = D körperqs ja!
B {haustier(X), ¬ tier (X), ¬ im_haus (X)} Beispiel 1 cont’ed B: {haustier (X), tier (X), im_haus (X)} C: {kuscheltier (Z), flauschig (Z), tier (Z), im_haus (Z)} D: {kuscheltier (Y), flauschig (Y), haustier (Y)} C ≥ D bzgl. B ? Ckopf q = Dkopf kuscheltier (Z)q = kuscheltier (Y) mit q = {Z\Y} B, D körpers |= (C körperqs) s:{Y/b} {¬ flauschig(b), ¬haustier(b)} s={Y\b} s1={X\b} {¬flauschig(b),¬ tier(b), ¬im_haus(b)} = Ckörperqs ja!
Skolemisierung D soll nicht genereller sein als C B: haustier (X):- tier (a), im_haus (X). D: kuscheltier (Y):- flauschig (Y), tier(a), im_haus(Y). C: kuscheltier (Z):- flauschig(Z), haustier (a). Dkopfq = C kopf kuscheltier (Y) q = kuscheltier (Z) mit q = {Y/Z} B, C körpers |-- D körperq s B {haustier (X), ¬ tier (a), ¬ im_haus (X)} C körper {¬flauschig (b), ¬ haustier (a)} s: {Z/b} s1: {X/a} {¬ flauschig (b), ¬ tier(a), ¬ im_haus(a)} ≠ {¬ flauschig(b), ¬ tier(a), im_haus(b)} Dkörperq s
Generalisierte Subsumtion operational • Gegeben zwei Mengen von funktionsfreien Hornklauseln. • Zu zeigen ist, dass eine Menge genereller als die andere ist. • Vergleich aller einzelnen Klauseln der Mengen. • D ist genereller als C, wenn D zu C gemacht werden kann durch: • Variable in D durch Konstante oder andere Terme ersetzen, • Atome dem Körper von D hinzufügen • Atom aus dem Körper von D mit B resolvieren.
Vorteile der generalisierten Subsumtion • Nicht nur Literale zählen – wer mehr hat, ist spezieller. • Berücksichtien der Verbindung zwischen Literalen durch das Hintergrundwissen. • Substitutionen sorgen dafür, dass keine unzusammenhängenden Objekte einbezogen werden.
Nachteile der generalisierten Subsumtion • Es gibt unendlich viele Generalisierungen zu einer Klausel bezüglich des Hintergrundwissens. • Es gibt auch viele für die q-Subsumtion. Dort hat man aber die Reduktion, die alle diese Generalisierungen auf eine Klausel zurückführt. Ein entsprechender Schritt fehlt bei der generalisierten Subsumtion. • Wenn wirklich die logische Folgerung zwischen den Klauselkörpern geprüft werden muss, ist dies nur semi-entscheidbar. • Wenn man Rekursion verbietet und die Länge der generalisierten Klausel beschränkt, können nicht mehr unendlich viele Generalisierungen erzeugt werden.
Hintergrundwissen in Beispiele hineinrechnen und dann LGG bilden • LE: Grundfakten • LB: Grundfakten • Beispiele werden saturiert: • eneu = {e, K}, wobei K die Konjunktion aller (negierten) Fakten aus dem Hintergrundwissen ist. • ggf. werden die neuen Beispiele auf verbundene Klauseln beschränkt. • Eine Klausel heißt verbunden, wenn alle ihre Literale verbunden sind. • Ein Literal heißt verbunden, wenn mindestens einer seiner Terme verbunden ist.
Tiefe von Termen • Ein Term heißt verbunden mit der Tiefe 0, wenn er im Kopf der Klausel vorkommt. Ein Term heißt verbunden mit der Tiefe d+1, wenn ein anderer Term desselben Literals mit der Länge d verbunden ist. oma (X, Z) :- mutter (X,Y), vater (Y, Z). X, Z haben die Tiefe 0, Y die Tiefe 1. • LH: funktionsfreie, nicht rekursive KlauselnDann ist die q-Subsumtion eine korrekte und vollständige Ableitung!