Formale Methoden 2 - LS1 - Logik in der Informatik

Werbung
Formale Methoden 2
Gaetano Geck
Lehrstuhl I – Logik in der Informatik
WS 2014/2015
Teil 3: Logik
1
Aussagenlogik
Einleitung
Eigenschaften
Äquivalenz
Folgerung
Normalformen
2
Prädikatenlogik
Logik / Aussagenlogik
Motivation: Psychologisches Experiment (1/2)
Der Psychologe Peter Wason hat 1966 folgendes logisches Denkspiel durchgeführt.
Nur circa 10 % der Probanden kamen auf die richtige Antwort.
Kartentypen
Spielkarten haben
eine Vorderseite vom Typ
eine Rückseite vom Typ
oder
oder
Gegebene Karten
Vor Ihnen liegen folgende vier Karten
Frage
Wie viele Karten müssen Sie wenden, um herauszufinden,
ob die vor Ihnen liegenden Karten die folgende Regel erfüllen?
Wenn eine Karte die Rückseite
FM2 (WS 2014/15, Geck)
hat, dann hat sie auch die Vorderseite
.
106
Logik / Aussagenlogik
Motivation: Psychologisches Experiment (2/2)
Die Psychologen Cosmides und Tooby haben 1992 herausgefunden, dass in einem „sozialen
Kontext“ die Erfolgswahrscheinlichkeit der Probanden deutlich höher ist.
Kartentypen
Spielkarten haben
eine Vorderseite vom Typ
eine Rückseite vom Typ
16
14
Bier
Saft
oder
oder
Gegebene Karten
Vor Ihnen liegen folgende vier Karten
14
Bier
16
Saft
Frage
Wie viele Karten müssen Sie wenden, um herauszufinden,
ob die vor Ihnen liegenden Karten die folgende Regel erfüllen?
16
Bier
Wenn eine Karte die Rückseite
FM2 (WS 2014/15, Geck)
hat, dann hat sie auch die Vorderseite
.
107
Logik / Aussagenlogik
Einleitung
Beobachtung
Aller Unterschiede bei den Probanden zum Trotz
sind beide Experimente formal (der Form nach) gleich.
Formale Logiken:
In formalen Logiken steht die Gültigkeit von Schlussfolgerungen ohne Bezug auf den
semantischen Gehalt von Aussagen im Vordergrund.
Beispiel: „Es gibt ein blaues Einhorn oder es gibt kein blaues Einhorn“ ist wahr,
unabhängig von der Existenz blauer Einhörner.
Formale Logiken bedienen sich einer speziellen Notation, um Mehrdeutigkeiten zu
vermeiden, und bilden damit formale Sprachen1 .
Dabei muss
1 erstens die Syntax (Grammatik) der formalen Sprache und
2 zweitens die Semantik (Bedeutung) der formalen Sprache definiert werden.
Bemerkung
Es gibt viele verschiedene Logiken, die sich in Syntax und Semantik und damit oftmals
auch in ihrer Ausdrucksstärke unterscheiden.
Einige Sachverhalte können in einigen Logiken ausgedrückt werden, in anderen nicht.
Beschreibungen können in einigen Logiken kürzer sein als in anderen.
Wir betrachten zwei Logiken: die Aussagenlogik und die Prädikatenlogik.
1
Im Unterschied zu natürlichen Sprachen.
FM2 (WS 2014/15, Geck)
108
Logik / Aussagenlogik
Syntax
Einzelne Aussagen werden durch Variablen repräsentiert.
Wir setzen eine nichtleere Menge AV aussagenlogischer Variablen voraus.
Oftmals nutzen wir A, B, C ∈ AV (auch mit Indizes, etwa A1 , A2 , A3 , · · · ∈ AV).
Ausgehend von AV und zwei ausgezeichneten Formeln >, ⊥ definieren wir induktiv:
Definition 1.1 (Syntax aussagenlogischer Formeln)
Die Menge AL aussagenlogischer Formeln ist die kleinste Menge, für die gilt
> ∈ AL und ⊥ ∈ AL
für jede Variable X ∈ AV gilt X ∈ AL
für alle ϕ ∈ AL ist ¬ϕ ∈ AL
(Negation von ϕ)
für alle ϕ, ψ ∈ AL ist (ϕ ∧ ψ) ∈ AL
(Konjunktion von ϕ und ψ)
für alle ϕ, ψ ∈ AL ist (ϕ ∨ ψ) ∈ AL
(Disjunktion von ϕ und ψ)
Beispiele 1.2
Formeln:
A,
keine Formeln:
(A ∧ ⊥),
A>,
¬(A ∧ ⊥) ∨ B ∨ (A ∧ C)
∧A,
(A ∧ ∧B),
(A ∧ B ∧ C)
Frage
Ist > ∨ (A ∨ ¬A) ∧ ¬¬⊥
FM2 (WS 2014/15, Geck)
eine Formel?
109
Logik / Aussagenlogik
Semantik
Definition 1.3
Eine Belegung ist eine partielle Abbildung α : AV*{0, 1}.
Sie heißt passend zu einer Formel ϕ ∈ AL,
wenn sie für jede Variable X in ϕ definiert ist, X ∈ D(α).
Beispiel 1.4
Die Belegung α : AV *{0, 1} mit
α(A) = 1,
α(B) = 0, α(C) = 1
passt zu den Formeln (A ∧ B) und (C ∨ ¬B) ∧ A ,
nicht jedoch zur Formel (A ∧ E), da E < {A, B, C} = D(α).
Definition 1.5 (Semantik aussagenlogischer Formeln)
Der Wert [[ϕ]]α einer Formel ϕ unter einer Belegung α ist induktiv definiert durch
[[⊥]]α = 0 und [[>]]α = 1;
[[X]]α = α(X)
für jede Variable X ∈ AV;
(
0 falls [[ϕ]]α = 1
[[¬ϕ]]α =
1 falls [[ϕ]]α = 0
FM2 (WS 2014/15, Geck)
(
0
1
falls [[ϕ]]α = 0 oder [[ψ]]α = 0
falls [[ϕ]]α = 1 = [[ψ]]α .
(
1
0
falls [[ϕ]]α = 1 oder [[ψ]]α = 1
falls [[ϕ]]α = 0 = [[ψ]]α .
[[(ϕ ∧ ψ)]]α =
[[(ϕ ∨ ψ)]]α =
110
Logik / Aussagenlogik
Semantik: Auswertung
Die induktive Definition des Wertes erlaubt eine rekursive Auswertung
Beispiel 1.6 (Rekursive Auswertung)
Wir betrachten die Formel
ϕ = ¬ (A ∨ ¬A) ∧ B ∨ A
und die Belegung α : AV*{0, 1} mit α(A) = 0 und α(B) = 1.
Ziel: Bestimme [[ϕ]]α
0 [[¬ (A ∨ ¬A) ∧ B ∨ A]]α
0 [[¬ (A ∨ ¬A) ∧ B ]]α
[[A]]α 0
1 [[ (A ∨ ¬A) ∧ B ]]α
1 [[A ∨ ¬A]]α
0 [[A]]α
[[B]]α 1
[[¬A]]α 1
[[A]]α 0
FM2 (WS 2014/15, Geck)
111
Logik / Aussagenlogik
Semantik: Auswertung (Wahrheitstabellen)
Der Wahrheitsgehalt einer Formel hängt im Allgemeinen von der Belegung ihrer
Variablen ab.
Eine Formel mit n Variablen besitzt genau 2n verschiedene Belegungen
(die nur für diese Variablen definiert sind).
Die Werte der Formel (sowie ihrer Teilformeln2 ) unter allen Belegungen können in
einer (vollständigen) Wahrheitstabelle dargestellt werden.
Beispiel 1.7 (Vollständige Wahrheitstabelle)
Die Formel ϕ = (¬A ∨ B) ∧ (A ∨ ¬B) besitzt vier verschiedene Belegungen, die zu folgender
Wahrheitstabelle führen
α
α0,0
α0,1
α1,0
α1,1
2
[[A]]α
0
0
1
1
[[B]]α
0
1
0
1
[[¬A]]α
1
1
0
0
[[¬B]]α
1
0
1
0
[[(¬A ∨ B)]]α
1
1
0
1
[[(A ∨ ¬B)]]α
1
0
1
1
[[ϕ]]α
1
0
0
1
Eine Teilformel von ϕ ist ein Teilwort, welches selbst eine Formel ist.
FM2 (WS 2014/15, Geck)
112
Logik / Aussagenlogik
Semantik: Wahrheitstabellen der Operatoren
Die Semantik der aussagenlogischen Operatoren ¬, ∧, ∨ kann auch durch
Wahrheitstabellen dargestellt werden.
[[ϕ]]α [[ψ]]α [[ϕ ∧ ψ]]α
[[ϕ]]α [[ψ]]α
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
Wir definieren außerdem als abkürzende Schreibweise die Operatoren
(Syntaktische) Implikation: ϕ→ψ ≡ (¬ϕ ∨ ψ)
(Syntaktische) Äquivalenz: ϕ↔ψ ≡ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ)
[[ϕ]]α
0
1
[[¬ϕ]]α
1
0
[[ϕ ∨ ψ]]α
0
1
1
1
Aufgabe
Stellen Sie die Wahrheitstabellen von ϕ→ψ und ϕ↔ψ auf.
Lösung
[[ϕ]]α
0
0
1
1
FM2 (WS 2014/15, Geck)
[[ψ]]α
0
1
0
1
[[ϕ→ψ]]α
1
1
0
1
[[ϕ]]α
0
0
1
1
[[ψ]]α
0
1
0
1
[[ϕ↔ψ]]α
1
0
0
1
113
Logik / Aussagenlogik
Eigenschaften: Erfüllbarkeit (1/2)
Definition 1.8
Sei ϕ eine aussagenlogische Formel und α eine zu ihr passende Belegung,
dann heißt α erfüllend für ϕ genau dann, wenn [[ϕ]]α = 1 gilt.
Beispiel 1.9
Wir betrachten die Formel ϕ = (¬A ∨ B) ∧ (A ∨ ¬B) mit der vollständigen Wahrheitstabelle
α
α0,0
α0,1
α1,0
α1,1
[[A]]α
0
0
1
0
[[B]]α
0
1
0
0
[[¬A]]α
1
1
0
1
[[¬B]]α
1
0
1
1
[[(¬A ∨ B)]]α
1
1
0
1
[[(A ∨ ¬B)]]α
1
0
1
1
[[ϕ]]α
1
0
0
1
Die Belegungen α0,0 und α1,1 sind erfüllend für ϕ.
Die Belegungen α0,1 und α1,0 sind nicht erfüllend für ϕ.
FM2 (WS 2014/15, Geck)
114
Logik / Aussagenlogik
Eigenschaften: Erfüllbarkeit (2/2)
Definition 1.10
Sei ϕ eine aussagenlogische Formel, dann heißt ϕ
erfüllbar, wenn es eine passende erfüllende Belegung für sie gibt;
unerfüllbar, wenn es keine passende erfüllende Belegung für sie gibt;
allgemeingültig oder Tautologie, wenn jede zu ihr passende Belegung erfüllend ist.
Frage
Betrachten Sie die Formel ϕ aus Beispiel 1.9.
Ist ϕ erfüllbar?
Ist ϕ unerfüllbar?
Ist ϕ allgemeingültig?
Aufgabe
Geben Sie eine aussagenlogische Formel mit mindestens einer Variablen an, die
unerfüllbar ist.
Geben Sie eine aussagenlogische Formel mit mindestens einer Variablen an, die
eine Tautologie ist.
FM2 (WS 2014/15, Geck)
115
Logik / Aussagenlogik
Eigenschaften: Äquivalenz
Definition 1.11 (Semantische Äquivalenz)
Aussagenlogische Formeln ϕ und ψ sind äquivalent, ϕ ≡ ψ, wenn für jede Belegung α,
die sowohl zu ϕ als auch zu ψ passt, die Gleichung [[ϕ]]α = [[ψ]]α erfüllt ist.
Beispiel 1.12 (¬(A ∧ B) ≡ (¬A ∨ ¬B))
Die Formeln ϕ = ¬(A ∧ B) und ψ = (¬A ∨ ¬B) sind äquivalent.
Für beide Formeln gibt es vier verschiedene Belegungen. Wir bestimmen für jede Formel
den Wert unter der Belegung mittels Wahrheitstabellen:
α
α0,0
α0,1
α1,0
α1,1
α
α0,0
α0,1
α1,0
α1,1
[[A]]α
0
0
1
1
[[A]]α
0
0
1
1
[[B]]α
0
1
0
1
[[B]]α
0
1
0
1
[[A ∧ B]]α
0
0
0
1
[[¬A]]α
1
1
0
0
[[¬B]]α
1
0
1
0
[[¬(A ∧ B)]]α
1
1
1
0
[[(¬A ∨ ¬B)]]α
1
1
1
0
Aufgabe
Zeigen Sie ¬(A ∧ B) . (¬A ∧ ¬B) und ¬A ≡ (¬A ∧ B) ∨ (¬A ∧ ¬B) .
FM2 (WS 2014/15, Geck)
116
Logik / Aussagenlogik
Eigenschaften: Äquivalenz (Ersetzungslemma)
Was geschieht, wenn Teilformeln durch äquivalente Teilformeln ersetzt werden?
Frage
Wir wissen aus Beispiel 1.12: ¬(A ∧ B) ≡ (¬A ∨ ¬B).
Naheliegende Frage: Gilt dann auch ¬(A ∧ B)∨C ≡ (¬A ∨ ¬B)∨C ?
Lemma 1.13 (Ersetzungslemma)
Seien ϕ und ψ äquivalente aussagenlogische Formeln, ϕ ≡ ψ.
Die Formel χ enthalte die Teilformel ϕ und
die Formel χ0 gehe aus χ hervor,
indem ein Vorkommen von ϕ durch ein Vorkommen von ψ ersetzt wird,
dann gilt χ ≡ χ0 .
Antwort
Es gilt ¬(A ∧ B)∨C ≡ (¬A ∨ ¬B)∨C gemäß Ersetzungslemma mit
ϕ = ¬(A ∧ B) und ψ = (¬A ∨ ¬B)
χ = ¬(A ∧ B)∨C und χ0 = (¬A ∨ ¬B)∨C .
FM2 (WS 2014/15, Geck)
117
Logik / Aussagenlogik
Eigenschaften: Äquivalenz (Substitutionslemma)
Was geschieht, wenn Aussagenvariablen in äquivalenten Formeln „einheitlich“ durch
Teilformeln ersetzt werden?
Definition 1.14
Eine (Variablen-)Substitution ist eine partielle Abbildung S : AV*AL.
Für eine aussagenlogische Formel ϕ bezeichnen wir mit S(ϕ) die Formel,
die aus ϕ hervorgeht, indem jede Variable X ∈ AV,
die sowohl in ϕ als auch in D(S) vorkommt, durch S(X) ersetzt wird.
Beispiel 1.15
Sei S : AV*AL mit D(S) = {A, B, C} und
(A ∧ ¬A), S(C) = B,
S(A) = C, S(B) =
dann gilt etwa S (A ∧ ¬B) ∨ (B ∧ ¬A) = C ∧ ¬(A ∧ ¬A) ∨ (A ∧ ¬A) ∧ ¬C .
Lemma 1.16 (Substitutionslemma)
Sind aussagenlogische Formeln ϕ und ψ äquivalent, so sind die aussagenlogischen
Formeln S(ϕ) und S(ψ) für jede Substitution S äquivalent.
Beispiel 1.17
Wir wissen: ¬(A ∧ B) ≡ (¬A ∨ ¬B). Mit der Substitution S(A) = (¬C ∧ D) folgt daher
¬ (¬C ∧ D) ∧ B ≡ ¬(¬C ∧ D) ∨ ¬B .
FM2 (WS 2014/15, Geck)
118
Logik / Aussagenlogik
Eigenschaften: Äquivalenz (Wichtige Gesetze, 1/2)
Satz 1.18
Seien ϕ, ψ und χ aussagenlogische Formeln. Dann gilt
Doppelnegation: ¬¬ϕ ≡ ϕ
Idempotenz: (ϕ ∧ ϕ) ≡ ϕ und (ϕ ∨ ϕ) ≡ ϕ
Kommutativität:
• (ϕ ∧ ψ) ≡ (ψ ∧ ϕ)
• (ϕ ∨ ψ) ≡ (ψ ∨ ϕ)
Assoziativität:
•
•
(ϕ ∧ ψ) ∧ χ ≡ ϕ ∧ (ψ ∧ χ)
(ϕ ∨ ψ) ∨ χ ≡ ϕ ∨ (ψ ∨ χ)
De-Morgan’sche Regeln:
• ¬(ϕ ∧ ψ) ≡ (¬ϕ ∨ ¬ψ)
• ¬(ϕ ∨ ψ) ≡ (¬ϕ ∧ ¬ψ)
Beweisidee
Beispiel De-Morgan’sche Regel ¬(ϕ ∧ ψ) ≡ (¬ϕ ∨ ¬ψ):
1
Beweise ¬(A ∧ B) ≡ (¬A ∨ ¬B), etwa via Wahrheitstabellen.
2
Nutze Substitutionslemma mit S(A) = ϕ und S(B) = ψ.
FM2 (WS 2014/15, Geck)
119
Logik / Aussagenlogik
Eigenschaften: Äquivalenz (Wichtige Gesetze, 2/2)
Satz 1.19
Seien ϕ, ψ und χ aussagenlogische Formeln. Dann gilt
Distributivität:
• ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ)
• ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ)
Tertium non datur: ϕ ∧ ¬ϕ ≡ ⊥ und ϕ ∨ ¬ϕ ≡ >
Dominanz: ⊥ ∧ ϕ ≡ ⊥ und > ∨ ϕ ≡ >
Neutralität: > ∧ ϕ ≡ ϕ und ⊥ ∨ ϕ ≡ ϕ
Praxisbezug
Das Dominanzgesetz liegt der Shortcut-Evaluation (C++, Java, . . . ) zugrunde:
• Bedingungen mit Boole’schen Ausdrücken werden von links nach rechts ausgewertet.
• Weniger aufwendig zu testende Bedingungen sollten deshalb weiter links stehen.
Möglich:
if (langwierigerTest (i) && i >= 10)
meineMethode (i);
Besser:
if (i >= 10 && langwierigerTest (i))
meineMethode (i);
(Analog für die disjunktive Verknüpfung ||.)
FM2 (WS 2014/15, Geck)
120
Logik / Aussagenlogik
Einschub: Abkürzende Schreibweisen
Die Assoziativität der Operatoren ∧ und ∨ erlaubt uns die Einsparung von Klammern:
Wir können ϕ ∧ ψ ∧ χ statt (ϕ ∧ ψ) ∧ χ oder ϕ ∧ (ψ ∧ χ) schreiben
und analog ϕ ∨ ψ ∨ χ statt (ϕ ∨ ψ) ∨ χ oder ϕ ∨ (ψ ∨ χ)).
Abkürzungen
n
^
ϕi ≡ ϕ1 ∧ · · · ∧ ϕn für n ∈ N und
i=1
n
_
0
^
ϕi = >;
i=1
ϕi ≡ ϕ1 ∨ · · · ∨ ϕn für n ∈ N und
i=1
0
_
ϕi = ⊥.
i=1
Analog:
^
ϕi ≡ ϕi1 ∧ · · · ∧ ϕin für I = {i1 , . . . , in } , ∅ und
i∈I
_
^
ϕi = > ;
i∈∅
ϕi ≡ ϕi1 ∨ · · · ∨ ϕin für I = {i1 , . . . , in } , ∅ und
i∈I
FM2 (WS 2014/15, Geck)
_
ϕi = ⊥ .
i∈∅
121
Logik / Aussagenlogik
Folgerung
Formeln können Wissen repräsentieren in Form von
Fakten: etwa A oder ¬B und
Regeln: etwa A→B oder C↔¬D.
Beispiel 1.20
Wir gehen von der Richtigkeit der folgenden Fakten und Regeln aus:
Fakt: Ich bin ein Mensch (M );
Regel: Wenn etwas ein Mensch ist, dann ist es auch ein Tier (M→T );
Regel: Wenn etwas ein Tier ist, dann ist es auch sterblich (T→S).
Modellierung: Dieses Wissen repräsentieren wir explizit durch die Formelmenge
M,
M→T,
T→S .
Beobachtung: Implizit wird auch das Faktum meiner Sterblichkeit repräsentiert.
Definition 1.21 (Semantische Implikation)
Sei Φ = {ϕ1 , . . . , ϕn } ⊆ AL eine Formelmenge und ψ ∈ AL eine Formel.
Die Formelmenge Φ impliziert ψ, Φ |= ψ, wenn
jede zu ϕ1 , . . . , ϕn , ψ passende Belegung,
die für ϕ1 , . . . , ϕn erfüllend ist,
auch die Formel ψ erfüllt.
Bemerkung: Diese Definition lässt sich auch auf unendliche Formelmengen erweitern.
FM2 (WS 2014/15, Geck)
122
Logik / Aussagenlogik
Folgerung
Beispiel 1.22
Es gilt M, M→T, T→S |= S.
Beweisskizze:
Sei α : AV*{0, 1} eine Belegung.
Um zu M , M→T , T→S und S zu passen, muss D(α) = {M, S, T} gelten.
1
Um M zu erfüllen, muss α(M) = 1 gelten.
2
Um ferner M→T zu erfüllen, muss α(T) = 1 gelten und
3
um außerdem T→S zu erfüllen, muss α(S) = 1 gelten.
4
Insbesondere erfüllt α also die Formel S, [[S]]α = α(S) = 1.
Frage
Gilt M, M→T, T→S |= (M ∧ S)?
Gilt M, M→T, T→S |= (¬S→¬M)?
FM2 (WS 2014/15, Geck)
123
Logik / Aussagenlogik
Folgerung, Äquivalenz und Erfüllbarkeit
Zwischen semantischer und syntaktischer Äquivalenz/Implikation besteht ein enger
Zusammenhang:
Satz 1.23
Seien Φ = {ϕ1 , . . . , ϕn } ⊆ AL eine Menge von Formeln und ψ, χ ∈ AL Formeln, dann gilt
ψ ≡ χ genau dann, wenn ψ↔χ allgemeingültig ist;
Φ |= ψ genau dann, wenn (ϕ1 ∧ · · · ∧ ϕn ) →ψ allgemeingültig ist.
Bemerkung:
ψ ≡ χ ist nicht dasselbe wie ψ↔χ und
Φ |= ψ ist nicht dasselbe wie (ϕ1 ∧ . . . ∧ ϕn )→ψ.
Dies lässt schon der „Typ“ der Konstrukte erkennen:
• ψ ≡ χ und Φ |= ψ sind Aussagen über Formeln,
• ψ↔χ und (ϕ1 ∧ · · · ∧ ϕn )→ψ sind Formeln.
Ferner gilt der folgende Zusammenhang:
Lemma 1.24
Eine Formel ϕ ∈ AL ist genau dann allgemeingültig, wenn die Formel ¬ϕ unerfüllbar ist.
Folgerung 1.25
Für Φ = {ϕ1 , . . . , ϕn } ⊆ AL und ψ ∈ AL gilt Φ |= ψ genau dann,
wenn ϕ1 ∧ · · · ∧ ϕn ∧ ¬ψ unerfüllbar ist.
FM2 (WS 2014/15, Geck)
124
Logik / Aussagenlogik
Modellierung (1/4): Studentenleben
Beispiel 1.26
Aussagenvariablen:
TMo , TDi , TMi , TDo , TFr , TSa , TSo : Heute ist Montag, Dienstag, . . . , Sonntag;
F : Heute gehe ich feiern;
S: Heute widme ich mich meinem Studium.
Regel: Ich gehe nur donnerstags, freitags und samstags feiern.
Formel: F→(TDo ∨ TFr ∨ TSa )
Regel: Freitags studiere ich.
Formel: TFr →S
Regel: Heute widme ich mich entweder dem Studium oder ich gehe feiern.
Formel: (S ∧ ¬F) ∨ (F ∧ ¬S)
Aufgabe
Seien Sie nicht so streng mit sich! Freitags können Sie auch studieren und feiern gehen . . .
Geben Sie eine Formel für folgende Regel an:
Wenn heute ein Werktag ist, studiere ich.
An einem solchen Tag gehe ich nicht feiern, außer vielleicht freitags.
FM2 (WS 2014/15, Geck)
125
Logik / Aussagenlogik
Modellierung (2/4): 3-Färbbarkeit
Auch graphentheoretische Eigenschaften können durch Formeln ausgedrückt werden:
Beispiel 1.27
Sei G = (V, E) ein beliebiger einfacher ungerichteter Graph.
Aussagenvariablen: Für jeden Knoten v ∈ V gibt es die Variablen:
Rv : Knoten v ist rot gefärbt
Gv : Knoten v ist grün gefärbt
Bv : Knoten v ist blau gefärbt
Eigenschaft: Knoten v besitzt genau eine Farbe
Formel: ψv = (Rv ∧ ¬Gv ∧ ¬Bv ) ∨ (¬Rv ∧ Gv ∧ ¬Bv ) ∨ (¬Rv ∧ ¬Gv ∧ Bv )
Eigenschaft: Knoten u und v haben nicht dieselbe Farbe
Formel: χu,v = ¬(Ru ∧ Rv ) ∧ ¬(Gu ∧ Gv ) ∧ ¬(Bu ∧ Bv )
Eigenschaft: Der Graph ist 3-färbbar.

