Was bisher geschah: klassische Aussagenlogik Syntax Symbole und Struktur I I Junktoren: t, f , ¬ , ∨, ∧, →, ↔ aussagenlogische Formeln AL(P) induktive Definition: IA Atome (Aussagenvariablen) p, q, r , . . . ∈ P IS zusammengesetzte Formeln (ϕ, ψ, η, . . .): Verknüpfung von Formeln durch Junktoren Prinzip der strukturellen Induktion über Baumstruktur von Formeln Semantik (Bedeutung der Syntaxelemente) I I I I I I eines Junktors: Wahrheitswertfunktion einer Aussagenvariablen: Wahrheitswert aller Aussagenvariablen einer Menge P: durch Belegung (Interpretation) W : P → {0, 1} einer Formel aus AL(P): Funktion W : AL(P) → {0, 1} Boolesche Funktion Erfüllbarkeit, Allgemeingültigkeit von Formeln Äquivalenz von Formeln, z.B. p → q ≡ ¬p ∨ q 44 Modelle aussagenlogischer Formeln Die Aussagenvariablen-Belegung W : P → {0, 1} erfüllt die Formel ϕ ∈ AL(P) (ist ein Modell für ϕ) genau dann, wenn W (ϕ) = 1. Beispiel: Modelle (erfüllende Belegungen) für p ∨ (q ∧ ¬p) ∈ AL({p, q}): W10 mit W10 (p) = 1 und W10 (q) = 0, W01 mit W01 (p) = 0 und W01 (q) = 1, W11 mit W11 (p) = 1 und W11 (q) = 1 45 Modellmengen aussagenlogischer Formeln Menge aller Modelle von ϕ ∈ AL(P): Mod(ϕ) = {W : P → {0, 1} | W (ϕ) = 1} (kürzere Darstellung als WW-Tabellen) Beispiele: Mod(p ∨ (q ∧ ¬p)) = {W10 , W01 , W11 }, Mod(p → p) = {W0 , W1 } = {W : {p} → {0, 1}}, Mod(p ∧ ¬p) = ∅ Formel ϕ ∈ AL(P) ist unerfüllbar gdw. Mod(ϕ) = ∅ erfüllbar gdw. Mod(ϕ) 6= ∅ allgemeingültig gdw. Mod(ϕ) = {W : P → {0, 1}} äquivalent zu ψ ∈ AL(P) gdw. Mod(ϕ) = Mod(ψ) 46 Wiederholung: wichtige Äquivalenzen Für alle aussagenlogischen Formeln ϕ, ψ, η gilt: I ϕ ∨ ϕ ≡ ϕ, ϕ ∧ ϕ ≡ ϕ, ϕ ∨ f ≡ ϕ, ϕ∧t≡ϕ I ϕ ∨ ψ ≡ ψ ∨ ϕ, ϕ ∧ ψ ≡ ψ ∧ ϕ (Kommutativität von ∧ und ∨) I ϕ ∨ (ψ ∨ η) ≡ (ϕ ∨ ψ) ∨ η ϕ ∧ (ψ ∧ η) ≡ (ϕ ∧ ψ) ∧ η (Assoziativität von ∧ und ∨) I ϕ ∧ (ψ ∨ η) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ η) ϕ ∨ (ψ ∧ η) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ η) (Distributivgesetze) I ¬¬ϕ ≡ ϕ (Doppelnegation) I ¬(ϕ ∨ ψ) ≡ ¬ϕ ∧ ¬ψ, ¬(ϕ ∧ ψ) ≡ ¬ϕ ∨ ¬ψ (DeMorgansche Regeln) I ϕ ∨ ψ ≡ ¬(¬ϕ ∧ ¬ψ), ϕ ∧ ψ ≡ ¬(¬ϕ ∨ ¬ψ) (Dualität von ∧ und ∨) I ϕ → ψ ≡ ¬ψ → ¬ϕ (Kontraposition) I (ϕ ∧ ψ) ∨ (¬ϕ ∧ ψ) ≡ ψ (Fallunterscheidung) 47 Umformen von Formeln Satz (Ersetzbarkeitstheorem) Für drei Formeln ϕ, ψ, η ∈ AL(P), wobei ψ ≡ η und ψ eine Teilformel von ϕ ist, gilt ϕ ≡ ϕ0 , wobei ϕ0 entsteht, indem in ϕ ein Vorkommen von ψ durch η ersetzt wird. (Nachweis durch strukturelle Induktion) Formeln können also durch Ersetzung äquivalenter Teilformeln in semantisch äquivalente Formeln umgeformt werden. (Änderung der Syntax bei unveränderter Semantik) 48 Junktorbasen (vollständige Operatorensysteme) Eine Menge J von Junktoren heißt genau dann Junktorbasis (vollständiges Operatorensystem), wenn zu jeder aussagenlogische Formel ϕ eine äquivalente aussagenlogische Formel ψ (d.h. ϕ ≡ ψ) existiert, wobei ψ nur Junktoren aus der Menge J enthält. Beispiele: Die Mengen I {¬, ∨, ∧} I {¬, ∨} I {¬, ∧} I {¬, →} I {f, →} sind Junktorbasen. Die Mengen {∨, ∧} und {∨, ∧, →} sind keine Junktorbasen. 49 Normalformen spezielle Formeln: Literal Atom oder negiertes Atom NNF Formeln, in denen das Negationssymbol ¬ höchstens auf Atome angewendet wird, heißen in Negations-Normalform. Beispiel: ¬p ∨ ((¬q ∨ p) ∧ q), ¬p, p W V mi CNF Formeln der Form ni=1 l j=1 i,j mit Literalen li,j heißen in konjunktiver Normalform. Beispiel: (¬p ∨ ¬q) ∧ (p ∨ q) ∧ ¬q, p ∨ q, p ∧ ¬q, ¬p V W mi DNF Formeln der Form ni=1 j=1 li,j mit Literalen li,j heißen in disjunktiver Normalform. Beispiel: ¬p ∨ (¬q ∧ p) ∨ (p ∧ q), p ∨ q, p ∧ ¬q, ¬p 50 Satz über Normalformen Satz Zu jeder Formel ϕ ∈ AL(P) existieren I eine äquivalente Formel ϕ1 ∈ AL(P) in NNF, I eine äquivalente Formel ϕ2 ∈ AL(P) in CNF und I eine äquivalente Formel ϕ3 ∈ AL(P) in DNF. Beweis (konstruktiv) durch Angabe einer Transformationsvorschrift beliebiger Formeln in Normalformen: 1. Formeln mit Junktoren →, ↔, t, f schrittweise durch Formeln mit ausschließlich ∨, ∧, ¬ ersetzen 2. Konstruktion einer NNF durch (mehrmalige) Anwendung der deMorganschen Regeln 3. Konstruktion der CNF und DNF durch (mehrmalige) Anwendung der Distributivgesetze auf die NNF Beispiele (Tafel): p ↔ q , (a → b) → c 51 DNF-SAT Aufgabe DNF-SAT: W Vki gegeben: DNF ϕ = m i=1 j=1 li,j Frage: Ist ϕ erfüllbar? Instanz, z.B. (p ∧ ¬q ∧ ¬p) ∨ (q ∧ p ∧ ¬q) ∨ (¬p ∧ ¬q) Lösungsidee: I ϕ ist genau dann erfüllbar, wenn (wenigstens) eine der m Vi Konjunktionen kj=1 li,j erfüllbar ist. Vk i I Konjunktion j=1 li,j ist genau dann unerfüllbar, wenn für eine Aussagenvariable x ∈ var(ϕ) gilt: {x, ¬x} ⊆ {li,j | j ∈ {1, . . . , ki }} (Widerspruch). W Vk i Lösungsverfahren: ϕ = m i=1 j=1 li,j ist genau dann Vi li,j erfüllbar , wenn eine der m Konjunktionen kj=1 widerspruchsfrei ist, unerfüllbar , wenn alle m Konjunktionen einen Widerspruch enthalten. DNF-SAT ist einfach (schnell) zu lösen. 52 CNF-SAT Aufgabe CNF-SAT: V Wki gegeben: CNF ϕ = m i=1 j=1 li,j Frage: Ist ϕ erfüllbar? Instanz z.B. (p ∨ ¬q) ∧ (q ∨ p) ∧ (¬p ∨ ¬q) Lösungsansätze: I Test aller möglichen Belegungen, aufwendig für große Anzahl an Aussagenvariablen unpraktikabel I Umformung in eine zu ϕ äquivalente DNF ψ Test von ψ auf Erfüllbarkeit für große Anzahl an Aussagenvariablen unpraktikabel Konstruktion einer Formel ψ mit I 1. ψ erfüllbar gdw. ϕ erfüllbar und 2. Erfüllbarkeit für ψ einfach zu testen CNF-SAT ist schwierig zu lösen. (zeitaufwendig) 53 SAT-Solver SAT-Solver: Werkzeug zum Lösen von CNF-SAT-Instanzen SAT-Solver I benutzen heuristische Verfahren, I finden für praktische Probleme oft schnell eine Lösung, I meist Ausgabe einer erfüllenden Belegung (wenn eine existiert) aktive Forschung auf diesem Gebiet: jährlich Wettbewerbe (www.satcompetition.org/) typische Anwendung von SAT-Solvern: 1. Modellierung des ursprünglichen Problems P als CNF-SAT-Instanz P 0 (Darstellung als CNF ϕ) 2. Lösung von P 0 mit SAT-Solver 3. Übersetzung erfüllender Belegung für ϕ in Lösung für P 54 Beispiel Bahnfahrer (Übungsaufgabe 1.3) In einem Eisenbahnabteil sitzen ... LB → MT (¬MB) → RT Φ= LS ∨ LT ∨ LB LS → ¬LT die Herren Lehmann, Müller und Richter , LT → MS , , RS → LT , , MS ∨ MT ∨ MB , . . . , LS → ¬LB , ... Darstellung als CNF ϕ= ∧ ∧ ∧ (¬LB ∨ MT ) (MB ∨ RT ) (LS ∨ LT ∨ LB) (¬LS ∨ ¬LT ) ∧ ∧ ∧ ∧ (¬LT ∨ MS) (¬RS ∨ LT ) (MS ∨ MT ∨ MB) ∧ (¬LS ∨ ¬LB) ∧ ··· ··· Was für ein Landsmann ist jeder? gesucht ist also ein Modell (erfüllende Belegung) für ϕ (repräsentiert Zuordnung: {L, M, R} → {S, T , B}) 55 Lösung mit SAT-Solver Eingabe im DIMACS-Format für CNF (ASCII): erste Zeile enthält Typ (cnf), Anzahl der Aussagenvariablen und Disjunktionen (z.B. p cnf 9 25) I Aussagenvariablen {1, . . . , n} I jede Disjunktion (Klausel) eine Zeile, - statt ¬, Literale durch Leerzeichen getrennt, 0 markiert Ende der Klausel I Darstellung der Bahnfahrer-Aufgabe als CNF in DIMACS-Format p cnf 9 25 c 1:LS, 2:LT, 3:LB, 4:MS, 5:MT, 6:MB, 7:RS, 8:RT, 9:RB -3 5 0 -2 4 0 ... Lösung mit SAT-Solver, z.B. MiniSat, Lingeling SATISFIABLE 1 -2 -3 -4 -5 6 -7 8 -9 0 Ausgabe: erfüllende Belegung {1 7→ 1, 6 7→ 1, 8 7→ 1} (sonst 0) wahr sind also 1 : LS, 6 : MB und 8 : RT 56 Modellierungsbeispiel: n-Damen-Aufgabe Frage: Lassen sich n Damen so auf einem n × n-Schachbrett anordnen, dass keine Dame eine andere bedroht? Lösung: zulässige Anordnung, falls möglich Bedingungen für zulässige Anordnungen: I n Damen auf dem Feld, also in jeder Zeile (wenigstens) eine I keine Zeilenbedrohung I keine Spaltenbedrohung I keine diagonale Bedrohung 57 Repräsentation der 3-Damen-Aufgabe 9 Felder – Aussagenvariablen {x1 , . . . , x9 } Bedingungen: I I I I in jeder Zeile (wenigstens) eine Dame x1 ∨ x2 ∨ x3 , x4 ∨ x5 ∨ x6 , x7 ∨ x8 ∨ x9 keine Zeilenbedrohung x1 → ¬x2 (≡ ¬x1 ∨ ¬x2 ), x4 → ¬x5 , x7 → ¬x8 , x1 → ¬x3 , x4 → ¬x6 , x7 → ¬x9 , x2 → ¬x3 x5 → ¬x6 x8 → ¬x9 keine Spaltenbedrohung x1 → ¬x4 , x2 → ¬x5 , x3 → ¬x6 , x1 → ¬x7 , x2 → ¬x8 , x3 → ¬x9 , x4 → ¬x7 x5 → ¬x8 x6 → ¬x9 x1 → ¬x9 , x5 x4 x5 x6 keine diagonale Bedrohung x1 → ¬x5 , x2 → ¬x6 , x3 → ¬x5 , x2 → ¬x4 , x3 → ¬x7 , → ¬x9 → ¬x8 → ¬x7 → ¬x8 Man vergleiche mit den Kontext-Bedingungen aus ÜA 1.3 58 4 Damen 16 Felder – Aussagenvariablen {x1 , . . . , x16 } eine mögliche Lösung (Modell, erfüllende Belegung): ¬1 ∧ ¬2 ∧ 3 ∧ ¬4 ∧ 5 ∧ ¬6 ∧ ¬7 ∧ ¬8 ∧ ¬9 ∧ ¬10 ∧ ¬11 ∧ 12 ∧ ¬13 ∧ 14 ∧ ¬15 ∧ ¬16 × × × × 59 Einsatz von SAT-Solvern typische Anwendungen für SAT-Solver z.B. I Schaltkreisentwurf und -verifikation I Konfiguration I Model-Checking I Planen I Constraint-Lösen I kombinatorische Suchprobleme, z.B. Graph-Färbungen (Register-Zuordnung, Sudoku) 60 Beschränkte Ausdrucksstärke der Aussagenlogik I Aussagen immer zweiwertig (nur wahr oder falsch, keine Zwischenwerte), z.B.: Die Rose ist rot. Das Bier ist kalt. Der Student ist fleißig. (Erweiterung zu mehrwertigen Logiken, fuzzy logic) I Aussagen immer absolut (keine Abhängigkeit vom Kontext, z.B. Ort, Zeitpunkt), z.B.: Es regnet. x > 3 (Erweiterung zur Modal- und Temporallogiken) I Aussagen über alle Elemente großer“ Mengen aufwendig ” (Erstellung, Platzbedarf), z.B. Zuordnungen I keine Aussagen über Elemente einer unendlichen Mengen oder Mengen unbestimmter Mächtigkeit möglich, z.B. I Jede durch 4 teilbare Zahl ist gerade. I In jedem zusammenhängenden Graphen mit ≥ 2 Knoten hat jeder Knoten einen Nachbarn. I Es ist nicht alles Gold was glänzt. (Erweiterung zur Prädikatenlogik) 61 Modellierungsbeispiel 1. Max ist ein Fisch. 2. Alle Fische schwimmen. 3. Also schwimmt Max. Individuenbereich (Objekte): Lebewesen Individuen (Konstanten) Max Eigenschaften: istFisch, schwimmt prädikatenlogische Formeln: 1. istFisch(Max) 2. ∀x(istFisch(x) → schwimmt(x)) 3. schwimmt(Max) 62 Modellierung in Prädikatenlogik Grundannahme: Die zu modellierende Welt besteht aus Individuen, die Eigenschaften haben und zueinander in Beziehungen (Relationen, Funktionen) stehen. Aussagen beschreiben Eigenschaften von und und Beziehungen zwischen Individuen. Formalisierung solcher Aussagen durch prädikatenlogische Formeln. 63 Prädikatenlogische Aussagen – Beispiele Personen sind genau dann Geschwister, wenn sie dieselbe Mutter oder denselben Vater haben. I A ist genau dann Nachfahre von B, wenn B A’s Vater oder A’s Mutter ist oder ein Elternteil von A Nachfahre von B ist. I Nachfahren derselben Person sind verwandt. Individuenbereich: Menge von Personen Beziehungen: Nachfahre, verwandt, Geschwister Funktionen: Mutter, Vater I Primzahlen sind genau diejenigen natürlichen Zahlen, die genau zwei verschiedene Teiler haben. I Gerade Zahlen sind genau diejenigen natürlichen Zahlen, die durch 2 teilbar sind. I Es existieren gerade Primzahlen. I Nachfolger ungerader Primzahlen sind nicht prim. I Das Quadrat jeder geraden Zahl ist gerade. Individuenbereich: Menge aller natürlichen Zahlen Eigenschaft: prim, gerade Beziehung: teilt Funktion: Nachfolger, Quadrat I N 64 Atome (elementare Aussagen) Aussagenlogik : Aussagenvariable, bekommt festen Wahrheitswert durch Belegung Prädikatenlogik : (parametrisierte) Aussage über Eigenschaften von oder Beziehungen zwischen Individuen Wahrheitswert abhängig von beteiligten Individuen z.B. nebeneinander(x, y ),gerade(n) , x < 3, x < y , geschwister(x, mutter(y )) 65 Prädikatenlogik (der ersten Stufe) – Syntax bekannt: aussagenlogische Junktoren t, f, ¬, ∨, ∧, →, ↔ neu: prädikatenlogische Atome, Quantoren ∀, ∃ Definition (induktiv) Die Menge aller Formeln der Prädikatenlogik ist definiert durch: IA: Alle Atome sind Formeln. IS: I I I t und f sind Formeln. Ist ϕ eine Formel und x eine Individuenvariable, dann sind auch ¬ϕ, ∀xϕ, ∃xϕ Formeln. Sind ϕ und ψ Formeln, dann sind auch ϕ ∨ ψ, ϕ ∧ ψ, ϕ → ψ und ϕ ↔ ψ Formeln. Baumstruktur der Formeln 66 Modellierung in Prädikatenlogik – Beispiel Topfdeckel Auf jeden Topf passt ein Deckel. I Individuenbereich: Kochgeschirr I Eigenschaften: ist-Topf T ( ), ist-Deckel D( ) I Beziehung: passt-auf P( , ) Schrittweise Entwicklung einer Formel: 1. Atome: P(x, y ) (x passt auf y ), D(x) (x ist ein Deckel), T (y ) (y ist ein Topf) 2. Formel D(x) ∧ T (y ) ∧ P(x, y ) Der Deckel x passt auf den Topf y . 3. Formel ∃x (D(x) ∧ T (y ) ∧ P(x, y )) Es gibt einen Deckel, welcher auf den Topf y passt. 4. Formel ∀y ∃x (D(x) ∧ T (y ) ∧ P(x, y )) Zu jedem Topf gibt es einen Deckel, der auf diesen Topf passt. bedeutet dasselbe wie: Auf jeden Topf passt ein Deckel. 67 Modellierung in Prädikatenlogik – Beispiel Geschwister Personen sind genau dann Geschwister, wenn sie dieselbe Mutter oder denselben Vater haben. I I Individuenbereich: Personen Beziehungen: sind-Geschwister G ( , ), ist-Mutter-von M( , ) , ist-Vater-von V ( , ) Zwischenschritte: Atome: G (x, y ), M(z, x), M(z, y ), V (u, x), V (u, y ) M(z, x) ∧ M(z, y ) z ist Mutter von x und y . I ∃z (M(z, x) ∧ M(z, y )) x und y haben dieselbe Mutter (z). I ∃z (M(z, x) ∧ M(z, y )) ∨ ∃u (V (u, x) ∧ V (u, y )) x und y haben dieselbe Mutter (z) oder denselben Vater (u). I G (x, y ) ↔ (∃z (M(z, x) ∧ M(z, y )) ∨ ∃u (V (u, x) ∧ V (u, y ))) x und y sind genau dann Geschwister, wenn Sie dieselbe Mutter oder denselben Vater haben. I I (Zwei beliebige) Personen sind genau dann Geschwister, wenn Sie dieselbe Mutter oder denselben Vater haben. ∀x∀y (G (x, y ) ↔ (∃z (M(z, x) ∧ M(z, y )) ∨ ∃u (V (u, x) ∧ V (u, y )))) 68