Aussagenlogik: Syntax
Transcrição
Aussagenlogik: Syntax
Aussagenlogik: Syntax A ::= X | (A ∧ A) | (A ∨ A) | (¬ A) | (A ⇒ A) | (A ⇔ A) | 0 | 1 Prioritätsreihenfolge : ¬, ∧, ∨, ⇒, ⇔. A ∧ B: A ∨ B: A ⇒ B: A ⇔ B: ¬A: A A KI, SS Konjunktion (Verundung). Disjunktion (Veroderung). Implikation . Äquivalenz. negierte Formel. Atom, falls A eine Variable ist. Literal, falls A Atom oder negiertes Atom. 06, F olien 3(1), Seite 1 Aussagenlogik: Semantik Zunächst pro Operation ¬, ∧, ∨, ⇒, ⇔ eine Funktion fop gemäß folgender Tabelle. 1 1 0 0 KI, SS 06, F olien 3(1), Seite 2 1 0 1 0 ∧ 1 0 0 0 ∨ 1 1 1 0 ⇒ 1 0 1 1 N OR 0 0 0 1 N AN D 0 1 1 1 ⇔ 1 0 0 1 XOR 0 1 1 0 Interpretation Definition Eine Interpretation I ist eine Funktion I : {aussagenlogische Variablen} → {0, 1}. Eine Interpretation I liefert Wahrheitswert von Aussagen: • I(0) := 0, I(1) := 1 • I(¬A) := f¬(I(A)) • I(A op B) := fop(I(A), I(B)), wobei op ∈ {∧, ∨, ⇒, ⇔ . . .} I(F ) = 1 wird notiert als I |= F . Sprechweisen für I |= F : I ist ein Modell für F , KI, SS 06, F olien 3(1), Seite 3 F gilt in I, I macht F wahr Definition: Tautologie usw. • A ist eine Tautologie (Satz, allgemeingültig) gdw. für alle Interpretationen I gilt: I |= A. • A ist ein Widerspruch (widersprüchlich, unerfüllbar) gdw. für alle Interpretationen I gilt: I(A) = 0. • A ist erfüllbar (konsistent) gdw. es eine Interpretationen I gibt mit: I |= A. • ein Modell für eine Formel A ist eine Interpretation I mit I(A) = 1. KI, SS 06, F olien 3(1), Seite 4 Beispiele für Tautologie usw. • X ∨ ¬X ist eine Tautologie. • (X ⇒ Y ) ⇒ ((Y ⇒ Z) ⇒ (X ⇒ Z)) ist eine Tautologie. • X ∧ ¬X ist ein Widerspruch. • X ∨ Y ist erfüllbar. • I mit I(X) = 1, I(Y ) = 0 ist ein Modell für X ∧ ¬Y KI, SS 06, F olien 3(1), Seite 5 Äquivalenzen von Aussagen F, G sind äquivalent (F ∼ G), gdw. F ⇔ G ist eine Tautologie ist. KI, SS 06, F olien 3(1), Seite 6 Tautologien/ Widersprüche: Komplexität Satz • Die Frage “Ist A Tautologie“ ist entscheidbar • Die Frage “Ist A erfüllbar?“ ist N P-vollständig. • Die Frage “Ist A Tautologie (Widerspruch)?“ ist co-N P-vollständig. Für N P-vollständig und co-N P-vollständig: Es sind nur worst-case exponentielle Algorithmen bekannt N P-vollst. co-N P-vollst. KI, SS 06, F olien 3(1), Seite 7 Algorithmen sind gutartig und optimierbar Algorithmen sind nicht gutartig und wenig optimierbar Folgerungsbegriffe Zwei verschiedene Begriffe der Folgerungen für Logik: • semantische Folgerung Basis-Begriff; definiert über Modelle • syntaktische Folgerung (Herleitung, Ableitung) Algorithmus meist ein nicht-deterministischer Kalkül, auf Formeln / Formelmengen mögliche Ziele: Erkennung von Tautologien Erkennung von Folgerungsbeziehungen KI, SS 06, F olien 3(1), Seite 8 Folgerungsbegriffe in der Aussagenlogik Definition Sei F eine Menge von (aussagenlogischen) Formeln und G eine weitere Formel. G folgt semantisch aus F Notation: F |= G gdw. ∀ Interpretationen I : ∀F ∈ F : I(F ) = 1 impliziert I(G) = 1. KI, SS 06, F olien 3(1), Seite 9 Deduktionstheorem in der Aussagenlogik Satz (Deduktionstheorem) {F1, . . . , Fn} |= G gdw. F1 ∧ . . . ∧ Fn ⇒ G ist Tautologie. Beachte: F und G sind äquivalent gdw. ∀I : I |= F gdw. I |= G KI, SS 06, F olien 3(1), Seite 10 Aussagenlogische Sätze ∧ und ∨ sind kommutativ, assoziativ, und idempotent: F ∧G F ∧F F ∧ (G ∧ H) F ∨G F ∨ (G ∨ H) F ∨F KI, SS 06, F olien 3(1), Seite 11 ⇔ G∧F ⇔ F ⇔ (F ∧ G) ∧ H ⇔ G∨F ⇔ (F ∨ G) ∨ H ⇔ F Äquivalenzen: ¬(¬A)) (A ⇒ B) (A ⇔ B) ¬(A ∧ B) ¬(A ∨ B) A ∧ (B ∨ C) A ∨ (B ∧ C) (A ⇒ B) A ∨ (A ∧ B) A ∧ (A ∨ B) KI, SS 06, F olien 3(1), Seite 12 ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ A (¬A ∨ B) ((A ⇒ B) ∧ (B ⇒ A)) ¬A ∨ ¬B (DeMorgansche Gesetze) ¬A ∧ ¬B (A ∧ B) ∨ (A ∧ C) Distributivität (A ∨ B) ∧ (A ∨ C) Distributivität (¬B ⇒ ¬A) Kontraposition A Absorption A Absorption Normalformen disjunktive Normalform (DNF). Disjunktion von Konjunktionen von Literalen. (L1,1 ∧ . . . ∧ L1,n1 ) ∨ . . . ∨ (Lm,1 ∧ . . . ∧ Lm,nm ) konjunktive Normalform (CNF). Konjunktion von Disjunktionen von Literalen. (L1,1 ∨ . . . ∨ L1,n1 ) ∧ . . . ∧ (Lm,1 ∨ . . . ∨ Lm,nm ) KI, SS 06, F olien 3(1), Seite 13 Transformation in Klauselnormalform Prozedur: 1. 2. Elimination von ⇔ und ⇒: F ⇔ G → F ⇒ G ∧ G ⇒ F und F ⇒ G → ¬F ∨ G Negation ganz nach innen schieben: ¬¬F ¬(F ∧ G) ¬(F ∨ G) 3. KI, SS → → → F ¬F ∨ ¬G ¬F ∧ ¬G Distributivität (und Assoziativität, Kommutativität) iterativ anwenden, um ∧ nach außen zu schieben (“Ausmultiplikation“). F ∨ (G ∧ H) → (F ∨ G) ∧ (F ∨ H) 06, F olien 3(1), Seite 14 Transformation in Klauselnormalform Resultat: Konjunktion von Disjunktionen von Literalen D.h. eine CNF Eigenschaften • Die Resultat- CNF ist äquivalent zur eingegebenen Formel • Der Algorithmus ist worst-case exponentiell (Zeit und Platz) • Die Anzahl der Literale in der CNF kann exponentiell sein. KI, SS 06, F olien 3(1), Seite 15 Transformation in Klauselnormalform Gründe für die Explosion: Verdoppelung von Unterformeln bei den Transformationsschritten: • • die Elimination von ⇔: Ausmultiplikation mittels Distributivgesetz: Beispiele: (A1 ⇔ A2) ⇔ (A3 ⇔ A4) ; (A1 ⇒ A2 ∧ A2 ⇒ A1) ⇔ (A3 ⇒ A4 ∧ A4 ⇒ A3) (A1 ∧ . . . ∧ An) ∨ B2 ∨ . . . ∨ Bm ; ((A1 ∨ B2) ∧ . . . ∧ (An ∨ B2)) ∨ B3 . . . ∨ Bn KI, SS 06, F olien 3(1), Seite 16 CNF-Algorithmus: Beispiel ((A ∧ B) ⇒ C) ⇒ C KI, SS 06, F olien 3(1), Seite 17 → ¬(¬(A ∧ B) ∨ C) ∨ C → (A ∧ B) ∨ ¬C ∨ C → (A ∨ ¬C ∨ C) ∧ (B ∨ ¬C ∨ C) Schneller CNF-Algorithmus CNF-Herstellung kann man beschleunigen zu polynomiell: fast O(n). Trick: komplexe Subformeln iterativ durch neue Variablen abkürzen. ABER: Formel F ist nicht äquivalent zur berechnten CNF(F ). Es gilt aber: F erfüllbar gdw. CNF(F ) erfüllbar. Das reicht aus für Beweisverfahren und semantische Herleitungen KI, SS 06, F olien 3(1), Seite 18 Schneller CNF-Algorithmus Wesentlicher Schritt: Gegeben H1 ∧ . . . ∧ Hn wobei Hj eine Tiefe ≥ 4 hat: Ersetze in Hj alle Subformeln G1, . . . , Gm von Hj in Tiefe 3 durch neue Variablen Ai: D.h. Hj [G1, . . . , Gm] ; (G1 ⇔ A1) ∧ . . . ∧ (Gm ⇔ Am) ∧ Hj [A1, . . . , Am] Iteriere diesen Schritt, bis er nicht mehr durchführbar ist. KI, SS 06, F olien 3(1), Seite 19 Schnelle CNF-Herstellung Hj [G1, . . . , Gm] ; (G1 ⇔ A1) ∧ . . . ∧ (Gm ⇔ Am) ∧ Hj [A1, . . . , Am] Man sieht, dass Erfüllbarkeit erhalten bleibt. Gegen-Beispiel zur Äquivalenz: (A ∨ ¬A) ; (X ⇔ (A ∨ ¬A) ∧ X Die rechte Formel ist keine Tautologie: X = 0 ist eine erlaubte Interpretation, die die rechte Formel falsch macht. KI, SS 06, F olien 3(1), Seite 20 Resolution für Aussagenlogik Resolutionsverfahren: Erkennt Widersprüchlichkeit statt Ist F Tautologie“: Ist ¬F Widerspruch“ ” ” Lemma Eine Formel A1 ∧ . . . ∧ An ⇒ F ist allgemeingültig gdw. A1 ∧ . . . ∧ An ∧ ¬F widersprüchlich ist. semantisch formuliert: {A1, . . . , An} |= F gdw. es keine Interpretation I gibt, so dass I |= {A1, . . . , An, ¬F } KI, SS 06, F olien 3(1), Seite 21 Resolutionsverfahren für Aussagenlogik Gegeben eine Menge M von Klauseln Iteriere folgende Operation: Wähle (nichtdeterministisch) 2 Klauseln K, L aus M . Falls es eine Resolvente R von K, L gibt, füge R zu M hinzu Stoppe erfolgreich, wenn die leere Klausel erzeugt wurde. Stoppe nicht widersprüchlich, wenn alle Resolventen schon in M sind, aber die leere Klausel nicht in M ist. Klauseln werden als Mengen dargestellt! KI, SS 06, F olien 3(1), Seite 22 Resolution für Aussagenlogik Resolutions-Regel: A ∨B1 ∨ . . . ∨ Bn ¬A ∨C1 ∨ . . . ∨ Cm B 1 ∨ . . . ∨ B n ∨ C1 ∨ . . . ∨ Cm zwei Eingabe- Klauseln sind die Elternklauseln die neu hergeleitete Klausel ist die Resolvente. KI, SS 06, F olien 3(1), Seite 23 Resolution: Eigenschaften Aussage Wenn C → C 0 mit Resolution, dann ist C äquivalent zu C 0. Aussage Resolution terminiert Grund: Es gibt nur endlich viele mögliche Klauseln, da Resolution keine neuen Variablen einführt. KI, SS 06, F olien 3(1), Seite 24 Resolution: Eigenschaften Resolution ist nicht gut geeignet um Modelle von Formeln zu berechnen: {{A, B}, {A, ¬A}, {B, ¬B}, {¬A, ¬B}} Die Formelmenge ist erfüllbar und abgeschlossen bzgl Resolution. besser Methoden zur Modellberechnung: Davis-Putnam-Prozedur oder Tableaukalkül KI, SS 06, F olien 3(1), Seite 25 Resolution: Eigenschaften Satz In der Aussagenlogik gilt: Für eine unerfüllbare Klauselmenge findet Resolution nach endlich vielen Schritten die leere Klausel. Beweis geht mit Induktion nach (Anzahl der Literale) - (Anzahl der Klauseln) Satz In der Aussagenlogik gilt: Resolution erkennt unerfüllbare Klauselmengen. D.h. Resolution ist vollständig. KI, SS 06, F olien 3(1), Seite 26 Resolution: Eigenschaften, Bemerkungen Optimierung der Resolution durch Elimination von Redundanzen: • • KI, SS Löschung von Tautologien Löschen von redundanten Klauseln: solche mit isolierte Literalen (kein Resolutionsgegenpart) Subsumtion: Klauseln sind redundant, die Obermengen von anderen Klauseln sind 06, F olien 3(1), Seite 27 Resolution: Komplexität Untere Abschätzung der Komplexität im schlimmsten Fall von ( A. Haken 1985): Herleitungen können exponentiell lang dauern: Es gibt Folge von Formeln (die sogenannten Taubenschlag-formeln (pigeon hole formula, Schubfach-formeln), mit exponentiell langen Resolutionsherleitungen KI, SS 06, F olien 3(1), Seite 28 Davis-Putnam Algorithmus DP (·) Ist ein Resolutionsverfahren, algorithmisiert mit Fallunterscheidungen für Literale (A gilt oder A gilt nicht) und Erkennung isolierter Literale KI, SS 06, F olien 3(1), Seite 29 Davis-Putnam Algorithmus DP (·) 1 1 2. a. b. a b 3. 4 KI, SS Wenn leere Klausel in C: RETURN true. Wenn C leere Klauselmenge: RETURN false. wenn 1-Klausel {P } (bzw. {¬P }) ex: Lösche Klauseln in denen P (bzw. ¬P ) vorkommt. Lösche Literale ¬P (bzw. P ) in Klauseln ergibt Klauselmenge C 0. RETURN DP (C 0) Wenn isolierte Literale existieren: Lösche Klauseln, in denen isolierte Literale vorkommen. resultierende Klauselmenge: C 0. RETURN DP (C 0) Sonst: wähle eine ex. Variable P aus. RETURN DP (C ∪ {{P }}) ∧ DP (C ∪ {{¬P {{) 06, F olien 3(1), Seite 30 Beispiel für DP P, ¬P, P, ¬P, P, ¬P, P, ¬P, Q Q ¬Q, ¬Q, Q, Q, ¬Q, ¬Q, R R R ¬R ¬R ¬R ¬R Fall 1: Addiere die Klausel {P }. nach einigen Schritten: Q, ¬Q, Q, ¬Q, KI, SS 06, F olien 3(1), Seite 31 R R ¬R ¬R Fall 1.1: Addiere {Q}: ergibt die leere Klausel. Fall 1.2: Addiere {¬Q}: ergibt die leere Klausel. Fall 2: Addiere die Klausel {¬P }. Nach einigen Schritten: Q ¬Q R Q ¬R ¬Q ¬R Weitere Schritte für Q ergeben R ¬R ergibt leere Klausel. Smullyan: Wer ist der Pfefferdieb? Rätsel von Raymond Smullyan vor: Es gibt drei Verdächtige: Den Hutmacher, den Schnapphasen und die (Hasel-)Maus. Folgendes ist bekannt: • Genau einer von ihnen ist der Dieb. • Unschuldige sagen immer die Wahrheit • Schnapphase: der Hutmacher ist unschuldig. • Hutmacher: die Hasel-Maus ist unschuldig KI, SS 06, F olien 3(1), Seite 33 Kodierung: H, S, M 1. 2. 3. 4. 5. 6. H ∨S∨M H ⇒ ¬(S ∨ M ) S ⇒ ¬(H ∨ M ) M ⇒ ¬(H ∨ S) ¬S ⇒ ¬H ¬H ⇒ ¬M Klauselmenge: {{H, S, M }, {¬H, ¬S}, {¬H, ¬M }, {¬S, ¬M }, {S, ¬H}, {H, ¬M }} KI, SS 06, F olien 3(1), Seite 34 Kodierung: H, S, M : Resultat pfefferdieb = "((H \\/ /\\ (S => /\\(-S => dp S \\/ M) /\\ (H => -(S \\/ M)) -(H \\/ M)) /\\ (M => -(H \\/ S)) -H) /\\ (-H => -M))" Modell: S, -M, -H" KI, SS 06, F olien 3(1), Seite 35 Eine Logelei aus der Zeit Abianer sagen die Wahrheit, Bebianer Lügen. Aussagen: 1. 2. 3. 4. 5. 6. 7. Knasi: Knisi ist Abianer. Knesi: Wenn Knösi Bebianer, dann ist auch Knusi ein Abianer. Knisi: Wenn Knusi Abianer, dann ist Knesi Bebianer. Knosi: Knesi und Knüsi sind beide Abianer. Knusi: Wenn Knüsi Abianer ist, dann ist auch Knisi Abianer. Knösi: Entweder ist Knasi oder Knisi Abianer. Knüsi: Knosi ist Abianer. A <=> I E <=> (-OE => U) I <=> (U => -E) O <=> (E /\ UE) U <=> (UE => I) OE <=> (A XOR I) UE <=> O KI, SS 06, F olien 3(1), Seite 36 Logelei: Lösung Die Eingabe in den Davis-Putnam-Algorithmus ergibt: abianer1Expr = "((A <=> I) /\\ (E <=> (-OE => U)) /\\ (I <=> (U => -E)) /\\ (O <=> (E /\\ UE)) /\\ (U <=> (UE => I)) /\\ (OE <=> -(A <=> I)) /\\ (UE <=> O))" Resultat: "Modell: -OE, -O, -UE, E, U, -I, -A" Damit sind Knesi und Knusi Abianer, die anderen sind Bebianer. KI, SS 06, F olien 3(1), Seite 37 Ein weiteres Rätsel von Raymond Smullyan: Hier geht es um den Diebstahl von Salz. Die Verdächtigen sind: Lakai mit dem Froschgesicht, Lakai mit dem Fischgesicht, Herzbube. Die Aussagen und die bekannten Tatsachen sind: • Frosch: der Fisch wars • Fisch: ich wars nicht • Herzbube: ich wars • Genau einer ist der Dieb • höchstens einer hat gelogen KI, SS 06, F olien 3(1), Seite 38 Kodierung des Problems Wir verwenden Variablen mit folgenden Namen und Bedeutung: FRW FIW HBW FID FRD HBD KI, SS Frosch sagt die Wahrheit Fisch sagt die Wahrheit Herzbube sagt die Wahrheit der Fisch ist der Dieb der Frosch ist der Dieb der Herzbube ist der Dieb 06, F olien 3(1), Seite 39 Kodierung des Frosch-Fisch-Problems höchstens einer sagt die Wahrheit: ¬F RW ⇒ F IW ∧ HBW ¬F IW ⇒ F RW ∧ HBW ¬HBW ⇒ F RW ∧ HIW genau einer ist der Dieb: F ID ∨ F RD ∨ HBD F ID ⇒ ¬F RD ∧ ¬HBD F RD ⇒ ¬F ID ∧ ¬HBD HBD ⇒ ¬F ID ∧ ¬F RD Die Aussagen: F RW ⇒ F ID F IW ⇒ ¬F ID HBW ⇒ HBD KI, SS 06, F olien 3(1), Seite 40 Frosch-Fisch: DP-Algorithmus: dp "((-FRW => FIW /\\ HBW) /\\ (-FIW => FRW /\\ HBW) /\\ (-HBW => FRW /\\ HIW) /\\ (FID => -FRD /\\ -HBD) /\\ (FRD => -FID /\\ -HBD) /\\ (HBD => -FID /\\ -FRD) /\\ (FRW => FID) /\\ (FIW => -FID) /\\ (HBW => HBD))" Die berechnete Lösung ist: HBD, −F ID, HBW, F IW, −F RW, −F RD D.h FRW ist falsch, d.h. der Fisch hat gelogen und der Herzbube war der Dieb. KI, SS 06, F olien 3(1), Seite 41 Das n-Damen Problem aussagenlogisch Funktion zum Erzeugen der aussagenlogischen Bedingungen: Ausgabe im Fall n = 4: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16], [-1, -5], [-1, -9], [-1, -13], [-1, -2], [-1, -6], [-1, -3], [-1, -11], [-1, -4], [-1, -16], [-5, -9], [-5, -13], [-5, -2], [-5, -6], [-5, -10], [-5, -7], [-5, -15], [-5, -8], [-9, -13], [-9, -6], [-9, -10], [-9, -14], [-9, -3], [-9, -11], [-9, -12], [-13, -10], [-13, -14], [-13, -7], [-13, -15], [-13, -4], [-13, -16], [-2, -6], [-2, -10], KI, SS 06, F olien 3(1), Seite 42 [-2, -14],[-2, -3], [-2, -7], [-2, -4], [-2, -12], [-6, -10], [-6, -14], [-6, -3], [-6, -7], [-6, -11], [-6, -8], [-6, -16], [-10, -14], [-10, -7], [-10, -11], [-10, -15],[-10, -4], [-10, -12], [-14, -11], [-14, -15], [-14, -8], [-14, -16], [-3, -7], [-3, -11], [-3, -15], [-3, -4], [-3, -8], [-7, -11], [-7, -15], [-7, -4], [-7,-8], [-7, -12], [-11, -15], [-11, -8], [-11, -12], [-11, -16], [-15, -12], [-15, -16], [-4, -8], [-4, -12], [-4, -16], [-8, -12], [-8, -16], [-12, -16]] Das n-Damen Problem aussagenlogisch Das Ergebnis der DP-Prozedur sind zwei Interpretationen: [[-4, -8, -15, 5, -13, 14, -6, -2, 12, -9, -1, 3, -16, -10, -7, -11], [-4, 2, 8, -6, -1, 9, -12, -14, -13, -5, 15, -3, -16, -10, -7, -11]] Zwei möglichen Platzierungen im Fall n = 4. KI, SS 06, F olien 3(1), Seite 44 Das n-Damen Problem aussagenlogisch Der Aufruf dpqueens 8 ergibt nach kurzer Zeit: D - D - KI, SS D - D - D - D D - 06, F olien 3(1), Seite 45 D -