^
Gesamtformel: ϕG = 
v∈V

 

  ^
ψv  ∧ 
χu,v 
(u,v)∈E
Fakt: Ein Graph G ist genau dann 3-färbbar, wenn die zugehörige Formel ϕG erfüllbar ist.
FM2 (WS 2014/15, Geck)
126
Logik / Aussagenlogik
Modellierung (3/4): 3-Färbbarkeit
Beispiel 1.28
Für den folgenden Graphen G4 = (V4 , E4 )
1
2
3
4
ergibt sich beispielsweise die Formel
ϕG4 = (ψ1 ∧ ψ2 ∧ ψ3 ∧ ψ4 ) ∧ (χ1,2 ∧ χ1,3 ∧ χ1,4 ∧ χ2,4 ∧ χ3,4 ) = . . . .
Interessant an der vorhergehenden Konstruktion (dem Fakt) ist
Folgerung 1.29
Gibt es einen Algorithmus B, der in Polynomialzeit entscheidet, ob eine aussagenlogische
Formel erfüllbar ist, so gibt es auch einen Algorithmus A, der in Polynomialzeit entscheidet,
ob ein Graph 3-färbbar ist.
Algorithmus A:
1
Wandle Eingabegraphen G in aussagenlogische Formel ϕG um.
2
Führe Algorithmus B für Eingabeformel ϕG aus und gib dessen Ergebnis zurück.
FM2 (WS 2014/15, Geck)
127
Logik / Aussagenlogik
Modellierung (4/4): Knotenüberdeckung
Aufgabe
Geben Sie analog zu vorhergehendem Beispiel die Konstruktion einer Formel ϕG an,
sodass ϕG genau dann erfüllbar ist, wenn der Graph G = (V, E) eine Knotenüberdeckung
der Größe 2 besitzt.
Lösung
Sei G = (V, E) ein beliebiger einfacher ungerichteter Graph.
Aussagenvariablen:
Für jeden Knoten v ∈ V = {1, . . . , n} gibt es eine Variable Cv : Knoten v ist in der Überdeckung
Eigenschaft: Die Überdeckung
^ enthält genau die Knoten v und w
Formel: ψv,w = Cv ∧ Cw ∧
¬Cu
u∈V−{v,w}
Eigenschaft: Kante (u, v) ∈ E wird überdeckt
Formel: χu,v = Cu ∨ Cv .
Eigenschaft: Der Graph
der Größe 2
 besitzt eine Knotenüberdeckung
 

 _
