12.07.2015 Aufrufe

Kapitel 1.3 Normalformen aussagenlogischer Formeln

Kapitel 1.3 Normalformen aussagenlogischer Formeln

Kapitel 1.3 Normalformen aussagenlogischer Formeln

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Kapitel</strong> <strong>1.3</strong><strong>Normalformen</strong> <strong>aussagenlogischer</strong> <strong>Formeln</strong>Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 1 / 1


Boolesche <strong>Formeln</strong>, Literale und KlauselnEine Boolesche Formel ist eine aussagenlogische Formel, in der dieJunktoren → und ↔ nicht vorkommen.Ein Literal λ ist eine Aussagenvariable (λ ≡ A) oder eine negierteAussagenvariable (λ ≡ ¬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∧•i=1,...,n ψ i :≡ ψ 1 ∧ · · · ∧ ψ nMathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 2 / 1


Disjunktive und konjunktive <strong>Normalformen</strong>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: ϕ ≡ ∨ i=1,...,m κ i ≡ ∨ ∧i=1,...,m j=1,...,n iλ i,jKonjunktive Normalform: ϕ ≡ ∧ i=1,...,m δ i ≡ ∧ ∨i=1,...,m j=1,...,n iλ i,jMathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 3 / 1


DarstellungssatzDARSTELLUNGSSATZ. Zu jeder n-stelligen Booleschen Funktion f kannman effektiv eine Boolesche Formel ϕ in disjunktiver Normalform angeben,sodass V (ϕ) = {A 0 , . . . , A n−1 } und ϕ die Funktion f darstellt (d.h. f ϕ = fgilt).ZUR ERINNERUNG: f ϕ (B(A 0 ), . . . , B(A n−1 )) = B(ϕ)BEWEIS. Die Formel ϕ ist wie folgt definiert:Für jede Eingabekombination (x 0 , . . . , x n−1 ) ∈ {0, 1} n definiere die ∧-Klauselκ (x0,...,x n−1) :≡ λ (0,x0) ∧ · · · ∧ λ (n−1,xn−1)wobeiλ (i,xi ) ={A i falls x i = 1¬A i falls x i = 0.Setzeϕ :≡ ∨ {(x 0,...,x n−1)∈{0,1} n :f (x 0,...,x n−1)=1} κ (x 0,...,x n−1)Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 4 / 1


Darstellungssatz: Beweis (Fortsetzung)Korrektheit von ϕ: f = f ϕDa f und f ϕ Boolesche Funktionen sind, genügt esf (x 0 , . . . , x n−1 ) = 1 ⇔ f ϕ (x 0 , . . . , x n−1 ) = 1zu zeigen.“⇒” f (x 0 , . . . , x n−1 ) = 1 ⇒ κ (x0 ,...,x n−1 ) Teilformel von ϕ⇒ B(ϕ) = B(κ (x0 ,...,x n−1 )) = 1für die Belegung B(A i ) = x i⇒ f ϕ (x 0 , . . . , x n−1 ) = 1Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 5 / 1


Darstellungssatz: Beweis (Abschluss)“⇐” f ϕ (x 0 , . . . , x n−1 ) = 1 ⇒ B(ϕ) = 1 für B(A i ) = x i⇒ ϕ enthält ∧-Klausel κ (x ′0 ,...,x ′ n−1 )mit B(κ (x ′0 ,...,x ′ n−1 ) ) = 1(da ϕ Disjunktion solcher Klauseln)⇒ ϕ enthält die ∧-Klausel κ (x0 ,...,x n−1 )(da B(κ (x ′0 ,...,x ′ n−1 ) ) = 1g.d.w. x ′ i= x i für i < n)⇒ f (x 0 , . . . , x n−1 ) = 1(nach Definition von ϕ)Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 6 / 1


Darstellungssatz: BeispielDie EXOR-Funktion ist durch folgende Wertetabelle bestimmt:Sie wird also von der Formeldargestelltx 0 x 1 EXOR(x 0 , x 1 )0 0 00 1 11 0 11 1 0ϕ EXOR ≡ (¬A 0 ∧ A 1 ) ∨ (A 0 ∧ ¬A 1 )Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 7 / 1


Folgerungen aus dem Darstellungssatz: BasissatzBASISSATZ. Die Booleschen Funktionen {¬, ∨, ∧} bilden eine Basis derBooleschen Funktionen.BEWEIS. Nach dem Darstellungssatz wird jede Boolesche Funktion von einerBooleschen Formel dargestellt. Es genügt daher zu zeigen, dass sich für jedeBoolesche Formel ϕ mit V (ϕ) ⊆ {A 0 , . . . , A n−1 } die dargestellte n-st. BoolescheFunktionen f ϕ,n mit Hilfe der Funktionen ¬, ∨ und ∧ darstellen lässt.Wir zeigen dies durch Induktion nach dem Aufbau von ϕ:1 ϕ ≡ A i : f ϕ,n (x 0 , . . . , x n−1 ) = x i = ∨(x i , x i )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) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 8 / 1


Folgerungen aus dem Darstellungssatz: Basissatz (Forts.)Der Basissatz kann wie folgt verschärft werden:KOROLLAR ZUM BASISSATZ. Folgende Mengen sind Basen derBooleschen Funktionen:(i) {¬, ∨} (ii) {¬, ∧} (iii) {NOR} (iv) {NAND}BEWEISIDEE. Da {¬, ∨, ∧} eine Basis ist, ist jede Menge {f 0 , . . . , f k }, dieerlaubt 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:∧(x 0 , x 1 ) = ¬(∨(¬(x 0 ), ¬(x 1 )))Beweis der anderen Teile: Übung!Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 9 / 1


Folgerungen aus dem Darstellungssatz: NormalformsatzNORMALFORMSATZ. Zu jeder al. Formel ϕ kann man effektiv eineäquivalente Formel ϕ DNF in disjunktiver Normalform angeben, sodassV (ϕ) = V (ϕ DNF ) gilt.BEWEISIDEE.Ersetzt man in äquivalenten <strong>Formeln</strong> ψ und ψ ′ mitV (ψ) ∪ V (ψ ′ ) = {B 0 , . . . , B n−1 } die paarweise verschiedenen Variablen B idurch paarweise verschiedene Variablen C i , so erhält man wiederumäquivalente <strong>Formeln</strong> (Übung!).Wir können daher o.B.d.A. annehmen, dass V (ϕ) = {A 0 , . . . , A n−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) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 10 / 1


Normalformsatz: alternativer BeweisDer Normalformsatz lässt sich auch direkt ohne Rückgriff auf denDarstellungssatz beweisen (s. Skript für Details):Hierzu überführt man eine al. Formel ϕ zunächst in eine äquivalenteBoolesche Formel ϕ b (mit derselben Variablenmenge), indem man (induktivalle) Teilformeln ψ → ψ ′ und ψ ↔ ψ ′ mit Hilfe der Äquivalenzeneliminert.ψ → ψ ′ äq ¬(ψ) ∨ ψ ′ψ ↔ ψ ′ äq (¬(ψ) ∨ ψ ′ ) ∧ (¬(ψ ′ ) ∨ ψ)NB: Nach der Ersetzungsregel ist das Ergebnis dieser Ersetzungen äquivalentzur Ausgangsformel ϕ!Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 11 / 1


Normalformsatz: alternativer Beweis (Fortsetzung)Durch Anwendung der DeMorganschen Regeln und des Gesetzes derdoppelten Negation¬(ψ ∨ ψ ′ ) äq ¬ψ ∧ ¬ψ ′¬(ψ ∧ ψ ′ ) äq ¬ψ ∨ ¬ψ ′¬¬ψ äq ψüberführt man dann die Boolesche Formel ϕ b in eine äquivalente BoolescheFormel ϕ n (mit derselben Variablenmenge), in der das Negationszeichen nurvor Variablen vorkommt.Schließlich eliminiert man in ϕ n Vorkommen von ∧ von höherem Rang alsVorkommen von ∨ mit Hilfe der Distributivgesetzeψ ∧ (χ ∨ δ) äq (ψ ∧ χ) ∨ (ψ ∧ δ)(ψ ∨ χ) ∧ δ äq (ψ ∧ δ) ∨ (χ ∧ δ)und erhält so die gewünschte zu ϕ äquivalente Formel ϕ DNF in disjunktiverNormalform.Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 12 / 1


Konjunktive NormalformDie für die Disjunktive Normalform erzielten Ergebnisse lassen sich ähnlichfür die Konjunktive Normalform zeigen:DARSTELLUNGSSATZ (KNF). Zu jeder n-stelligen Booleschen Funktionf kann man effektiv eine Boolesche Formel ϕ in konjunktiver Normalformangeben, sodass V (ϕ) = {A 0 , . . . , A n−1 } und ϕ die Funktion f darstellt(d.h. f ϕ = f gilt).NORMALFORMSATZ (KNF). Zu jeder al. Formel ϕ kann man effektiveine äquivalente Formel ϕ KNF in konjunktiver Normalform angeben,sodass V (ϕ) = V (ϕ KNF ) gilt.Da der Normalformsatz (KNF) aus dem Darstellungssatz (KNF) wie derNormalformsatz aus dem Darstellungssatz folgt, genügt es den Darstellungssatz(KNF) zu beweisen.Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 13 / 1


Darstellungssatz (KNF): BeweisideeZu einer Booleschen Funktion f (x 0 , . . . , x n ) erhält man die darstellendeFormel ϕ in KNF wie folgt:Für jede Eingabekombination (x 0 , . . . , x n−1 ) ∈ {0, 1} n definiere die∨-KlauselwobeiSetzeδ (x0 ,...,x n−1 ) :≡ λ d (0,x 0 ) ∨ · · · ∨ λd (n−1,x n−1 )λ d (i,x i ) = {A i falls x i = 0¬A i falls x i = 1.ϕ :≡ ∧ {(x 0 ,...,x n−1 )∈{0,1} n :f (x 0 ,...,x n−1 )=0} δ (x 0 ,...,x n−1 )Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 14 / 1


Darstellungssatz (KNF): BeispielDie EXOR-Funktion ist durch folgende Wertetabelle bestimmt:Sie wird also von der KNF-Formeldargestellt.x 0 x 1 EXOR(x 0 , x 1 )0 0 00 1 11 0 11 1 0ϕ EXOR ≡ (A 0 ∨ A 1 ) ∧ (¬A 0 ∨ ¬A 1 )Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 15 / 1


Alternative Konstruktion der KNF: DualitätsprinzipEine Formel ϕ kann man auch wie folgt in KNF überführen:Überführe die Negation ¬ϕ von ϕ in Disjunktive Normalform: (¬ϕ) DNFVertausche in (¬ϕ) DNF die Junktoren ∨ und ∧ und ersetze jedes Literaldurch 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 allgemeinerenDualitä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 dasNeagationszeichen geschrieben wird und bei jeder negiertenAussagenvariable das Negationszeichen gestrichen wird.Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 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 Formelaufbauunter Verwendung der DeMorganschen Gesetze und des Gesetzes derdoppelten Verneinung (sowie der Ersetzungsregel): Übung!Wir demonstrieren die Beweisidee nur an Hand eines Beispiels:Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 17 / 1


Dualitätsprinzip: BeispielFür ϕ :≡ A 0 ∨ ¬(A 1 ∧ ¬A 2 ) istN(ϕ) ≡ ¬A 0 ∨ ¬(¬A 1 ∧ A 2 )D(N(ϕ)) ≡ ¬A 0 ∧ ¬(¬A 1 ∨ A 2 )und es gilt¬ϕ ≡ ¬(A 0 ∨ ¬(A 1 ∧ ¬A 2 ))äq ¬(A 0 ∨ (¬A 1 ∨ ¬¬A 2 )) (DeMorgan)äq ¬(A 0 ∨ (¬A 1 ∨ A 2 )) (Doppelte Verneinung)äq ¬A 0 ∧ ¬(¬A 1 ∨ A 2 ) (De Morgan)≡ D(N(ϕ))Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 18 / 1


Eigenschaften der DNF und KNFFür <strong>Formeln</strong> in DNF lässt sich die Erfüllbarkeit sehr leicht überprüfen, währendsich für <strong>Formeln</strong> in KNF die Allgemeingültigkeit sehr leicht überprüfen lässt.Sei ϕ in DNF. Dann ist ϕ genau dann erfüllbar, wenn in keiner ∧-Klauselvon ϕ eine Variable unnegiert und negiert vorkommt.Sei ϕ in KNF. Dann ist ϕ genau dann allgemeingültig, wenn injeder ∨-Klausel von ϕ eine Variable unnegiert und negiert vorkommt.Die Frage, ob auch die dualen Aussagen gelten, also ob sich für eine Formel ϕ inKNF “schnell” überprüfen lässt, ob diese erfüllbar ist, ist eines der bedeutendstenoffenen Probleme der Mathematik (eines der Millenniumsprobleme; s. nächstenAbschnitt).NB: Eine naheliegende Lösung, nämlich die KNF-Formel ϕ zunächst in eine äquivalente Formel ϕ ′ in DNF zu überführen unddann obiges schnelles Verfahren zur Überprüfung der Erfüllbarkeit von <strong>Formeln</strong> in DNF anzuwenden, funktioniert nicht: DieÜberführung in DNF kann (durch Anwendung der Distributivgesetze) die Formel ϕ exponentiell aufblähen, sodass das Verfahreninsgesamt exponentiell gemessen in der Länge von ϕ (also sehr langsam) ist.Mathematische Logik (WS 2010/11) <strong>Kapitel</strong> <strong>1.3</strong>: <strong>Normalformen</strong> 19 / 1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!