Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Abstrakter Datentyp Wissensbasis Interaktion mit der Wissensbasis: mitteilen (tell): (Wissen × Aussage)Problemlösungstechnik −→ Wissen anfragen (ask): (Wissen × Anfrage)Problemlösungstechnik −→ Ergebnis Teil I Das repräsentierte Wissen ist anwendungsabhängig. Die verwendete Problemlösungstechnik ist unabhängig von der Anwendungsdomäne. Logik-basierte Wissensmodellierung Vorteil: Hoher Grad an Modularität, Trennung von Kontrollstruktur und Wissen, Unabhängigkeit von Wissenseinheiten. Vorsicht: Es ist noch nichts darüber ausgesagt, wie zu einer Anfrage ein Ergebnis generiert wird, oder wie neu mitgeteiltes Wissen in bestehendes Wissen integriert wird. SS09, Inst. für KI, Uni Ulm 1 -1 SS09, Inst. für KI, Uni Ulm Logik-basierte Wissensmodellierung 1 -2 Logik-basierte Wissensmodellierung Programmiersprachen vs. deklarative Wissensverarbeitung Architektur eines wissensbasierten Systems (vereinfacht) Programme in (konventionellen) Programmiersprachen beschreiben wie etwas getan werden soll. Benutzer In einem deklarativen System (z. B. Prolog) wird beschrieben was getan werden soll. Abfragekomponente Beispiel: Bestimmung des numerisch größten Elements einer Liste/Feld: In Java: int x = liste[0]; for (int i=0; i<liste.length; i++) if (x<liste[i]) x=liste[i]; Experte Bedienungsschnittstelle Wissenserwerbskomponente Steuerungssystem Problemlösungstechnik (Inferenzkomponente) In Prolog: maxliste(X,L) :- element(X,L), groesser_liste(X,L). groesser_liste(X,[]). groesser_liste(X,[Y|Rest]) :- X >= Y, groesser_liste(X,Rest). SS09, Inst. für KI, Uni Ulm bereichsbezogenes Fachwissen x ∈L x gdw. |L| = 1 ... fallbasiertes Wissen Wissen x ≥ y, ∀y ∈ L 1 -3 SS09, Inst. für KI, Uni Ulm 1 -4 Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Gruppen logischer Schlussfolgerungssysteme Prädikatenlogik Theorembeweiser / logische Programmiersprachen: Verwendung von Resolution (oder anderen Schlussfolgerungsmethoden) zur Beweisfindung von Theoremen in PL1. Mitteilungen entsprechen zusätzlichen Termen; Anfragen entsprechen Beweisen mit zugehörigen Variablenbindungen. Auffrischung der wichtigsten Begriffe der Prädikatenlogik 1. Stufe (PL1 / FOL) als Referenzsprache für die nachfolgenden Themen. Semantische Netze und Framesysteme: Abbildung von Objekten als Knoten in einem Graph mit hierarchischer Strukturierung und binären Beziehungen als Kanten oder Slots. Motivation: In der Aussagenlogik sind atomare Aussagen die einzig möglichen Bausteine (keine interne Struktur) Beschreibungslogiken: Weiterentwicklung Semantischer Netze mit formaler Semantik und hierarchischer Strukturierung als primärem Organisationsprinzip. Komplexe Begriffe werden aus atomaren Begriffen und Beziehungen mittels einer Menge von Konstruktoren erzeugt. Keine Aussagen und Ableitungen möglich wie: Produktionssysteme: Verwendung von Implikationen als primäres Repräsentationsprinzip. Die Konsequenz jeder Implikation entspricht einer Operation (z. B. Einfügung/Löschung) auf Wissensbasis. Produktionssysteme basieren auf vorwärts-verkettetem Kontrollfluss mit Konfliktresolution. In PL1 erlauben durch die Verwendung von Prädikaten, Funktionen, Variablen und Quantoren solche Aussagen. SS09, Inst. für KI, Uni Ulm Alle Studenten im Hauptstudium beherrschen formale Logik. Peter ist ein Student im Hauptstudium. Peter beherrscht formale Logik. 1 -5 SS09, Inst. für KI, Uni Ulm Logik-basierte Wissensmodellierung 1 -6 Logik-basierte Wissensmodellierung Warum Logik? Syntax von PL1 (Symbole & Terme) Die Syntax legt die Bezeichner fest und definiert damit die Sprache in der logische Aussagen formuliert werden können. Primitive Symbole: Die Grundse der Logik sollen niemanden fremd bleiben, der auf den Besi von Bildung Anspru erhebt. Mann kann zwar ri tig denken, ohne je eine Logik udirt zu haben, sowie man ohne Kenntni der Grammatik ri tig spre en und s reiben lernen kann; aber glei wie nur derjenige eine Spra e ganz in seiner Gewalt hat, der sie ni t blo dur praktis e Uebung erlernt, sondern au ihre allgemeinen Gesee si zum Bewutsein gebra t hat, so i au nur derjenige des Denken vollkommen m tig, der si der Gesee deselben vollkommen bewut i. Konstantensymbole: (0-stellige Funktionssymbole) mit z. T. indizierten Bezeichnern wie c1 , k1 , s1 , frodo, sam, ... Funktionssymbole: mit kleingeschr. Bezeichnern wie f(..), alter von(..), freunde(..), ... Variablensymbole: mit unindizierten Bezeichnern wie x, y, z, ... Prädikatsymbole: mit großgeschr. Bezeichnern P(..), Motor(..), HatAlsTeil(..), ... Die Menge der primitiven Symbole zusammen mit ihrer Stelligkeit bilden eine Signatur. Aus dem Vorwort von Josef Mich, Grundriß der Logik, 3. Auflage, Verlag von Buchholz & Diebel, 1877 SS09, Inst. für KI, Uni Ulm Terme: 1 -7 t SS09, Inst. für KI, Uni Ulm → | | x f (t1 , . . . , tn ) c1 Variable Funktionsanwendung Konstante 1 -8 Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Syntax von PL1 (Formeln) Formeln: φ, ψ → | | | | | | | | | Semantik von PL1 (Idee) Wie in der Aussagenlogik kann einer PL1-Formel φ der Wahrheitswert wahr oder falsch in Abhängigkeit einer gegebenen Interpretation zugeordnet werden. I : φ → {T , F } P(t1 , . . . , tn ) T F ¬φ φ∨ψ φ∧ψ φ⇒ψ Atomare Formel Wahr Falsch Negation Disjunktion Konjunktion Implikation φ⇔ψ ∀x(φ) ∃x(φ) Äquivalenz Universelle Quantifikation Existentielle Quantifikation Diese Interpretation I bildet wie folgt in das Universum (universe of discourse) mit entsprechender Stelligkeit ab (Tarski-Modell): Konstantensymbole auf Objekte des Universums Prädikatsymbole auf Relationen über Objekte des Universums Funktionssymbole auf funktionale Relationen über Objekte des Universums Gibt es eine Interpretation I für eine Formel φ, die diese erfüllt, ist diese ein Modell für die Formel. Geschreiben I |= φ bzw. I 6|= φ wenn I kein Modell darstellt. Quantoren binden eine Variable. Nicht gebundene Variablen heissen freie Variablen. Üblicherweise betrachtet man alle potentiellen nicht-leeren Universen. Grundterme, Grundatome, usw. sind Terme, Atome, usw. ohne Variablenvorkommen. Z. B. freunde(frodo, sam) Erfüllbarkeit und Gültigkeit wird bzgl. dieser Strukturen betrachtet. SS09, Inst. für KI, Uni Ulm 1 -9 SS09, Inst. für KI, Uni Ulm Logik-basierte Wissensmodellierung 1 - 10 Logik-basierte Wissensmodellierung Formale Semantik von PL1 (Interpretation) Formale Semantik von PL1 (Beispiel) Interpretation I = (D, ·I ) mit D 6= ∅ und Interpretationsfunktion ·I , die alle: n-stelligen Funktionssymbole auf n-stellige funkionale Relationen: f I ∈ [Dn → D], Konstantensymbole (als Spezialfälle von Funktionen) auf Objekte: aI ∈ D, I n n-stelligen Prädikatssymbole auf n-stellige Relationen: P ⊆ D abbildet. (f (t1 , . . . , tn )) = f I (t1I , . . . , tnI ) SS09, Inst. für KI, Uni Ulm gdw. {d1 , . . . , dn } mit n > 1 D = {1, 2, 3, . . .} = d1 1I = 1 bI = d2 2I = .. . 2 I = {d1 } RedI = D (∈ D) Erfüllbarkeit von von Grundatomen: I |= P(t1 , . . . , tn ) = Block Interpretation von Grundtermen: I D aI ht1I , . . . , tnI i ∈ P I 1 - 11 I |= Red(b) I 6|= Block(b) SS09, Inst. für KI, Uni Ulm EvenI = {2, 4, 6, . . .} succI = {(1 7→ 2), (2 7→ 3), . . .} I 6|= Even(3) I |= Even(succ(3)) 1 - 12 Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Formale Semantik von Variablen in PL1 Formale Semantik von PL1 (Fortsetzung des Beispiels) Abbildung von Variablen: Funktion α : V → D (Menge aller Variablen V ). Notation: α[x/d] ist identisch zu α bis auf die Variable x. Für x gilt α[x/d](x) = d. Für die Interpretation von Grundtermen bzgl. I und α folgt: x I,α = α(x) aI,α = aI (f (t1 , . . . , tn ))I,α = f I (t1I,α , . . . , tnI,α ) D = {d1 , . . . , dn } mit n > 1 aI = d1 bI = d2 BlockI = {d1 } RedI = D α = {(x 7→ d1 ), (y 7→ d2 )} I, α |= Red(x) I, α 6|= Block(y) I, α′ [z/d1 ] |= Block(z) Dergleichen für Grundatome: I, α |= P(t1 , . . . , tn ) gdw. ht1I,α , . . . , tnI,α i ∈ P I SS09, Inst. für KI, Uni Ulm 1 - 13 SS09, Inst. für KI, Uni Ulm Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Erfüllbarkeit von Formeln in PL1 Terminologie (1) Eine PL-Formel mit den Teilformeln φ und ψ und folgenden Konstruktoren ist erfüllbar durch I unter α wenn folgendes gilt: I, α |= T und I, α 6|= F I, α |= P(t1 , . . . , tn ) gdw. ht1I,α , . . . , tnI,α i ∈ P I I, α |= ¬φ gdw. I, α 6|= φ I, α |= φ ∨ ψ gdw. I, α |= φ oder I, α |= ψ I, α |= φ ∧ ψ gdw. I, α |= φ und I, α |= ψ I, α |= φ ⇒ ψ gdw. falls I, α |= φ dann I, α |= ψ I, α |= φ ⇔ ψ gdw. I, α |= φ gdw. I, α |= ψ I, α |= ∀x(φ) gdw. für alle d ∈ D gilt, dass I, α[x/d] |= φ I, α |= ∃x(φ) gdw. es ein d ∈ D gibt, so dass I, α[x/d] |= φ 1 - 14 Interpretation: I, α : φ → {T , F } Modell: I, α |= φ I, α 6|= φ (I, α ein Modell der Formel φ, gdw. I, α : φ → T ) (I, α kein Modell der Formel φ, gdw. I, α : φ → F ) Es werden vier Fälle unterschieden: Eine Formel heisst erfüllbar, falls sie sie mindestens eine Interpretation besitzt, sodass die Formel wahr wird. falsifizierbar, falls sie mindestens eine Interpretation besitzt, sodass die Formel falsch wird. allgemein gültig oder Tautologie, falls sie unter jeder Interpretation wahr wird. unerfüllbar, falls keine Interpretation existiert, die sie wahr macht. allg. gültige Formeln erfüllbare, aber nicht gültige unerfüllbare Formeln Formeln Menge erfüllbarer Formeln = allg. gültige F. ∪ erfüllbaren, aber nicht gültigen F. Menge falsifizierbare Formeln = unerfüllbare F. ∪ erfüllbaren, aber nicht gültigen F. SS09, Inst. für KI, Uni Ulm 1 - 15 SS09, Inst. für KI, Uni Ulm 1 - 16 Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Terminologie (2) Formale Semantik von PL1 (Fortsetzung des Beispiels) Zwei Formeln sind logisch äquivalent (φ ≡ ψ) gdw. für alle I, α gilt: I, α |= φ gdw. I, α |= ψ. Für Mengen von Formeln Θ gilt (Endlichkeitssatz / compactness theorem): I, α |= Θ gdw. Θ I, α |= ψ für alle ψ ∈ Θ Im Kontext der logik-basierten Wissensrepräsentation ist folgende Fragestellung interessant: gdw. I, α |= ψ für alle Modelle I, α für die gilt I, α |= Θ SS09, Inst. für KI, Uni Ulm 1 - 17 Θ = Ist ψ eine logische Folgerung von Θ? ff BlockI = {d1 } d1 RedI = D d2 α = {(x 7→ d1 ), (y 7→ d2 )} = {d1 , . . . , dn } mit n > 1 I = bI = 1 I, α |= Block(a) ∨ ¬Block(a)? 2 I, α |= Block(x) ⇒ (Block(x) ∨ ¬Block(y))? 3 I, α |= Block(x) ⇒ Block(y)? 4 I, α |= Block(a) ∧ Block(x)? 5 I |= ∀x(Block(x) ⇒ Red(x))? 6 I |= Θ? SS09, Inst. für KI, Uni Ulm Logik-basierte Wissensmodellierung 1 - 18 Logik-basierte Wissensmodellierung Beispiel: Logische Folgerung 8 9 < Top(k1 ), = Top(z) ∨ ¬Clear(z), : ; On(x, y) ⇒ ¬Top(y) Block(a), Block(b), ∀x(Block(x) ⇒ Red(x)) Fragestellungen: Geschrieben Θ |= ψ Θ |= ψ D a “Wird eine Formel ψ durch eine gegebenen Mengen von Formeln Θ impliziert?” “Ist ψ eine logische Folgerung von Θ?” = Inferenzprozeduren D = {a, b, c} ψ = {On(x, y) ⇒ ¬Clear(y)} Gesucht: automatisierbares Verfahren zur Berechnung logischer Folgerungen → Inferenzprozedur Zunächst Aussagenlogik: ? Θ |= ψ Naives Verfahren: Wahrheitstabelle Einfache Schlussregeln: Modus ponens: A→B A B Modus tolens: A→B ¬B ¬A Jedoch: A→B B A SS09, Inst. für KI, Uni Ulm 1 - 19 SS09, Inst. für KI, Uni Ulm i. S. des log. Folgerungsbegriffs keine korrekte Schlussregel! 1 - 20 Logik-basierte Wissensmodellierung Logik-basierte Wissensmodellierung Ableitbarkeit Korrektheit / Vollständigkeit von Inferenzprozeduren Schlüsselkriterien von Inferenzprozeduren mit Inferenzprozedur i, Formelmenge Θ, Formel ψ und Inferenzergebnis Ai : Unterscheidung zwischen zwei Ebenen der Folgerung: Semantische Ebene mit der logischen Folgerung, d. h. Θ |= φ Korrektheit Inferenzebene mit syntaktischer Ableitbarkeit Die Prozedur i is korrekt, falls immer wenn Θ ⊢i ψ wahr ist, auch Θ |= ψ wahr ist. Ableitbarkeit: Eine Formel φ ist aus der Formelmenge Θ mit Hilfe einer Inferenzprozedur i ableitbar, geschrieben Vollständigkeit: Die Prozedur i is vollständig, falls immer wenn Θ |= ψ wahr ist, auch Θ ⊢i ψ wahr ist. Θ ⊢i φ wenn eine endliche Folge von Inferenzschritten existiert, sodass man von Θ zu φ gelangt. Entscheidbarkeit: Die Aussage φ lässt sich (durch Anw. der Prozedur i) aus der Menge der Aussagen Θ ableiten. Ai = Bemerkung: Ableitbarkeit hängt offensichtlich von der zugrundeliegenden Inferenzprozedur ab. 1, 0, falls Θ ⊢i ψ falls Θ 6⊢i ψ Komplexität: Fragestellung, ob i ∈ P SS09, Inst. für KI, Uni Ulm 1 - 21 SS09, Inst. für KI, Uni Ulm Logik-basierte Wissensmodellierung 1 - 22 Logik-basierte Wissensmodellierung Inferenzprozedur Resolution Logik: Zusammenfassung Widerspruchsbeweis: Θ |= φ äquivalent mit Θ ∧ ¬φ ist widersprüchlich. Idee: Reduktion von PL1 auf aussagenlogische Erfüllbarkeit: Logik erlaubt die Axiomatisierung einer Anwendungsdomäne und das Schlussfolgern auf diesem Wissen 1 Pränex-Normalform (Quantoren + Matrix); Eliminieren von Implikation und Äquivalenz; Negation nach innen; Quantoren nach außen 2 Skolemisierung (Eleminierung von existentiellen Quantoren) Skolem-Normalform (Pränex-Normalform ohne Existenzquantoren) 3 Umwandlung in KNF (Klauselmenge) Syntax 4 Herbrand-Interpretation/Modell: Universum besteht aus allen möglichen Grundtermen (mind. einer Konstante); beliebige Interpretation der Prädikate; Funktionen syntaktisch interpretiert. Semantik 5 Eckpunkte: Kriterium: Korrekte und vollständige Schlussfolgerungsprozedur Probleme: Wiederholte Anwendung der Inferenzregel (Ziel: leere Klausel als Resolvente). Unerfüllbarkeit und Gültigkeit von PL1 semi-entscheidbar. Resolution als Inferenzprozedur: Eine Inferenzregel: Seine C1 und C2 Klauseln und L ein Literal mit L ∈ C1 und ¬L ∈ C2 , dann heisst die Klausel (C1 \{L}) ∪ (C2 \{¬L}) Resolvente von C1 und C2 . Wenig zielgerichtete Problemlösungverfahren Z. T. schlecht erweiterbar. Schlussfolgerungsprozess i. d. R. ungeeignet für Begründung/Erklärung. Theorem: Menge von Formeln hat ein Modell gdw. sie ein Herbrand-Modell hat. SS09, Inst. für KI, Uni Ulm 1 - 23 SS09, Inst. für KI, Uni Ulm 1 - 24