Document

Werbung
Vorlesung
Logik für Informatiker
5. Aussagenlogik
– Normalformen –
Bernhard Beckert
Universität Koblenz-Landau
Sommersemester 2006
Logik für Informatiker, SS ’06 – p.1
Normalformen
Definition: Literal
Atom (aussagenlogische Variable) oder
die Negation eines Atoms
Logik für Informatiker, SS ’06 – p.2
Normalformen
Definition: Literal
Atom (aussagenlogische Variable) oder
die Negation eines Atoms
Definition: Klausel
Eine Disjunktion von Literalen
(A ∨ ¬ B ∨ C)
mehrstellige Disjunktionen
einstellige Disjunktionen
A
die nullstellige Disjunktion (leere Klausel)
0
Logik für Informatiker, SS ’06 – p.2
Konjunktive Normalform
Definition: Konjunktive Normalform
(KNF)
Eine Konjunktion von Disjunktionen von Literalen,
d.h., eine Konjunktion von Klauseln
Logik für Informatiker, SS ’06 – p.3
Konjunktive Normalform
Definition: Konjunktive Normalform
(KNF)
Eine Konjunktion von Disjunktionen von Literalen,
d.h., eine Konjunktion von Klauseln
mehrstellig, einstellig oder nullstellig
Logik für Informatiker, SS ’06 – p.3
Konjunktive Normalform
Definition: Konjunktive Normalform
(KNF)
Eine Konjunktion von Disjunktionen von Literalen,
d.h., eine Konjunktion von Klauseln
mehrstellig, einstellig oder nullstellig
Beispiele
(A ∨ ¬ B) ∧ (B ∨ ¬C ∨ ¬ D)
A∨B
A ∧ (B ∨ C)
A∧B
1
Logik für Informatiker, SS ’06 – p.3
Disjunktive Normalform
Definition: Disjunktive Normalform
(DNF)
Eine Disjunktionen von Konjunktionen von Literalen
mehrstellig, einstellig oder nullstellig
Beispiele
(A ∧ ¬ B) ∨ (B ∧ ¬C ∧ ¬ D)
A∧B
A ∨ (B ∧ C)
A∨B
0
Logik für Informatiker, SS ’06 – p.4
Konjunktive und Disjunktive Normalform
Eigenschaften
• Zu jeder aussagenlogischen Formel gibt es
– eine äquivalente Formel in KNF
– eine äquivalente Formel in DNF
Logik für Informatiker, SS ’06 – p.5
Konjunktive und Disjunktive Normalform
Eigenschaften
• Zu jeder aussagenlogischen Formel gibt es
– eine äquivalente Formel in KNF
– eine äquivalente Formel in DNF
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
Logik für Informatiker, SS ’06 – p.5
Konjunktive und Disjunktive Normalform
Eigenschaften
• Zu jeder aussagenlogischen Formel gibt es
– eine äquivalente Formel in KNF
– eine äquivalente Formel in DNF
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden
– Disjunktionen in der KNF entsprechen den Zeilen mit true
– Konjunktionen in der DNF entsprechen den Zeilen mit false
Logik für Informatiker, SS ’06 – p.5
Konjunktive und Disjunktive Normalform
Eigenschaften
• Zu jeder aussagenlogischen Formel gibt es
– eine äquivalente Formel in KNF
– eine äquivalente Formel in DNF
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden
– Disjunktionen in der KNF entsprechen den Zeilen mit true
– Konjunktionen in der DNF entsprechen den Zeilen mit false
• Solche Formeln können durch Umformungen hergestellt werden
Logik für Informatiker, SS ’06 – p.5
Umformung in KNF
Vier Schritte
Logik für Informatiker, SS ’06 – p.6
Umformung in KNF
Vier Schritte
1. Elimination von ↔
Verwende
A↔B
≡
(A → B) ∧ (B → A)
Logik für Informatiker, SS ’06 – p.6
Umformung in KNF
Vier Schritte
1. Elimination von ↔
Verwende
A↔B
≡
(A → B) ∧ (B → A)
≡
¬A ∨ B
2. Elimination von →
Verwende
A→B
Logik für Informatiker, SS ’06 – p.6
Umformung in KNF
Vier Schritte
1. Elimination von ↔
Verwende
A↔B
≡
(A → B) ∧ (B → A)
≡
¬A ∨ B
2. Elimination von →
Verwende
A→B
3. „Nach innen schieben“ von ¬
Verwende
de Morgans Regeln und ¬¬ A
≡
A
Logik für Informatiker, SS ’06 – p.6
Umformung in KNF
Vier Schritte
1. Elimination von ↔
Verwende
A↔B
≡
(A → B) ∧ (B → A)
≡
¬A ∨ B
2. Elimination von →
Verwende
A→B
3. „Nach innen schieben“ von ¬
Verwende
de Morgans Regeln und ¬¬ A
≡
A
4. „Nach innen schieben“ von ∨
Verwende
Distributivität von ∨ über ∧
Logik für Informatiker, SS ’06 – p.6
Umformung in KNF: Beispiel
0. Gegeben
B1,1 ↔ (P1,2 ∨ P2,1 )
Logik für Informatiker, SS ’06 – p.7
Umformung in KNF: Beispiel
0. Gegeben
B1,1 ↔ (P1,2 ∨ P2,1 )
1. Elimination von ↔
(B1,1 → (P1,2 ∨ P2,1 )) ∧ ((P1,2 ∨ P2,1 ) → B1,1 )
Logik für Informatiker, SS ’06 – p.7
Umformung in KNF: Beispiel
0. Gegeben
B1,1 ↔ (P1,2 ∨ P2,1 )
1. Elimination von ↔
(B1,1 → (P1,2 ∨ P2,1 )) ∧ ((P1,2 ∨ P2,1 ) → B1,1 )
2. Elimination von →
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬(P1,2 ∨ P2,1 ) ∨ B1,1 )
Logik für Informatiker, SS ’06 – p.7
Umformung in KNF: Beispiel
0. Gegeben
B1,1 ↔ (P1,2 ∨ P2,1 )
1. Elimination von ↔
(B1,1 → (P1,2 ∨ P2,1 )) ∧ ((P1,2 ∨ P2,1 ) → B1,1 )
2. Elimination von →
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬(P1,2 ∨ P2,1 ) ∨ B1,1 )
3. Nach innen schieben von ¬
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ ((¬ P1,2 ∧ ¬ P2,1 ) ∨ B1,1 )
Logik für Informatiker, SS ’06 – p.7
Umformung in KNF: Beispiel
0. Gegeben
B1,1 ↔ (P1,2 ∨ P2,1 )
1. Elimination von ↔
(B1,1 → (P1,2 ∨ P2,1 )) ∧ ((P1,2 ∨ P2,1 ) → B1,1 )
2. Elimination von →
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬(P1,2 ∨ P2,1 ) ∨ B1,1 )
3. Nach innen schieben von ¬
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ ((¬ P1,2 ∧ ¬ P2,1 ) ∨ B1,1 )
4. Nach innen schieben von ∨
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬ P1,2 ∨ B1,1 ) ∧ (¬ P2,1 ∨ B1,1 )
Logik für Informatiker, SS ’06 – p.7
Beispiel zur exponentiellen Länge der KNF
Gegeben
An
=
(P1,1 ∧ P1,2 ) ∨ . . . ∨ (Pn,1 ∧ Pn,2 )
Logik für Informatiker, SS ’06 – p.8
Beispiel zur exponentiellen Länge der KNF
Gegeben
An
=
(P1,1 ∧ P1,2 ) ∨ . . . ∨ (Pn,1 ∧ Pn,2 )
Zu An äquivalente KNF
^
{ P1, f (1) ∨ . . . ∨ Pn, f (n) | f : {1, . . . , n} → {1, 2}}
Logik für Informatiker, SS ’06 – p.8
Beispiel zur exponentiellen Länge der KNF
Gegeben
An
=
(P1,1 ∧ P1,2 ) ∨ . . . ∨ (Pn,1 ∧ Pn,2 )
Zu An äquivalente KNF
^
{ P1, f (1) ∨ . . . ∨ Pn, f (n) | f : {1, . . . , n} → {1, 2}}
Größe der KNF
Literale in An : 2 ∗ n
Literale in KNF von An :
n ∗ 2n
Logik für Informatiker, SS ’06 – p.8
Beispiel zur exponentiellen Länge der KNF
Zu An äquivalente KNF
^
{ P1, f (1) ∨ . . . ∨ Pn, f (n) | f : {1, . . . , n} → {1, 2}}
Logik für Informatiker, SS ’06 – p.9
Beispiel zur exponentiellen Länge der KNF
Zu An äquivalente KNF
^
{ P1, f (1) ∨ . . . ∨ Pn, f (n) | f : {1, . . . , n} → {1, 2}}
Für n = 3
(P1,1 ∨ P2,1 ∨ P3,1 )
∧
(P1,1 ∨ P2,1 ∨ P3,2 )
∧
(P1,1 ∨ P2,2 ∨ P3,1 )
∧
(P1,1 ∨ P2,2 ∨ P3,2 )
∧
(P1,2 ∨ P2,1 ∨ P3,1 )
∧
(P1,2 ∨ P2,1 ∨ P3,2 )
∧
(P1,2 ∨ P2,2 ∨ P3,1 )
∧
(P1,2 ∨ P2,1 ∨ P3,2 )
Logik für Informatiker, SS ’06 – p.9
KNF: Mengenschreibweise
Notation
Klausel als Menge von Literalen
Formel in KNF als Menge von Klauseln
Logik für Informatiker, SS ’06 – p.10
KNF: Mengenschreibweise
Notation
Klausel als Menge von Literalen
Formel in KNF als Menge von Klauseln
Beispiel
(¬ B1,1 ∨ P1,2 ∨ P2,1 ) ∧ (¬ P1,2 ∨ B1,1 ∧ (¬ P2,1 ∨ B1,1 )
als
{ {¬ B1,1 , P1,2 , P2,1 )}, {¬ P1,2 , B1,1 }, {¬ P2,1 , B1,1 } }
Logik für Informatiker, SS ’06 – p.10
KNF: Mengenschreibweise
Bedeutung der leeren Menge
Leere Klausel
= leere Menge von Literalen
= leere Disjunktion
=
Logik für Informatiker, SS ’06 – p.11
KNF: Mengenschreibweise
Bedeutung der leeren Menge
Leere Klausel
= leere Menge von Literalen
= leere Disjunktion
= 0
Logik für Informatiker, SS ’06 – p.11
KNF: Mengenschreibweise
Bedeutung der leeren Menge
Leere Klausel
= leere Menge von Literalen
= leere Disjunktion
= 0
Leere Menge von Klauseln
= leere Konkunktion
=
Logik für Informatiker, SS ’06 – p.11
KNF: Mengenschreibweise
Bedeutung der leeren Menge
Leere Klausel
= leere Menge von Literalen
= leere Disjunktion
= 0
Leere Menge von Klauseln
= leere Konkunktion
= 1
Logik für Informatiker, SS ’06 – p.11
Vereinfachung der KNF: Subsumtion
Theorem
Enthält eine KNF-Formel (= Klauselmenge) Klauseln K , K 0 mit
K ( K0
dann entsteht eine äquivalente Formel, wenn K 0 weggelassen wird
Logik für Informatiker, SS ’06 – p.12
Das SAT-Problem
(Erfüllbarkeitsproblem)
Definition: SAT-Problem
Gegeben: Eine aussagenlogische Formel F
Frage: Ist F erfüllbar?
Logik für Informatiker, SS ’06 – p.13
Das SAT-Problem
(Erfüllbarkeitsproblem)
Definition: SAT-Problem
Gegeben: Eine aussagenlogische Formel F
Frage: Ist F erfüllbar?
Theorem
(ohne Beweis)
SAT ist ein NP-vollständiges Problem
Logik für Informatiker, SS ’06 – p.13
NP-Vollständigkeit
Zur Erinnerung / Vorausschau
NP-vollständig heißt:
• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar
Logik für Informatiker, SS ’06 – p.14
NP-Vollständigkeit
Zur Erinnerung / Vorausschau
NP-vollständig heißt:
• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar
• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare
Problem kann in polynomieller Zeit auf SAT reduziert werden
Logik für Informatiker, SS ’06 – p.14
NP-Vollständigkeit
Zur Erinnerung / Vorausschau
NP-vollständig heißt:
• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar
• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare
Problem kann in polynomieller Zeit auf SAT reduziert werden
• Wenn es stimmt, dass N P 6= P,
dann ist SAT nicht in polynomieller Zeit entscheidbar
Logik für Informatiker, SS ’06 – p.14
Teilklassen des Erfüllbarkeitsproblems
Definition: k-KNF
KNF-Formeln, deren Klauseln höchstens k Literale haben
Logik für Informatiker, SS ’06 – p.15
Teilklassen des Erfüllbarkeitsproblems
Definition: k-KNF
KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
KNF ist NP-vollständig
(ohne Beweis)
Logik für Informatiker, SS ’06 – p.15
Teilklassen des Erfüllbarkeitsproblems
Definition: k-KNF
KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
KNF ist NP-vollständig
3-KNF ist NP-vollständig
(ohne Beweis)
(Beweisidee an Tafel)
Logik für Informatiker, SS ’06 – p.15
Teilklassen des Erfüllbarkeitsproblems
Definition: k-KNF
KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
KNF ist NP-vollständig
3-KNF ist NP-vollständig
(ohne Beweis)
(Beweisidee an Tafel)
2-KNF ist polynomiell entscheidbar
(Beweisidee an Tafel)
Logik für Informatiker, SS ’06 – p.15
Teilklassen des Erfüllbarkeitsproblems
Definition: k-KNF
KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
KNF ist NP-vollständig
3-KNF ist NP-vollständig
(ohne Beweis)
(Beweisidee an Tafel)
2-KNF ist polynomiell entscheidbar
DNF ist polynomiell entscheidbar
(Beweisidee an Tafel)
(Beweis einfach)
Logik für Informatiker, SS ’06 – p.15
Horn-Formeln
Defintion: Horn-Formel
Formel in KNF,
in der jede Klausel höchstens ein positives Literale enthält
Logik für Informatiker, SS ’06 – p.16
Horn-Formeln
Defintion: Horn-Formel
Formel in KNF,
in der jede Klausel höchstens ein positives Literale enthält
Notation: Als Implikation
¬ B1 ∨ . . . ∨ ¬ Bm ∨ A B1 ∧ . . . ∧ Bm
¬ B1 ∨ . . . ∨ ¬ Bm
A
→
A
B1 ∧ . . . ∧ Bm →
→
A
Logik für Informatiker, SS ’06 – p.16
Horn-Formeln
Defintion: Horn-Formel
Formel in KNF,
in der jede Klausel höchstens ein positives Literale enthält
Notation: Als Implikation
¬ B1 ∨ . . . ∨ ¬ Bm ∨ A B1 ∧ . . . ∧ Bm
¬ B1 ∨ . . . ∨ ¬ Bm
A
→
A
B1 ∧ . . . ∧ Bm →
→
A
B1 ∧ . . . ∧ Bm : „Rumpf“
A: „Kopf“
Logik für Informatiker, SS ’06 – p.16
Horn-Formel: Beispiel
Notation als Literalmengen
{ ¬P }
{ Q, ¬ R, ¬ S }
{ ¬Q ∨ ¬S }
{R}
{S}
{ ¬Q ∨ P }
Logik für Informatiker, SS ’06 – p.17
Horn-Formel: Beispiel
Notation als Literalmengen
Notation als Implikationen
{ ¬P }
P
→
{ Q, ¬ R, ¬ S }
R∧S
→ Q
{ ¬Q ∨ ¬S }
Q∧S →
{R}
→ R
{S}
→ S
{ ¬Q ∨ P }
Q
→ P
Logik für Informatiker, SS ’06 – p.17
Horn-Formel: Beispiel
Notation als Literalmengen
Notation als Implikationen
{ ¬P }
P
→
{ Q, ¬ R, ¬ S }
R, S
→ Q
{ ¬Q ∨ ¬S }
Q, S →
{R}
→ R
{S}
→ S
{ ¬Q ∨ P }
Q
→ P
Logik für Informatiker, SS ’06 – p.17
Erfüllbarkeitsproblem für Horn-Formeln
Theorem
Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit
entscheidbar
Logik für Informatiker, SS ’06 – p.18
Erfüllbarkeitstest für Horn-Formeln
Eingabe:
C = D1 ∧ . . . ∧ Dm eine Hornformel
Ein Atom in C zu markieren, bedeutet,
es an allen Stellen seines Auftretens in C zu markieren
Logik für Informatiker, SS ’06 – p.19
Erfüllbarkeitstest für Horn-Formeln
0: IF keine Fakten (Klausel mit leerem Rumpf) vorhanden
THEN Ausgabe: erfüllbar
ELSE markiere alle Fakten
1: IF keine Klausel Ri → Hi in C, so dass
alle Atome in Ri markiert aber Hi nicht
THEN Ausgabe: erfüllbar
ELSE wähle das erste solche
IF Hi leer
THEN Ausgabe: unerfüllbar
ELSE markiere Hi in C
GOTO 1
Logik für Informatiker, SS ’06 – p.20
Erfüllbarkeitstest für Horn-Formeln
Logik für Informatiker, SS ’06 – p.21
Zusammenfassung: Normalformen
• Literale, Klauseln
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Umformen in KNF
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Umformen in KNF
• Mengenschreibweise
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Umformen in KNF
• Mengenschreibweise
• Subsumtion
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Umformen in KNF
• Mengenschreibweise
• Subsumtion
• SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT)
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Umformen in KNF
• Mengenschreibweise
• Subsumtion
• SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT)
• Horn-Formeln
Logik für Informatiker, SS ’06 – p.22
Zusammenfassung: Normalformen
• Literale, Klauseln
• Konjunktive und Disjunktive Normalform
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Umformen in KNF
• Mengenschreibweise
• Subsumtion
• SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT)
• Horn-Formeln
• Erfüllbarkeitstest für Hornformeln
Logik für Informatiker, SS ’06 – p.22
Herunterladen