Kapitel 1.3 Normalformen aussagenlogischer Formeln

Werbung
Kapitel 1.3
Normalformen aussagenlogischer Formeln
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
1/1
Boolesche Formeln, Literale und Klauseln
Eine Boolesche Formel ist eine aussagenlogische Formel, in der die
Junktoren → und ↔ nicht vorkommen.
Ein Literal λ ist eine Aussagenvariable (λ ≡ A) oder eine negierte
Aussagenvariable (λ ≡ ¬A).
Eine ∨-Klausel δ ist eine endliche Disjunktion von Literalen
(δ ≡ λ1 ∨ · · · ∨ λn , n ≥ 1).
Eine ∧-Klausel κ ist eine endliche Konjunktion von Literalen
(κ ≡ λ1 ∧ · · · ∧ λn , n ≥ 1).
NOTATION:
W
•
i=1,...,n ψi :≡ ψ1 ∨ · · · ∨ ψn
Mathematische Logik (WS 2010/11)
•
V
i=1,...,n
Kapitel 1.3: Normalformen
ψi :≡ ψ1 ∧ · · · ∧ ψn
2/1
Disjunktive und konjunktive Normalformen
Eine Boolesche Formel ϕ is in disjunktiver Normalform (DNF), wenn
ϕ die endliche Disjunktion von ∧-Klauseln ist: ϕ ≡ κ1 ∨ · · · ∨ κm
(m ≥ 1).
Eine Boolesche Formel ϕ is in konjunktiver Normalform (KNF), wenn
ϕ die endliche Konjunktion von ∨-Klauseln ist: ϕ ≡ δ1 ∨ · · · ∨ δm
(m ≥ 1).
Disjunktive Normalform: ϕ ≡
W
Konjunktive Normalform: ϕ ≡
Mathematische Logik (WS 2010/11)
i=1,...,m
V
κi ≡
W
≡
V
i=1,...,m δi
Kapitel 1.3: Normalformen
i=1,...,m
V
i=1,...,m
j=1,...,ni
W
j=1,...,ni
λi,j
λi,j
3/1
Darstellungssatz
DARSTELLUNGSSATZ. Zu jeder n-stelligen Booleschen Funktion f kann
man effektiv eine Boolesche Formel ϕ in disjunktiver Normalform angeben,
sodass V (ϕ) = {A0 , . . . , An−1 } und ϕ die Funktion f darstellt (d.h. fϕ = f
gilt).
ZUR ERINNERUNG: fϕ (B(A0 ), . . . , B(An−1 )) = B(ϕ)
BEWEIS. Die Formel ϕ ist wie folgt definiert:
Für jede Eingabekombination (x0 , . . . , xn−1 ) ∈ {0, 1}n definiere die ∧-Klausel
κ(x0 ,...,xn−1 ) :≡ λ(0,x0 ) ∧ · · · ∧ λ(n−1,xn−1 )
wobei
(
λ(i,xi ) =
Ai
¬Ai
falls xi = 1
falls xi = 0.
Setze
ϕ :≡
Mathematische Logik (WS 2010/11)
W
{(x0 ,...,xn−1 )∈{0,1}n :f (x0 ,...,xn−1 )=1}
Kapitel 1.3: Normalformen
κ(x0 ,...,xn−1 )
4/1
Darstellungssatz: Beweis (Fortsetzung)
Korrektheit von ϕ: f = fϕ
Da f und fϕ Boolesche Funktionen sind, genügt es
f (x0 , . . . , xn−1 ) = 1 ⇔ fϕ (x0 , . . . , xn−1 ) = 1
zu zeigen.
“⇒” f (x0 , . . . , xn−1 ) = 1 ⇒ κ(x0 ,...,xn−1 ) Teilformel von ϕ
⇒ B(ϕ) = B(κ(x0 ,...,xn−1 ) ) = 1
für die Belegung B(Ai ) = xi
⇒ fϕ (x0 , . . . , xn−1 ) = 1
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
5/1
Darstellungssatz: Beweis (Abschluss)
“⇐” fϕ (x0 , . . . , xn−1 ) = 1 ⇒ B(ϕ) = 1 für B(Ai ) = xi
0
⇒ ϕ enthält ∧-Klausel κ(x00 ,...,xn−1
)
0
mit B(κ(x00 ,...,xn−1
)
=
1
)
(da ϕ Disjunktion solcher Klauseln)
⇒ ϕ enthält die ∧-Klausel κ(x0 ,...,xn−1 )
0
(da B(κ(x00 ,...,xn−1
)) = 1
0
g.d.w. xi = xi für i < n)
⇒ f (x0 , . . . , xn−1 ) = 1
(nach Definition von ϕ)
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
6/1
Darstellungssatz: Beispiel
Die EXOR-Funktion ist durch folgende Wertetabelle bestimmt:
x0 x1 EXOR(x0 , x1 )
0 0
0
0 1
1
1
1 0
1 1
0
Sie wird also von der Formel
ϕEXOR ≡ (¬A0 ∧ A1 ) ∨ (A0 ∧ ¬A1 )
dargestellt
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
7/1
Folgerungen aus dem Darstellungssatz: Basissatz
BASISSATZ. Die Booleschen Funktionen {¬, ∨, ∧} bilden eine Basis der
Booleschen Funktionen.
BEWEIS. Nach dem Darstellungssatz wird jede Boolesche Funktion von einer
Booleschen Formel dargestellt. Es genügt daher zu zeigen, dass sich für jede
Boolesche Formel ϕ mit V (ϕ) ⊆ {A0 , . . . , An−1 } die dargestellte n-st. Boolesche
Funktionen fϕ,n mit Hilfe der Funktionen ¬, ∨ und ∧ darstellen lässt.
Wir zeigen dies durch Induktion nach dem Aufbau von ϕ:
1
ϕ ≡ Ai : fϕ,n (x0 , . . . , xn−1 ) = xi = ∨(xi , xi )
2
ϕ ≡ ¬ψ: Dann gilt fϕ,n = ¬(fψ,n ).
Die Behauptung folgt also aus der I.V.
3
ϕ ≡ ψ0 ∨ ψ1 oder ϕ ≡ ψ0 ∧ ψ1 : Dann gilt fϕ,n = ∨(fψ0 ,n , fψ1 ,n ) bzw.
fϕ,n = ∧(fψ0 ,n , fψ1 ,n ).
Die Behauptung folgt also wiederum aus der I.V.
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
8/1
Folgerungen aus dem Darstellungssatz: Basissatz (Forts.)
Der Basissatz kann wie folgt verschärft werden:
KOROLLAR ZUM BASISSATZ. Folgende Mengen sind Basen der
Booleschen Funktionen:
(i) {¬, ∨} (ii) {¬, ∧} (iii) {NOR}
(iv) {NAND}
BEWEISIDEE. Da {¬, ∨, ∧} eine Basis ist, ist jede Menge {f0 , . . . , fk }, die
erlaubt die Funktionen ¬, ∨, ∧ darzustellen, ebenfalls eine Basis.
Zum Beispiel genügt es zum Beweis von (i) zu zeigen, dass sich ∧ mit Hilfe von ¬
und ∨ darstellen lässt, was nach DeMorgan wie folgt möglich ist:
∧(x0 , x1 ) = ¬(∨(¬(x0 ), ¬(x1 )))
Beweis der anderen Teile: Übung!
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
9/1
Folgerungen aus dem Darstellungssatz: Normalformsatz
NORMALFORMSATZ. Zu jeder al. Formel ϕ kann man effektiv eine
äquivalente Formel ϕDNF in disjunktiver Normalform angeben, sodass
V (ϕ) = V (ϕDNF ) gilt.
BEWEISIDEE.
Ersetzt man in äquivalenten Formeln ψ und ψ 0 mit
V (ψ) ∪ V (ψ 0 ) = {B0 , . . . , Bn−1 } die paarweise verschiedenen Variablen Bi
durch paarweise verschiedene Variablen Ci , so erhält man wiederum
äquivalente Formeln (Übung!).
Wir können daher o.B.d.A. annehmen, dass V (ϕ) = {A0 , . . . , An−1 } gilt.
Es genügt daher fϕ zu bestimmen und als ϕDNF die zugehörige Formel ϕfϕ
in DNF aus dem Darstellungssatz zu wählen.
Es gilt dann fϕ = fϕDNF und daher ϕ äq ϕDNF .
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
10 / 1
Normalformsatz: alternativer Beweis
Der Normalformsatz lässt sich auch direkt ohne Rückgriff auf den
Darstellungssatz beweisen (s. Skript für Details):
Hierzu überführt man eine al. Formel ϕ zunächst in eine äquivalente
Boolesche Formel ϕb (mit derselben Variablenmenge), indem man (induktiv
alle) Teilformeln ψ → ψ 0 und ψ ↔ ψ 0 mit Hilfe der Äquivalenzen
ψ → ψ 0 äq ¬(ψ) ∨ ψ 0
ψ ↔ ψ 0 äq (¬(ψ) ∨ ψ 0 ) ∧ (¬(ψ 0 ) ∨ ψ)
eliminert.
NB: Nach der Ersetzungsregel ist das Ergebnis dieser Ersetzungen äquivalent
zur Ausgangsformel ϕ!
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
11 / 1
Normalformsatz: alternativer Beweis (Fortsetzung)
Durch Anwendung der DeMorganschen Regeln und des Gesetzes der
doppelten Negation
¬(ψ ∨ ψ 0 ) äq ¬ψ ∧ ¬ψ 0
¬(ψ ∧ ψ 0 ) äq ¬ψ ∨ ¬ψ 0
¬¬ψ äq ψ
überführt man dann die Boolesche Formel ϕb in eine äquivalente Boolesche
Formel ϕn (mit derselben Variablenmenge), in der das Negationszeichen nur
vor Variablen vorkommt.
Schließlich eliminiert man in ϕn Vorkommen von ∧ von höherem Rang als
Vorkommen von ∨ mit Hilfe der Distributivgesetze
ψ ∧ (χ ∨ δ) äq (ψ ∧ χ) ∨ (ψ ∧ δ)
(ψ ∨ χ) ∧ δ äq (ψ ∧ δ) ∨ (χ ∧ δ)
und erhält so die gewünschte zu ϕ äquivalente Formel ϕDNF in disjunktiver
Normalform.
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
12 / 1
Konjunktive Normalform
Die für die Disjunktive Normalform erzielten Ergebnisse lassen sich ähnlich
für die Konjunktive Normalform zeigen:
DARSTELLUNGSSATZ (KNF). Zu jeder n-stelligen Booleschen Funktion
f kann man effektiv eine Boolesche Formel ϕ in konjunktiver Normalform
angeben, sodass V (ϕ) = {A0 , . . . , An−1 } und ϕ die Funktion f darstellt
(d.h. fϕ = f gilt).
NORMALFORMSATZ (KNF). Zu jeder al. Formel ϕ kann man effektiv
eine äquivalente Formel ϕKNF in konjunktiver Normalform angeben,
sodass V (ϕ) = V (ϕKNF ) gilt.
Da der Normalformsatz (KNF) aus dem Darstellungssatz (KNF) wie der
Normalformsatz aus dem Darstellungssatz folgt, genügt es den Darstellungssatz
(KNF) zu beweisen.
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
13 / 1
Darstellungssatz (KNF): Beweisidee
Zu einer Booleschen Funktion f (x0 , . . . , xn ) erhält man die darstellende
Formel ϕ in KNF wie folgt:
Für jede Eingabekombination (x0 , . . . , xn−1 ) ∈ {0, 1}n definiere die
∨-Klausel
δ(x0 ,...,xn−1 ) :≡ λd(0,x0 ) ∨ · · · ∨ λd(n−1,xn−1 )
wobei
λd(i,xi )
(
Ai
=
¬Ai
falls xi = 0
falls xi = 1.
Setze
ϕ :≡
V
Mathematische Logik (WS 2010/11)
{(x0 ,...,xn−1 )∈{0,1}n :f (x0 ,...,xn−1 )=0} δ(x0 ,...,xn−1 )
Kapitel 1.3: Normalformen
14 / 1
Darstellungssatz (KNF): Beispiel
Die EXOR-Funktion ist durch folgende Wertetabelle bestimmt:
x0 x1 EXOR(x0 , x1 )
0 0
0
0 1
1
1
1 0
1 1
0
Sie wird also von der KNF-Formel
ϕEXOR ≡ (A0 ∨ A1 ) ∧ (¬A0 ∨ ¬A1 )
dargestellt.
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
15 / 1
Alternative Konstruktion der KNF: Dualitätsprinzip
Eine Formel ϕ kann man auch wie folgt in KNF überführen:
Überführe die Negation ¬ϕ von ϕ in Disjunktive Normalform: (¬ϕ)DNF
Vertausche in (¬ϕ)DNF die Junktoren ∨ und ∧ und ersetze jedes Literal
durch das duale Literal (d.h. A durch ¬A und ¬A durch A.
Die so erhaltene Formel ist in KNF und äquivalent zu ϕ
Die Korrektheit dieser Konstruktion ergibt sich aus dem allgemeineren
Dualitätsprinzip:
D(ϕ) entstehe aus ϕ durch Vertauschung von ∨ und ∧.
(D(ϕ) nennt man die auch die zu ϕ duale Formel)
N(ϕ) entstehe aus ϕ, indem vor jede nichtnegierte Aussagenvariable das
Neagationszeichen geschrieben wird und bei jeder negierten
Aussagenvariable das Negationszeichen gestrichen wird.
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
16 / 1
Alternative Konstruktion der KNF: Dualitätsprinzip (Forts.)
DUALITÄTSSATZ.
(a) ¬ϕ äq D(N(ϕ))
(b) ϕ äq ψ ⇔ D(ϕ) äq D(ψ)
Den Dualitätssatz zeigt man durch Induktion nach dem Formelaufbau
unter Verwendung der DeMorganschen Gesetze und des Gesetzes der
doppelten Verneinung (sowie der Ersetzungsregel): Übung!
Wir demonstrieren die Beweisidee nur an Hand eines Beispiels:
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
17 / 1
Dualitätsprinzip: Beispiel
Für ϕ :≡ A0 ∨ ¬(A1 ∧ ¬A2 ) ist
N(ϕ) ≡ ¬A0 ∨ ¬(¬A1 ∧ A2 )
D(N(ϕ)) ≡ ¬A0 ∧ ¬(¬A1 ∨ A2 )
und es gilt
¬ϕ ≡
äq
äq
äq
≡
¬(A0 ∨ ¬(A1 ∧ ¬A2 ))
¬(A0 ∨ (¬A1 ∨ ¬¬A2 )) (DeMorgan)
¬(A0 ∨ (¬A1 ∨ A2 ))
(Doppelte Verneinung)
¬A0 ∧ ¬(¬A1 ∨ A2 )
(De Morgan)
D(N(ϕ))
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
18 / 1
Eigenschaften der DNF und KNF
Für Formeln in DNF lässt sich die Erfüllbarkeit sehr leicht überprüfen, während
sich für Formeln in KNF die Allgemeingültigkeit sehr leicht überprüfen lässt.
Sei ϕ in DNF. Dann ist ϕ genau dann erfüllbar, wenn in keiner ∧-Klausel
von ϕ eine Variable unnegiert und negiert vorkommt.
Sei ϕ in KNF. Dann ist ϕ genau dann allgemeingültig, wenn in
jeder ∨-Klausel von ϕ eine Variable unnegiert und negiert vorkommt.
Die Frage, ob auch die dualen Aussagen gelten, also ob sich für eine Formel ϕ in
KNF “schnell” überprüfen lässt, ob diese erfüllbar ist, ist eines der bedeutendsten
offenen Probleme der Mathematik (eines der Millenniumsprobleme; s. nächsten
Abschnitt).
NB: Eine naheliegende Lösung, nämlich die KNF-Formel ϕ zunächst in eine äquivalente Formel ϕ0 in DNF zu überführen und
dann obiges schnelles Verfahren zur Überprüfung der Erfüllbarkeit von Formeln in DNF anzuwenden, funktioniert nicht: Die
Überführung in DNF kann (durch Anwendung der Distributivgesetze) die Formel ϕ exponentiell aufblähen, sodass das Verfahren
insgesamt exponentiell gemessen in der Länge von ϕ (also sehr langsam) ist.
Mathematische Logik (WS 2010/11)
Kapitel 1.3: Normalformen
19 / 1
Herunterladen