Gesamtformel: ϕG = 

_
v ∈V w∈V−{v}
FM2 (WS 2014/15, Geck)
  ^

ψv,w  ∧ 
χu,v  .
(u,v)∈E
128
Logik / Aussagenlogik
Normalformen (1/3)
Man kann diverse syntaktische Einschränkungen für Formeln definieren.
Diese beschreiben eine Untermenge F ⊆ AL aller Formeln.
Eine solche Einschränkung heißt Normalform (für die Aussagenlogik),
wenn es zu jeder Formel ϕ ∈ AL eine äquivalente Formel ϕ0 ∈ F.
Motivation: Normalformen können Beweise und Algorithmen vereinfachen,
da weniger strukturelle Unterschiede betrachtet werden müssen.
Definition 1.30
Eine Formel ϕ ist in Negationsnormalform (NNF),
wenn Negationen nur unmittelbar vor Variablen vorkommen.
Eine Formel ϕ ist in konjunktiver Normalform (KNF),
wenn sie von der Form ϕ = D1 ∧ · · · ∧ Dk für disjunktive Klauseln D1 , . . . , Dk ist.
Eine Formel ϕ ist in disjunktiver Normalform (DNF),
wenn sie von der Form ϕ = C1 ∨ · · · ∨ Ck für konjunktive Klauseln C1 , . . . , Ck ist.
Dabei gilt:
Eine disjunktive Klausel ist eine Formel (`1 ∨ · · · ∨ `n ) mit Literalen `1 , . . . , `n ;
eine konjunktive Klausel ist eine Formel (`1 ∧ · · · ∧ `n ) mit Literalen `1 , . . . , `n ; und
ein Literal ist eine Variable X oder eine negierte Variable ¬X .
Mit ALNNF , ALKNF , ALDNF ⊆ AL bezeichnen wir alle Formeln in NNF, KNF bzw. DNF.
FM2 (WS 2014/15, Geck)
129
Logik / Aussagenlogik
Normalformen (2/3)
Definition 1.31
Eine Formel ϕ ist in Negationsnormalform (NNF),
wenn Negationen nur unmittelbar vor Variablen vorkommen.
Eine Formel ϕ ist in konjunktiver Normalform (KNF),
wenn sie von der Form ϕ = D1 ∧ · · · ∧ Dk für disjunktive Klauseln D1 , . . . , Dk ist.
Eine Formel ϕ ist in disjunktiver Normalform (DNF),
wenn sie von der Form ϕ = C1 ∨ · · · ∨ Ck für konjunktive Klauseln C1 , . . . , Ck ist.
Dabei ist
Eine disjunktive Klausel ist eine Formel (`1 ∨ · · · ∨ `n ) mit Literalen `1 , . . . , `n ;
eine konjunktive Klausel ist eine Formel (`1 ∧ · · · ∧ `n ) mit Literalen `1 , . . . , `n ; und
ein Literal ist eine Variable X oder eine negierte Variable ¬X .
Beispiel 1.32
in NNF: ¬A ∨ (B ∧ A) ∨ ¬C ;
nicht in NNF: A ∨ ¬¬B,
¬(A ∧ ¬B);
in KNF: A ∧ (B ∨ ¬C) ∧ (A ∨ ¬A ∨ ¬B),
A ∨ B ∨ ¬C;
nicht in KNF: A ∨ (B ∧ ¬C);
FM2 (WS 2014/15, Geck)
130
Logik / Aussagenlogik
Normalformen (3/3)
Satz 1.33
Zu ϕ ∈ AL kann in Polynomialzeit eine äquivalente Formel ϕ0 ∈ ALNNF berechnet werden.
Zu ϕ ∈ AL kann in Polynomialzeit eine äquivalente Formel ϕ0 ∈ ALKNF berechnet werden.
Zu ϕ ∈ AL kann in Polynomialzeit eine äquivalente Formel ϕ0 ∈ ALDNF berechnet werden.
Beweisskizze:
Berechnung NNF:
1
Nutze wiederholt die De-Morgan’schen Regeln, um Negationen „nach innen zu ziehen“.
2
Nutze wiederholt die Doppelnegationsregel, um Mehrfachnegationen zu eliminieren.
Berechnung KNF:
1
Berechne zunächst NNF.
2
Nutze wiederholt das Distributivgesetz ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ),
um Disjunktionen „nach innen zu ziehen“.
Voraussetzungen (durch vorhergehende Ersetzungen zu erfüllen):
→ und ↔ kommen nicht in ϕ vor
⊥ und > kommen nicht in ϕ vor
Aufgabe
Bestimmen Sie ϕ0 ∈ ALNNF , sodass ϕ0 ≡ ¬ A ∧ ¬ B ∧ ¬C ∧ (D ∨ ¬E) .
Bestimmen Sie ψ0 ∈ ALKNF , sodass ψ0 ≡ ¬ (A ∨ ¬B) ∧ (B ∨ ¬C) .
FM2 (WS 2014/15, Geck)
131
Herunterladen