Logik für Informatiker Aussagenlogik Logik für Informatiker 1/19 Logik für Informatiker Aussagenlogik Motivation 2/19 Menschliche Logik Computerlogik Es regnet. Die Straße ist trocken. p q Proseminar „Logik für Informatiker“ Aussagenlogik Dozent: Dr. Ekkart Kindler Vortragender: Jürgen Hölker, Marco Gießmann 25.04.2005 25.04.2005 Marco Gießmann 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik Grundlagen Atome: 3/19 Logik für Informatiker Aussagenlogik Grundlagen 4/19 p = „es regnet“ q = „die Straße ist trocken“ Operatoren: Λ Belegungen: b(p) = 1, b(q) = 0 Formel: F = p → ┐q „und“, v „oder“, ┐ „nicht“, → „impliziert“ b(F) b Belegung von F b╞ F b erfüllt F, b(F) = 1 ╞F F Tautologie (allgemeingültig) ╞F <=> ┐F unerfüllbar Literal 25.04.2005 Marco Gießmann 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik Erfüllbarkeit von Formeln 5/19 Logik für Informatiker Aussagenlogik Äquivalenz von Formeln Wann sind zwei Formeln äquivalent? Intuitiv: Wahrheittafeln auswerten p 0 0 1 1 q 0 1 0 1 p 0 0 1 1 pΛq 0 0 0 1 p = 1, q = 1 25.04.2005 pΛq erfüllbar ● Marco Gießmann q 0 1 0 1 p→q 1 1 0 1 ┐p v q 1 1 0 1 Was ist mit (p Λ q → p) und (r v ¬r)? erfüllende Belegung ● => 6/19 25.04.2005 beide sind stets 'True' unschiedliche Anzahl Zeilen Marco Gießmann Logik für Informatiker Aussagenlogik Äquivalenz von Formeln 7/19 F1, F2 semantisch Äquivalent <=> F1 ╞ F2 und F2 ╞ F1 Logik für Informatiker Aussagenlogik Kojunktiv-Normal-Form (KNF) ● Konjunktionen von Disjunktionen „(...v...) Λ (...v...)“ ● „┐“ nur vor Atomen Beispiel: (p) Λ (┐q) Λ (p v ┐r) Gegenbeispiele: (p) Λ (┐q) Λ ┐(p v r) Schreibweise: F1 ≡ F2 (┐┐p) 25.04.2005 Marco Gießmann Λ (┐q) (p v ┐r) Λ 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik KNF – Implikationen entfernen 9/19 Logik für Informatiker Aussagenlogik KNF - Negativ-Normal-Form ┐┐ a ≡ a a → b ≡ ┐a v b q ) → (p Λ ( ┐p ┐( ┐p Λ Λ 10/19 2. Negativ-Normal-Form 1. Implikationen entfernen ( ┐p 8/19 ┐( ┐p (r → q)) Λ Λ q) v (p ┐( a v b) ≡ ┐a Λ ( ┐r v q ) ) (┐ ┐p v ┐q ) v ( p Λ ( ┐r v q ) ) q) v (p Λ ( ┐r v q ) ) ( Λ ( ┐r v q ) ) 25.04.2005 Marco Gießmann 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik Konjunktiv-Normal-Form 11/19 3. Distributivgesetz a v (b Logik für Informatiker Aussagenlogik KNF - Resolution ( p v q v ┐r ) Λ c) ≡ (a v b) Λ Λ Λ (p v q v r) Λ Λ ( p v ┐q ) Λ ( ┐p ) Λ ( p v ┐q ) Λ ( ┐p ) ( ┐r v q ) ) (p) ( p v ┐q v p ) 12/19 (a v c) (p v q) ( p v ┐q ) v ( p ┐b ( ┐r v q ) ) Λ q) → ( p p v ┐q ) v ( p Λ Λ ( ┐p ) ( p v ┐q v ┐r v q ) 0 25.04.2005 Marco Gießmann 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik Überblick 13/19 ● Atom, Literal, Formel, Operator ● Belegung ● Äquivalenz ● Kojunktiv-Normal-Form ● Resolution ● Erfüllbarkeit zeigen Logik für Informatiker Aussagenlogik Horn-Formeln, -Klauseln 14/19 Hornklausel K: K enthält max. ein positives Literal Hornformel F: F ist Konjunktion von Hornklauseln Beispiele: → exponentielle Laufzeit 25.04.2005 Marco Gießmann p, ┐p , p v ┐q, ┐p v q v ┐r Horn-Klauseln p v q, p v ┐q v r keine Horn-Klauseln 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik Horn-Formeln 15/19 Logik für Informatiker Aussagenlogik Markierungsalgorithmus 16/19 Ausgansformel in KNF: Implikationsschreibweise ( ┐a v ┐b v e ) (1→a) (a) ( a1 ( ┐a1 v ┐a2 v ... v ┐an) Λ a2 Λ Λ ... an → 0 ) Λ ( a1 Λ a2 Λ ... 25.04.2005 Λ an → b ) Marco Gießmann c Λ a Λ ( ┐c v b ) ( ┐c v ┐d v a) Λ ┐e Λ ┐g Λ Λ b) → e ) (a→d) Λ ((c Λ Λ (1 →c) Λ ( 1 → a) d)→a) Λ (e→0) 25.04.2005 17/19 1 2 Λ 0 3 b)→e) 1 2 (a→d) ( g → 0) Logik für Informatiker Aussagenlogik Markierungsalgorithmus 18/19 Λ 0 1 ( 1→ c ) Λ 1 ( 1→ a ) 1 Λ 2 (c→b) 2 mark all occurences of 1 in F 3 4 while there is a conjunct (P1Λ P2 Λ ... Λ Pk) → P' such that all Pi are marked but P' isn't do 5 Λ Λ ( c → b) 1 function HORN (F) Beispiel: ((a Λ Marco Gießmann Logik für Informatiker Aussagenlogik Markierungsalgorithmus ( ┐a v d ) Λ Implikationsschreibweise: ((a ( ┐a1 v ┐a2 v ... v ┐an v b ) Λ Λ ((c 1 2 Λ 3 1 d)→a) Λ 4 (e→0) Λ (g→0) mark P' 6 end while 7 if 0 is marked return 'unsatisfiable' 8 else return 'satisfiable' 9 end function 25.04.2005 Marco Gießmann 25.04.2005 Marco Gießmann Logik für Informatiker Aussagenlogik Überblick 19/19 Erfüllbarkeitstest Konjunktiv-Normal-Form: - alle Formeln prüfbar - exponentielle Laufzeit Horn-Formeln: - nicht alle Formeln prüfbar - lineare Laufzeit 25.04.2005 Marco Gießmann