Was Sie von Logik wissen sollten In diesem kurzen Abschnitt werden zum einen die Themen zusammengefasst, die aus der Logik-Vorlesung noch bekannt sein sollten und für die Vorlesung Wissensbasierte Systeme relevant sind. Zum anderen werden ein paar weiterführende Themen behandelt. Logik untersucht Folgerungsbeziehungen Folgern: einige Beispiele I. Wenn es regnet, ist es nass. Es regnet _ Es ist nass. II. Es ist Sonntag oder es ist Montag. Es ist nicht Sonntag. _ Es ist Montag. III. Wenn warm ist, ist es nicht kalt. IV. Wenn es Sommer ist, ist es warm. Es ist warm. ? Es ist Sommer. ? Wenn es kalt ist, ist es nicht warm Die Fälle I und II sind klar, III und IV weniger (III ist gültig, IV nicht). Grundfrage: Wann kann man Sätze folgern, wann nicht? Beobachtung: Folgerungen hängen nicht von Inhalt der Sätze ab, nur von deren Form: 1. Aussagenlogik (AL) 1. Syntax: Def.: logische Formeln (induktiv) gegeben: Menge V von aussagenlogischen Variablen 1. jedes Element von V ist eine (atomare) Formel, 2. wenn P,Q Formeln sind, so auch ¬P, (PQ), (PQ), (PQ), (P <->Q). 2. Semantik: Interpretation: Abbildung I: V -> {w,f} erlaubt es , beliebige Formeln zu wahr oder falsch auszuwerten: Î(¬F) = 1 gdw Î(F) = 0 Î (F1 F2) = 1 gdw Î(F1) = 1 und Î(F2) = 1 Î (F1 F2) = 1 gdw Î(F1) = 1 oder Î(F2) = 1 Modell von F: Interpretation, die F zu wahr auswertet F folgerbar aus F1,..., Fn Jedes Modell von F1,..., Fn ist Modell von F F erfüllbar/Kontradiktion F Tautologie F besitzt ein/kein Modell jede Interpretation ist Modell F folgerbar aus F1,..., Fn gdw. F1... Fn -> F Tautologie gdw. F1... Fn ¬F Kontradiktion Mehr Prämissen => weniger Modelle => mehr Formeln folgerbar a, b ¬a, b a, ¬b ¬a, ¬b a v b, ¬a 3. Beweisverfahren: Wahrheitstabellen Tableauverfahren Davis Putnam systematisches Durchprobieren aller Interpretationen Baum mit Wurzel F, Nachfolger Teilformeln von F, F unerfüllbar wenn jeder Pfad im Baum unerfüllbar, hier nicht behandelt F in KNF/Klauseform (Konjunktion von Disjunktionen von Literalen/ entsprechende Mengen von Mengen von Literalen) Idee für Erfüllbarkeitstest: wenn leere Disjunktion in F: nicht erfüllbar wenn F leer: erfüllbar wenn Disjunktion aus 1 Literal L, vorkommt, eliminiere Disjunktionen mit L eliminiere ¬L aus allen anderen Disjunktionen teste ob neue Formel erfüllbar sonst: wähle beliebiges Atom A teste, ob F A oder F ¬A erfüllbar erfüllbar {{a,b,¬c},{ ¬a,b },{ a, ¬b }, {c}} erfüllbar {{a,b},{ ¬a,b },{ a, ¬b }} erfüllbar {{ b }} oder erfüllbar {{b},{ ¬b }} erfüllbar {} oder erfüllbar {{}} gdw. gdw. (wähle a) gdw. wahr Baumdarstellung, Disjunktionen explizit dargestellt: {a v b v ¬c, ¬a v b, a v ¬b, c} c {a v b, ¬a v b, a v ¬b} a ¬a {a v b, ¬a v b, a v ¬b, a} a {a v b, ¬a v b, a v ¬b, ¬a} ¬a {b} {b, ¬b} b {} b {{}} Modell gefunden: a, b, c kein Modell weiteres Beispiel: Geldautomat: wenn richtige PIN und Konto gedeckt -> Geld ausgeben und Karte ausgeben wenn richtige PIN und Konto nicht gedeckt -> Karte ausgeben, aber kein Geld wenn falsche PIN -> Karte behalten und kein Geld ausgeben PIN Guthaben -> Geld PIN -> Karte PIN -> Karte PIN -> Geld Guthaben -> Geld PIN v Guthaben v Geld PIN v Karte PIN v Karte PIN v Geld Guthaben v Geld Karte Geld -> Guthaben Karte Geld Guthaben {PIN v Guthaben v Geld, PIN v Karte, PIN v Karte, PIN v Geld, Guthaben v Geld, Karte, Geld, Guthaben} {PIN v Geld, PIN v Karte, PIN v Karte, PIN v Geld, Karte, Geld} {PIN, PIN v Karte, PIN v Karte, Karte} {PIN, PIN} {{}} systematischer Versuch, ein Modell zu konstruieren. Hier kein Modell, also Formel folgerbar. Resolution: F in Klauseform. Füge so lange Resolventen hinzu, bis keine neue mehr ableitbar (=> erfüllbar) oder leere Disjunktion erzeugt (=> unerfüllbar) Prämissen: Resolvente: a b, ¬b c ac 2. Ein Spezialfall: Schließen mit Horn-Klausen Horn-Klause: Disjunktion mit höchstens einem positiven Literal Kind Männlich Junge Mengennotation: {Kind, Männlich, Junge} entspricht Implikation (Regel): Kind Männlich Junge negative Horn-Klause: positive: nur negative Literale (einschließlich leere Klause []) genau 1 positives Literal Beobachtung bei Resolution mit Horn-Klausen: es entstehen wieder Horn-Klausen es ist immer eine positive Klause beteiligt Man kann zeigen: Sei S Menge von Horn-Klausen, c negative Klause (z.B. []). Wenn c mit Resolution aus S ableitbar ist, dann gibt es auch eine Ableitung von c, so dass jede abgeleitete Klause eine negative Resolvente ist, die aus der zuletzt abgeleiteten Klause und einem Element aus S entsteht. c1 c2 c3 c4 Def.: Eine SLD Ableitung einer Klause c aus einer Menge von Klausen S ist eine Folge c1, …, cn so dass 1. cn = c, 2. c1 S, und 3. für alle i < n gilt: ci+1 ist Resolvente aus ci und einem Element von S. Satz: SLD Ableitungen sind korrekt und widerlegungsvollständig für Horn-Klausen: S |- [] gdw S |-SLD []. Beispiel: 1) Toddler 2) Toddler Child 3) Child Male Boy 4) Infant Child 5) Child Female Girl 6) Female Toddler Toddler Child Child Male Boy Infant Child Child Female Girl Female Widerlegungsbeweis von Girl Child Female Girl Toddler Child Girl Child Female Toddler Toddler Female Female Female [] entspricht dem Finden von Regeln für noch offene Teilziele: Ziel bewiesen falls beweisbar bewiesen falls beweisbar bewiesen falls beweisbar bewiesen falls beweisbar Girl Child, Female Toddler, Female Female nichts mehr zu beweisen! entsprechende rekursive Beweisprozedur: input: endliche Liste von Atomen q1, …, qn output: JA, falls aus gegebener KB alle qi folgerbar, NEIN sonst procedure SOLVE[q1,…,qn] if n = 0 then return YES; for each clause c KB do if c = [q1, p1, …, pm] and solve [p1, …, pm, q2,…,qn] then return YES end for; return NO. Man spricht auch von einem backward chaining (Rückwärtsverkettung) oder top down Verfahren, da man vom Ziel zu den Prämissen (von Regel-Konklusion zu Regel-Prämisse) zurück geht. Hier auch Suchstrategie festgelegt: depth first left-to-right Dagegen: forward chaining (bottom up) Starten von Fakten (positive Atome in KB); wende Regeln, deren Vorbedingungen bereits abgeleitet sind, an; Iteriere, bis nichts Neues mehr abgeleitet werden kann Formaler: Sei KB Menge von Horn-Klausen (Regeln). Sei At die Menge der Atome in KB Betrachte Operator TKB: 2At --> 2At TKB(A) = {q | p1 … pm -> q KB, p1, …, pm A} Definiere TKB0 = TKBi+1 = TKB(TKBi) Eine Menge von Atomen A heißt Hülle einer Menge von Horn-Klausen (Regeln) KB, wenn A = TKBi+1 = TKBi (in anderen Worten: wenn A kleinster Fixpunkt von TKB). Beispiel: TKB0 = TKB1 = TKB() = {Toddler, Female} TKB2 = TKB(TKB1) = {Toddler, Female, Child} TKB3 = TKB(TKB2) = {Toddler, Female, Child, Girl} TKB4 = TKB(TKB3) = {Toddler, Female, Child, Girl} entsprechender Algorithmus leicht (und im aussagenlogischen Fall sehr effizient) zu implementieren entsprechende Algorithmen existieren auch für PL1: Instanzierung und Unifikation jeweils Vor- und Nachteile: backward chaining zielgerichtet: nur solche Regeln werden überprüft, die möglicherweise zu gesuchter Ableitung beitragen, aber kann endlos laufen, z.B wenn Regel der Form p -> p vorhanden ist. forward chaining effizient in propositionalem Fall, terminiert möglicher Weise nicht im prädikatenlogischen Fall, da Hülle unendlich werden kann Aussagenlogisches Beispiel, in dem forward besser als backward: 2n Atome: p0, p1, …, pn-1, q0, q1, …, qn-1 4n-4 Regeln: p0 p1, p1 p2, …, pn-2 pn-1, p0 q1, p1 q2, …, pn-2 qn-1, q0 p1, q1 p2, …, qn-2 pn-1 q0 q1, q1 q2, …, qn-2 qn-1 SOLVE[pi] und SOLVE[qi] liefern jeweils NO, aber erst nach 2i Schritten (= Aufrufe von SOLVE) einfacher Induktionsbeweis für pi: i = 1: ruft auf SOLVE[p0] und SOLVE[q0], also 21 Aufrufe i > 1: ruft auf SOLVE[pi-1] und SOLVE[qi-1], die nach Induktionsvoraussetzung je 2i-1 Aufrufe von SOLVE bewirken, also insgesamt 2i. Forward chaining dagegen terminiert sofort: keine Vorbedingung einer Regel ableitbar 3. Prädikatenlogik 1. Stufe (PL1) Syntax: es wird unterschieden zwischen Termen (aus Variablen, Konstanten und Funktionssymbolen aufgebaut, bezeichnen Objekte einer Domäne) und Formeln (Anwendung von Prädikatensymbolen auf Terme, Verknüpfung mit aussagenlogischen Junktoren, Quantifizierung) Semantik: Eine Struktur S besteht aus einer Menge M (Individuenbereich, Universum) und einer Abbildung, die Termen Elemente von M, Funktionssymbolen Funktionen über M und Prädikatensymbolen Prädikate über M zuordnet. Formeln lassen sich in einer Struktur S zu wahr oder falsch auswerten (exakte Def. siehe Vorlesung Logik oder Logikzusammenfassung auf der Veranstaltungswebpage). Falls F in S wahr ist, heißt S Modell von F. Alle anderen Begriffe (Folgerung, Tautologie, Erfüllbarkeit) wie in AL. Beweisverfahren: am häufigsten verwendet Resolution Umformung in Klausenform komplizierter Pränexnormalform (alle Quantoren vorne) Skolemform (Existenzquantoren eliminiert) Klausenform Resolventenbildung komplizierter: Unifikation (Ersetzen von Variablen durch Terme)