Kapitel 1.3 Normalformen aussagenlogischer Formeln und die

Werbung
Kapitel 1.3
Normalformen aussagenlogischer Formeln
und die Darstellbarkeit Boolescher Funktionen durch
aussagenlogische Formeln
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
1 / 29
Übersicht
1.3.1 Normalformen al. Formeln
1.3.2 Darstellungssatz und Basen der Booleschen Funktionen
1.3.3 Normalformsatz: Disjunktive Normalform
1.3.4 Dualitätsprinzip und Konjunktive Normalform
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
2 / 29
1.3.1 Normalformen al. Formeln
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
3 / 29
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:
�
•
i=1,...,n ψi :≡ ψ1 ∨ · · · ∨ ψn
Mathematische Logik (WS 2011/12)
•
�
i=1,...,n
Kapitel 1.3: Normalformen
ψi :≡ ψ1 ∧ · · · ∧ ψn
4 / 29
Disjunktive und konjunktive Normalformen
Eine Boolesche Formel ϕ ist in disjunktiver Normalform (DNF), wenn
ϕ die endliche Disjunktion von ∧-Klauseln ist: ϕ ≡ κ1 ∨ · · · ∨ κm
(m ≥ 1).
Eine Boolesche Formel ϕ ist in konjunktiver Normalform (KNF), wenn
ϕ die endliche Konjunktion von ∨-Klauseln ist: ϕ ≡ δ1 ∨ · · · ∨ δm
(m ≥ 1).
Disjunktive Normalform: ϕ ≡
�
Konjunktive Normalform: ϕ ≡
Mathematische Logik (WS 2011/12)
i=1,...,m
�
κi ≡
i=1,...,m δi
≡
�
Kapitel 1.3: Normalformen
i=1,...,m
�
�
i=1,...,m
j=1,...,ni
�
j=1,...,ni
λi,j
λi,j
5 / 29
Beipiele
Die al. Formel
ϕ ≡ (A ∧ ¬B ∧ C ) ∨ ¬C ∨ (A ∧ A ∧ ¬D)
ist in disjunktiver Normalform. Sie enthält die 3 ∧-Klauseln
�
�
�
A ∧ ¬B ∧ C (bestehend aus den 3 Literalen A, ¬B, C )
¬C (bestehend aus dem Literal ¬C )
A ∧ A ∧ ¬D (bestehend aus den 3 Literalen A, A, ¬D)
Die al. Formel
ψ ≡ (A ∨ ¬B ∨ C ) ∧ ¬C ∧ (A ∨ A ∨ ¬D)
ist in konjunktiver Normalform. Sie enthält die 3 ∨-Klauseln
�
�
�
A ∨ ¬B ∨ C (bestehend aus den 3 Literalen A, ¬B, C )
¬C (bestehend aus dem Literal ¬C )
A ∨ A ∨ ¬D (bestehend aus den 3 Literalen A, A, ¬D)
Die al. Formeln ¬(A ∨ B) und (A ∨ (B ∧ C )) ∧ D sind Boolesche Formeln
aber weder in DNF noch in KNF.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
6 / 29
1.3.2 Darstellungssatz und Basen der Booleschen
Funktionen
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
7 / 29
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(ϕ)
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
8 / 29
Beweis des Darstellungssatzes
Die Formel ϕ ist wie folgt definiert:
Für jede Eingabekombination �x = (x0 , . . . , xn−1 ) ∈ {0, 1}n definiere die
∧-Klausel
κ�x :≡ λ(0,x0 ) ∧ · · · ∧ λ(n−1,xn−1 )
wobei
λ(i,xi ) =
�
Ai
¬Ai
falls xi = 1
falls xi = 0.
NB: Die Klausel κ�x ist so gewählt, dass diese genau von der Belegung B�x
mit B�x (Ai ) = xi wahr gemacht wird!
Setze
ϕ :≡
Mathematische Logik (WS 2011/12)
�
{�
x ∈{0,1}n :f (�
x )=1}
Kapitel 1.3: Normalformen
κ�x
9 / 29
Beweis des Darstellungssatzes (Fortsetzung)
Korrektheit von ϕ: Zu zeigen ist, dass f = fϕ gilt.
Da f und fϕ Boolesche Funktionen sind, genügt es
f (�x ) = 1 ⇔ fϕ (�x ) = 1
für alle �x = (x0 , . . . , xn−1 ) ∈ {0, 1}n zu zeigen.
“⇒” f (�x ) = 1 ⇒ κ�x ist ∧-Klausel von ϕ
⇒ B�x (ϕ) = B�x (κ�x ) = 1
für die oben eingeführte Belegung B�x mit
B�x (Ai ) = xi
⇒ fϕ (�x ) = 1
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
10 / 29
Beweis des Darstellungssatzes (Abschluss)
“⇐” fϕ (�x ) = 1 ⇒ B�x (ϕ) = 1 für die Belegung B�x (Ai ) = xi
�
⇒ ϕ enthält eine ∧-Klausel κ(x0� ,...,xn−1
)
�
mit B�x (κ(x0� ,...,xn−1
)) = 1
(da ϕ Disjunktion solcher Klauseln)
⇒ ϕ enthält die ∧-Klausel κ�x
�
(da B�x (κ(x0� ,...,xn−1
)) = 1
g.d.w. xi� = xi für i < n)
⇒ f (�x ) = 1
(nach Definition von ϕ)
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
11 / 29
Beispiel zum Darstellungssatz
Die EXOR-Funktion ist durch folgende Wertetabelle bestimmt, wobei wir
in der letzten Spalte noch die zu den entsprechenden Eingaben (x0 , x1 )
gehörenden ∧-Klauseln angeben:
x0 x1 EXOR(x0 , x1 ) zugehörige ∧-Klausel
0 0
0
¬A0 ∧ ¬A1
0 1
1
¬A0 ∧ A1
1 0
1
A0 ∧ ¬A1
1 1
0
A0 ∧ A1
Die EXOR-Funktion wird also von der Formel
ϕEXOR ≡ (¬A0 ∧ A1 ) ∨ (A0 ∧ ¬A1 )
(in DNF) dargestellt.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
12 / 29
Folgerungen aus dem Darstellungssatz: Basissatz
Unter einer (endlichen) Basis der Booleschen Funktionen verstehen wir eine
Menge {f1 , . . . , fk } von Booleschen Funktionen, sodass sich jede Boolesche
Funktion f explizit über den Funktionen f1 , . . . , fk definieren lässt. Eine Basis M
ist minimal, wenn keine echte Teilmenge von M eine Basis ist.
Offensichtlich gilt für Basen:
1. Basenlemma. Sind M und M � endliche Mengen Boolescher Funktion, sodass M
eine Basis ist und M eine Teilmenge von M � ist, so ist auch M � eine Basis.
2. Basenlemma. Sind M und M � endliche Mengen Boolescher Funktion, sodass M
eine Basis ist und sich jede Funktion f ∈ M explizit über den Funktionen aus M �
definieren lässt, so ist auch M � eine Basis.
Wir wollen nun zeigen, dass die Menge der Booleschen Funktionen f∗ , die den
Junktoren ∗ = ¬, ∨, ∧, →, ↔ der Aussagelogik entsprechen (s. Kapitel 1.0 für die
Definition von f∗ ), eine Basis bilden.
Dabei schreiben wir von nun an (wie üblich) kurz ∗ anstelle von f∗ .
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
13 / 29
Folgerungen aus dem Darstellungssatz: Basissatz
1. 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
Funktion fϕ,n mit Hilfe der Funktionen ¬, ∨ und ∧ darstellen lässt.
Wir zeigen dies durch Induktion nach dem Aufbau von ϕ (wobei
�x = (x0 , . . . , xn−1 ) sei):
1
ϕ ≡ Ai : fϕ,n (�x ) = xi = ∨(xi , xi )
2
ϕ ≡ ¬ψ: Dann gilt fϕ,n = ¬(fψ,n ), d.h. fϕ,n (�x ) = ¬(fψ,n (�x )). fϕ,n ist also
explizit über {¬, fψ,n } definierbar. Da nach I.V. fψ,n explizit über {¬, ∨, ∧}
definierbar ist, folgt hieraus, dass fϕ,n ebenfalls über {¬, ∨, ∧} explizit
definierbar ist.
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 2011/12)
Kapitel 1.3: Normalformen
14 / 29
Folgerungen aus dem Darstellungssatz: Basissatz (Forts.)
Aus dem 1. Basissatz folgt mit dem 1. Basenlemma, dass {¬, ∨, ∧, →, ↔}
ebenfalls eine Basis ist. Auf der anderen Seite kann der 1. Basissatz wie
folgt verschärft werden:
2. BASISSATZ. Folgende Mengen sind Basen der Booleschen Funktionen:
(i) {¬, ∨} (ii) {¬, ∧} (iii) {NOR} (iv) {NAND}
Hierbei sind die NOR-Funktion (not or - nicht oder) und die
NAND-Funktion (not and - nicht und) definiert durch
NOR(x0 , x1 )
= ¬(∨(x0 , x1 ))
NAND(x0 , x1 ) = ¬(∧(x0 , x1 ))
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
15 / 29
Folgerungen aus dem Darstellungssatz: Basissatz (Forts.)
BEWEISIDEE FÜR DEN 2. BASISSATZ. Da {¬, ∨, ∧} eine Basis ist, ist
nach dem 2. Basenlemma jede Menge {f0 , . . . , fk }, die erlaubt die
Funktionen ¬, ∨, ∧ explizit zu definieren, ebenfalls eine Basis.
Zum Beispiel genügt es zum Beweis von (i) daher zu zeigen, dass sich ∧
mit Hilfe von ¬ und ∨ definieren lässt, was nach DeMorgan wie folgt
möglich ist:
∧(x0 , x1 ) = ¬(∨(¬(x0 ), ¬(x1 )))
Beweis der anderen Teile: Übung!
BEMERKUNG. Die Basen in dem 2. Basissatz sind minimal.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
16 / 29
1.3.3 Normalformsatz: Disjunktive Normalform
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
17 / 29
Der Normalformsatz für die disjunktive Normalform
Eine weitere direkte Folgerung aus dem Darstellungssatz ist:
NORMALFORMSATZ (DNF). 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 ψ � mit
V (ψ) ∪ V (ψ � ) = {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 dann die Wertetabelle von 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 2011/12)
Kapitel 1.3: Normalformen
18 / 29
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 ψ → ψ � und ψ ↔ ψ � mit Hilfe der Äquivalenzen
ψ → ψ � äq ¬(ψ) ∨ ψ �
ψ ↔ ψ � äq (¬(ψ) ∨ ψ � ) ∧ (¬(ψ � ) ∨ ψ)
eliminiert.
NB: Nach der Ersetzungsregel ist das Ergebnis dieser Ersetzungen äquivalent
zur Ausgangsformel ϕ!
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
19 / 29
Normalformsatz: alternativer Beweis (Fortsetzung)
Durch Anwendung der DeMorganschen Regeln und des Gesetzes der
doppelten Negation
¬(ψ ∨ ψ � ) äq ¬ψ ∧ ¬ψ �
¬(ψ ∧ ψ � ) äq ¬ψ ∨ ¬ψ �
¬¬ψ ä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 (eventuell nach Anwendung der Assoziativität von ∨ und ∧)
die gewünschte zu ϕ äquivalente Formel ϕDNF in disjunktiver Normalform.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
20 / 29
Normalformsatz - alternativer Beweis: Beispiel
Sei ϕ ≡ (A ∨ (B ∧ C )) → ¬(B ∧ ¬A)
Überführung von ϕ in ϕb :
ϕb ≡ ¬(A ∨ (B ∧ C )) ∨ ¬(B ∧ ¬A)
Überführung von ϕb in ϕn :
ϕb
äq
äq
(¬A ∧ ¬(B ∧ C )) ∨ (¬B ∨ ¬¬A)
(¬A ∧ (¬B ∨ ¬C )) ∨ (¬B ∨ A) ≡ ϕn
Überführung von ϕn in ϕDNF :
ϕn
äq
äq
((¬A ∧ ¬B) ∨ (¬A ∧ ¬C )) ∨ (¬B ∨ A)
(¬A ∧ ¬B) ∨ (¬A ∧ ¬C ) ∨ ¬B ∨ A ≡ ϕDNF
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
(Distributivität)
(Assoziativität)
21 / 29
1.3.4 Dualitätsprinzip und Konjunktive Normalform
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
22 / 29
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 2011/12)
Kapitel 1.3: Normalformen
23 / 29
Darstellungssatz (KNF): Beweisidee
Zu einer Booleschen Funktion f (x0 , . . . , xn−1 ) erhält man die darstellende Formel
ϕ in KNF wie folgt:
Für jede Eingabekombination �x = (x0 , . . . , xn−1 ) ∈ {0, 1}n definiere die
∨-Klausel
δ�x :≡ λd(0,x0 ) ∨ · · · ∨ λd(n−1,xn−1 )
wobei
λd(i,xi ) =
�
Ai
¬Ai
falls xi = 0
falls xi = 1.
NB. Für eine Belegung B von {A0 , . . . , An−1 } gilt also B(δ�x ) = 1 genau
dann, wenn �x �= (B(A0 ), . . . , B(An−1 )).
Setze
ϕ :≡
�
x
{�
x ∈{0,1}n :f (�
x )=0} δ�
Wir üblerlassen den Nachweis von f = fϕ als Übung. Man kann dies entweder
direkt (wie im Falle der DNF) zeigen oder das Dualitätsprinzip verwenden, das wir
(nach einem Beipiel) als nächstes betrachten.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
24 / 29
Darstellungssatz (KNF): Beispiel
Die EXOR-Funktion ist durch folgende Wertetabelle bestimmt:
x0 x1 EXOR(x0 , x1 ) zugehörige ∨-Klausel δ(x0 ,x1 )
0 0
0
A0 ∨ A1
0 1
1
A0 ∨ ¬A1
1 0
1
¬A0 ∨ A1
1 1
0
¬A0 ∨ ¬A1
Sie wird also von der KNF-Formel
ϕEXOR ≡ (A0 ∨ A1 ) ∧ (¬A0 ∨ ¬A1 )
dargestellt.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
25 / 29
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 zu ϕ duale Formel)
N(ϕ) entstehe aus ϕ, indem vor jede nichtnegierte Aussagenvariable das
Negationszeichen geschrieben wird und bei jeder negierten Aussagenvariable
das Negationszeichen gestrichen wird.
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
26 / 29
Dualitätsprinzip: Dualitätssatz
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 anhand eines Beispiels:
Mathematische Logik (WS 2011/12)
Kapitel 1.3: Normalformen
27 / 29
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 2011/12)
Kapitel 1.3: Normalformen
28 / 29
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: ϕ ist genau dann erfüllbar, wenn es zumindest eine ∧-Klausel
von ϕ gibt, in der keine Variable sowohl unnegiert als auch negiert
vorkommt.
Sei ϕ in KNF: ϕ ist genau dann allgemeingültig, wenn in jeder ∨-Klausel von
ϕ zumindest eine Variable sowohl unnegiert als auch negiert vorkommt.
Die Frage, ob auch die dualen Aussagen gelten, also insbesondere, 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ächster Abschnitt).
NB: Eine naheliegende Lösung, nämlich die KNF-Formel ϕ zunächst in eine äquivalente Formel ϕ� 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 2011/12)
Kapitel 1.3: Normalformen
29 / 29
Herunterladen