Logische Strukturen

Werbung
Logische Strukturen
Logische Strukturen
1.+2. Vorlesung
• Bachelor, 2. Semester
Martin Dietzfelbinger
• Übung: Ulf Schellbach
(für Informatiker)
• Vorlesung: Martin Dietzfelbinger
6.+13. April 2010
• Abschluss: Klausur 90 Min./90 Punkte
• 2 Bonusklausuren, zusammen 14 Punkte.
• http://www.tu-ilmenau.de/fakia/LS_SS10.html
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
LS – 06.+13.04.2010
1
Bücher
Übung
Dr. Ulf Schellbach
•• M. Kreuzer, S. Kühling, Logik für Informatiker,
Pearson, 2006
Montag (U) 17:00 – 18:30 Sr HU 010 Beginn: 12.04.
Mittwoch (G) 11:00 – 12:30 Sr HU 012 Beginn: 21.04.
Mittwoch (U) 11:00 – 12:30 Sr HU 210 Beginn: 14.04.
• U. Schöning, Logik für Informatiker, Spektrum Akad. Verlag,
2000
• Übungsblätter (im Netz)
• (Weiterführend) M. Huth, M. Ryan, Logic in Computer
Science, 2nd ed., Cambridge Univ. Press, 2004.
• Übung vor- und nachbereiten!
FG Komplexitätstheorie und Effiziente Algorithmen
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
2
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
3
Logik in der Informatik?
was ist . . . ?
• Was ist und
• Formale Systeme, mit denen sich Sachverhalte beschreiben lassen
• wozu betreibt man
• Modelle“, in denen die Beschreibungen interpretiert werden
”
können
Logik in der Informatik?
• Methoden/algorithmische Kalküle, um im Rahmen der formalen Systeme Schlussfolgerungen zu ziehen oder um die
Unmöglichkeit einer Konstellation nachzuweisen.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
4
was ist . . . ?
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
5
wozu . . . ?
• Spezifikation eines geforderten Verhaltens für Informatiksysteme
Spannungsfeld
• Syntax: Formeln (Texte), formales Vorgehen, Kalküle
(Unser Beispiel: Datentypen)
Kann man algorithmisch/maschinell tun!
• Semantik: Bedeutung/Interpretation der Formeln in Wel”
ten“ ( Modellen“).
”
• Model Checking: Beweisen von Aussagen über das Verhalten von formal spezifizierten Systemen (nicht in dieser
Vorlesung)
• KI – Künstliche Intelligenz“:
”
Gegeben Wissensbasis“,
”
d. h. Liste ϕ1, . . . , ϕn von Aussagen.
Kann man Aussage ψ daraus herleiten“?
”
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
6
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
7
Themen
Themen
• Aussagenlogik
–
–
–
–
–
• Prädikatenlogik
Syntax
Semantik: Wahrheitstafeln
Erfüllbarkeit, Unerfüllbarkeit
Unendliche Systeme, Kompaktheit
Kalküle: natürliches Schließen, Resolution, Hornlogik
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
–
–
–
–
–
8
Themen
Syntax
Modelle, Strukturen
Normalformen
Unentscheidbarkeit
Resolutionskalkül (Nachweis der Unerfüllbarkeit)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
9
Kapitel 1 Aussagenlogik
Erklärung (keine Definition)
• Gleichungslogik (Grundzüge)
Eine Aussage ist ein (formales oder informales) sprachliches
Gebilde (ein Text“), dem man einen Wahrheitswert“ in
”
”
{wahr , falsch}
• Spezifikation von Datentypen (Grundzüge)
({w , f }, {true, false}, {t, f }, {1, 0}) zuordnen kann.
Meist: Für eine Aussage sind je nach Situation“ beide Werte
”
möglich.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
10
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
11
Aussagenlogik
Beispiele:
• . . . abstrahiert völlig vom Inhalt von Aussagen
• Es regnet.“
”
(w /f je nach Situation.)
• Karl ist krank.“
”
(w /f je nachdem welcher Karl gemeint ist und nach
Situation.)
• . . . untersucht das Verhalten der Wahrheitswerte von Aussagen bei Kombinationen durch Verknüpfungen“ und,
”
oder, nicht, wenn . . . dann . . . usw.
Beispiel:
1. Wenn es regnet, dann fahre ich mit dem Auto zur Arbeit.
• Schalter A steht auf ‘Aus’ und Schalter B steht auf ‘Ein’“.
”
2. Wenn ich mit dem Fahrrad zur Arbeit fahre, dann nicht
mit dem Auto.
• Wenn A auf ‘Ein’ steht und B auf ‘Ein’ steht, dann erfolgt
”
ein Alarm.“
3. Ich fahre mit dem Fahrrad zur Arbeit.
Möchte schließen“ können: Es regnet nicht.
”
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
12
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
13
Wir bauen komplexere Gebilde, genannt aussagenlogische
”
Formeln“.
1.1 Formeln, Wahrheitswerte, Modelle
Definition
Bausteine:
(i) Jede Aussagevariable Ai ist eine (aussagenlogische) Formel
(alF).
Elementaraussagen, die nicht weiter aufzugliedern sind.
Inhalt egal!
Abkürzung: A, B, C usw., auch mit Indizes.
(ii) Wenn F , G Formeln sind, dann auch
Unendlicher Vorrat A1, A2, A3, . . . von Aussagevariablen“.
”
Wenn F Formel ist, dann auch ¬F .
Wieso . . . variable“?
”
Kann beliebige richtige“ Aussagen einsetzen“.
”
”
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
(F ∧ G), (F ∨ G), (F → G), (F ↔ G).
Bedeutung“ dieser Texte: Bis jetzt noch gar keine!
”
Spaßeshalber lesen als: Dach“, vau“, Pfeil“, Doppelpfeil“,
”
”
”
”
Haken“.
”
14
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
15
Beispiele:
1. A1, A2, A3, . . . , A15: Aussagevariable, also Formeln nach
(i).
Definition von (aussagenlogischen) Formeln“:
”
Induktive Definition
Wichtiges Grundprinzip/Grundmuster der Informatik.
Entspricht: Rekursion in Algorithmen/Programmen.
2. (A1 ∨ A3): Formel nach 1. und (ii).
3. (A4 ∧ (A1 ∨ A3)): Formel nach (i), 2., (ii).
4. ¬¬A2: Formel nach (i) und 2× (ii).
5. A1 ∨ A2 ∨ ¬A4: Keine Formel!
6. ((A3 ∨ A5) ↔ ¬(¬A3 ∧ ¬A5)): Formel.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
16
Syntaxbäume“ für aussagenlogische Formeln:
”
Informal an Beispiel, Tafel.
Intuitiv klar: Aus jeder Formel kann man algorithmisch einen
eindeutigen Syntaxbaum gewinnen und umgekehrt.
(Maschinell: Teil des Compilers.)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
17
Bisher: Syntax“.
”
Semantik“ der Aussagenlogik:
”
Wenn man jeder Aussagevariablen Ai, die in F vorkommt,
einen Wahrheitswert zuordnet, kann man einen Wahrheitswert für F berechnen.
Vorteil von Bäumen: klammerfrei, Struktur offensichtlich
Man kann Konzepte wie Weg in Baum“, Länge des Wegs“,
”
”
Tiefe eines Knotens“, Tiefe des Baums“ benutzen.
”
”
Vorteil von Formeln: Man kann sie bequem in Strings und in
Textdateien speichern.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
18
Formeln ohne Wahrheitswerte für die Variablen
können nicht wahr“ oder falsch“ sein; es sind
”
”
nur Texte.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
19
Definition 1.1.1
Definition 1.1.1 (Forts.)
(a) Sei M ⊆ {A1, A2, . . .}. Eine Abbildung/Zuordnung/Funktion
α : M → {w , f } heißt eine Belegung (für die Aussagevariablen in M ).
(c) Wenn Belegung α zu Formel F passt, definieren wir α̂(F ),
den Wahrheitswert von F unter α,
(Intuition: Eine Belegung beschreibt eine mögliche Situation,
eine mögliche (sehr primitive) Welt“.)
”
(b) Sei F eine Formel, sei M ⊇ {Ai | Ai kommt in F vor},
sei α : M → {w , f }.
Dann sagen wir: α passt zu F .
durch Induktion über den Aufbau von F“.
”
Klar: Wenn α zu F passt und F = (G ∨ H) o. ä., dann passt
α auch zu G und H.
Wenn α̂(F ) = w , sagen wir F gilt unter α“ oder informal
”
F gilt in der durch α beschriebenen Situation/Welt“.
”
Beispiele: Tafel.
FG Komplexitätstheorie und Effiziente Algorithmen
(i) Basisfall: F = Ai.
LS – 06.+13.04.2010
20
α̂(Ai) := α(Ai).
α̂((G ∧ H)) :=
w
f
α̂((G ∨ H)) :=
falls α̂(G) = α̂(H) = w ,
sonst.
(G ∧ H) soll in einer Welt gelten genau dann wenn G und H
”
beide gelten.“
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
LS – 06.+13.04.2010
21
(ii) Induktionsschritt 2: F = (G ∨ H), Disjunktion“.
”
Wir legen fest:
(ii) Induktionsschritt 1: F = (G ∧ H), Konjunktion“.
”
Wir legen fest:
FG Komplexitätstheorie und Effiziente Algorithmen
22
f
w
falls α̂(G) = α̂(H) = f ,
sonst.
(G ∨ H) soll in einer Welt gelten genau dann wenn in dieser
”
Welt G gilt oder H gilt, also nicht beide falsch sind.“
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
23
(ii) Induktionsschritt 3: F = (G → H), Subjunktion“,
”
Folgerung“.
”
Wir legen fest:
α̂((G → H)) :=
f
w
falls α̂(G) = w und α̂(H) = f ,
sonst.
w
f
falls α̂(G) = f oder α̂(H) = w ,
sonst.
D. h.: In einer Situation, in der (G → H) gilt, folgt aus der
Gültigkeit von G die Gültigkeit von H.
In Situationen/Welten, in denen (G → H) nicht gilt, oder in
denen (G → H) gilt, aber G nicht, wird nichts verlangt.
(Dazu dient die etwas unintuitive Festlegung α̂((G → H)) =
w wenn α̂(G) = f .)
Äquivalent:
α̂((G → H)) =
Was hat das mit Folgerung“ zu tun?
”
Wenn in einer Welt“ die Formel (G → H) gilt und die Formel
”
G gilt, dann muss in dieser Welt auch die Formel H gelten.
(G → H) soll in einer Welt gelten genau dann wenn in dieser
”
Welt G falsch ist oder H wahr ist.“
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
24
(ii) Induktionsschritt 4: F = (G ↔ H), Bijunktion“, Äqui”
”
valenz“.
Wir legen fest:
α̂((G ↔ H)) :=
w
f
(G → H) soll in einer Welt wahr sein genau dann wenn in
”
dieser Welt entweder G und H beide wahr sind oder G und
H beide falsch sind.“
LS – 06.+13.04.2010
LS – 06.+13.04.2010
25
Übung : Denken Sie sich eine weitere Verknüpfung ⊕, die
Antivalenz“ bedeuten soll: (G ⊕ H) soll das exklusive oder“
”
”
modellieren.
Wie muss man die induktive Definition der Wahrheitswerte
ergänzen?
falls α̂(G) = α̂(H),
sonst.
FG Komplexitätstheorie und Effiziente Algorithmen
FG Komplexitätstheorie und Effiziente Algorithmen
26
Aus der Schaltungslogik kannt man NOR“ und NAND“.
”
”
Auch diese wären mögliche logische Verknüpfungen.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
27
(ii) Induktionsschritt 5: F = ¬G, Negation“.
”
Wir legen fest:
α̂(¬G) :=
w
f
Weil α̂(Ai) = α(Ai), führt es zu keiner Verwirrung, wenn wir
statt α̂(F ) einfach α(F ) schreiben.
falls α̂(G) = f ,
falls α̂(G) = w .
¬G soll in einer Welt wahr sein genau dann wenn in dieser
”
Welt G falsch ist.“
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
28
Lemma 1.1.3
α(F ) hängt nicht von α(Ai) ab, wenn Ai in F nicht vorkommt.
Beispiel: Für die durch
A1 A3 A5 A7
α(Ai) w
f
w
f
gegebene Belegung berechnen wir
α((A1 ∧ ¬A3) → (¬A1 ∨ A7)).
Systematische Auswertung von α(F ) für alle α : M →
{w , f }, wobei M ⊇ {Ai | Ai in F },
führt zu Wahrheitstafeln.
(Bekannt aus Rechnerorganisation“.)
”
Aufwand: 2|M | Zeilen. Eine Spalte für jeden Operator in F .
FG Komplexitätstheorie und Effiziente Algorithmen
Definition 1.2.1 Wir schreiben
Sparsam also:
Wahrheitstafel für M = {Ai | Ai kommt in F vor}.
wenn α(F ) = w ist
(und α |= F wenn α(F ) = f ist).
α |= F
Wir sagen: α ist Modell von F“, in α gilt F“, u. ä.
”
”
Noch sparsamere Auswertung durch Argumentieren“;
”
Anwendung bei Logeleien: Übung.
LS – 06.+13.04.2010
29
1.2 Erfüllbarkeit, Tautologien, Äquivalenz
(Informal: Klar.“)
”
(Formal: [Langweiliger] Beweis durch Induktion über den Aufbau von F .)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
30
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
31
Definition 1.2.1 (Forts.)
Definition 1.2.2
Wenn F eine Menge von Formeln und α eine Belegung ist
derart, dass α |= F (d. h. α(F ) = w ) für alle F ∈ F gilt,
Eine Formel F heißt Tautologie oder allgemeingültig, wenn
α |= F für alle Belegungen α gilt, die zu F passen.
dann schreiben wir: α |= F ,
(F gilt in allen Welten“.)
”
F heißt unerfüllbar, wenn α |= F für alle Belegungen α, die
zu F passen.
und sagen: α ist ein Modell von F.
Achtung: F könnte sogar unendlich sein!
(F gilt in keiner Welt“, F ist widersprüchlich“.)
”
”
F heißt erfüllbar, wenn es ein α mit α |= F gibt.
Andernfalls heißt F unerfüllbar.
Proposition 1.2.3 F ist Tautologie genau dann wenn ¬F
unerfüllbar ist.
Beispiele: Tafel.
(Sieht man durch Blick auf die Wahrheitstafel für Belegungen,
in denen genau die Variablen aus F Werte erhalten.)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
32
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
33
Definition 1.2.4
Beobachtung 1: F ≡ G gdw (F ↔ G) ist Tautologie.
Formeln F und G heißen (semantisch) äquivalent, falls für
jede Belegung α, die zu F und zu G passt, gilt:
Beobachtung 2: Die Relation ≡ ist eine Äquivalenzrelation
auf der Menge der aussagenlogischen Formeln. D. h. es gilt:
(i) Reflexivität: F ≡ F ,
α(F ) = α(G).
(D. h.: α |= F genau dann wenn α |= G, für Belegungen, die
für beide Formeln sinnvoll sind.)
Wir schreiben:
F ≡G.
Beispiel: Für völlig beliebige Formeln G und H sind (G → H)
und (¬G ∨ H) äquivalent.
Beweis: Blick auf die Wahrheitstafel mit Variablen A1, A2:
Für jedes α ist α((G → H)) = α((¬G ∨ H)).
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
34
(ii) Symmetrie: aus F ≡ G folgt G ≡ F ,
(iii) Transitivität: F ≡ G und G ≡ H impliziert F ≡ H.
(Ist das trivial? (iii) ist nicht ganz trivial. Herumspielen mit
verschiedenen Belegungen ist nötig.)
Durch diese Äquivalenzrelation werden die Formeln in Äquivalenzklassen eingeteilt. Sehr wichtige Äquivalenzklassen sind
die Tautologien und die unerfüllbaren Formeln.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
35
Beispiele:
(A ∨ ¬A) ≡ (C ↔ C)
Satz 1.2.5 (Ersetzungssatz)
Nanu!
(G ∨ ¬G) ≡ (H ↔ H)
Ersetzung durch äquivalente Teilformeln liefert äquivalente
”
Formeln.“
(F ↔ G) ≡ ((F → G) ∧ (G → F ))
Wenn F1 ≡ F2 für Formeln F1 und F2 gilt,
(F ↔ G) ≡ ((¬F ∨ G) ∧ (F ∨ ¬G))
und wenn G aus G entsteht, indem man in G die Teilformel
(in runde Klammern eingeschlossener Teiltext, Unterbaum im
Syntaxbaum!) F1 (an einer Stelle) durch F2 ersetzt, dann gilt
G ≡ G .
(F ↔ G) ≡ ((F ∧ G) ∨ (¬F ∧ ¬G))
(F ∧ (F ∨ G)) ≡ F
( Absorptionsgesetz“)
”
(¬F ∨ ¬G) ≡ ¬(F ∧ G)
(ein DeMorgan-Gesetz“)
”
Beweise: Über Wahrheitstafeln, auch mit abkürzenden indirekten Argumenten.
Nützliche Regel zur Herleitung von neuen Äquivalenzen, ohne
über Wahrheitstafeln gehen zu müssen.
Ende am 06.04.2010
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
36
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
37
Beispiel:
Satz 1.2.6 (Fundamentalsatz der Aussagenlogik)
F1 = (A1 ∨ ¬A1).
Für aussagenlogische Formeln F , G, H gelten folgende Äquivalenzen:
F2 = ((A2 ∧ A3) → A3).
(a) Idempotenz
(F ∨ F ) ≡ F und (F ∧ F ) ≡ F .
Äquivalent, da beides Tautologien sind.
Also nach Ersetzungssatz, für G = (¬A3 → (A1 ∨ ¬A1)):
(b) Kommutativität
(F ∨ G) ≡ (G ∨ F ) und (F ∧ G) ≡ (G ∧ F ).
(¬A3 → (A1 ∨ ¬A1)) ≡ (¬A3 → ((A2 ∧ A3) → A3))
Beweis des Ersetzungssatzes: Induktion über den Aufbau von
”
G“. (Tafel)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
38
Erlaubt Umordnen von Teilformeln.
(c) Assoziativität
((F ∨ G) ∨ H) ≡ (F ∨ (G ∨ H)) und
((F ∧ G) ∧ H) ≡ (F ∧ (G ∧ H)).
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
39
Satz 1.2.6 (Fundamentalsatz der Aussagenlogik)
Diese Regeln erlauben Vereinfachungen:
• Weglassen von Klammern bei gleichberechtigten Teilformeln:
(d) Absorption
(F ∧ (F ∨ G)) ≡ F und (F ∨ (F ∧ G)) ≡ F .
(e) Distributivität
(F ∧ (G ∨ H)) ≡ ((F ∧ G) ∨ (F ∧ H)) und
(F ∨ (G ∧ H)) ≡ ((F ∨ G) ∧ (F ∨ H)).
(F ∨ G ∨ H)“ anstelle von ((F ∨ G) ∨ H)“.
”
”
• Vertauschen gleichberechtigter Teilformeln:
Erlaubt Umordnen von Teilformeln.
(F ∨ G ∨ H) ≡ (H ∨ G ∨ F )“ usw.
”
(f) Doppelnegation
¬¬F ≡ F .
• Weglassen oder Einführung von Verdopplungen:
(F ∨ G ∨ F ) ≡ (F ∨ G).
(g) DeMorgansche Regeln
¬(F ∧ G) ≡ (¬F ∨ ¬G) und ¬(F ∨ G) ≡ (¬F ∧ ¬G).
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
40
Satz 1.2.6 (Fundamentalsatz der Aussagenlogik)
(h) Tautologieregel
Wenn F eine Tautologie ist, dann gilt (F ∧ G) ≡ G und
(F ∨ G) ≡ F .
(i) Widerspruchsregel
Wenn F unerfüllbar ist (ein Widerspruch“), dann gilt (F ∧
”
G) ≡ F und (F ∨ G) ≡ G.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
41
Die Regeln des Fundamentalsatzes der Aussagenlogik besagen,
dass die aussagenlogischen Formeln eine Boolesche Algebra
bilden –
wenn man äquivalente Formeln identifiziert“ (d. h. als gleich
”
betrachtet).
Technisch, genauer:
BalF ist die Menge der ≡-Äquivalenzklassen.
Die Operationen ∧, ∨, ¬ sind mit diesen Klassen verträglich,
also definieren sie auch Operationen auf den Klassen.
Objekte unserer Überlegungen: Formeln.
Rein syntaktisch!
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
42
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
43
Algebraische Auffassung: Schaltfunktionen“
”
Fixiere M ⊆ {Ai | Ai Variable }, M endlich.
(Semantik nur zur Definition der Äquiv.-Klassen.)
Jede Formel F , deren Variable alle in M vorkommen, definiert
eine Funktion ( Wertverlaufsfunktion für F“):
”
zF : {w , f }M α → α(F ) ∈ {w , f }.
Wenn man w mit 1 und f mit 0 gleichsetzt, ist dies eine
Schaltfunktion für die Variablen in M .
F Tautologie heißt: zF (α) = w für alle α.
F unerfüllbar heißt: zF (α) = f für alle α.
F ≡ G heißt: zF = zG.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
44
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
45
Beweis: Induktion über n.
(Naheliegende) Frage:
I.A.: Wenn n = 1 ist, gibt es nur vier mögliche Funktionen, für die man
leicht die Formeln A1, ¬A1, (A1 ∨ ¬A1), (A1 ∧ ¬A1) findet.
Sei z : {w , f }M → {w , f } eine beliebige Funktion.
Gibt es eine Formel F , die z beschreibt“, d. h. für die z = zF
”
gilt?
I.V.: Aussage richtig für n.
I.Schritt: Sei M = {A1, . . . , An}. Für α : M → {w , f } definiere
z0(α) = z(α ∪ {(An+1, 0)}) (belege An+1 mit 0) und
Proposition 1.2.7
z1(α) = z(α ∪ {(An+1, 1)}) (belege An+1 mit 1).
Sei z : {w , f }M → {w , f },
wobei (o.B.d.A.) M = {A1, . . . , An}, n ≥ 1.
Dann sind z0, z1 : {w , f }M → {w , f }, mit kleinerem M ,
Dann gibt es eine Formel F , in der nur A1, . . . , An und die
Verknüpfungen ∧, ∨, ¬ vorkommen, so dass z = zF gilt.
also gibt es nach I.V. Formeln F0 und F1 mit z0 = zF0 und z1 = zF1 .
Dann gilt zF = z für
F := ((An+1 ∧ F1) ∨ (¬An+1 ∧ F0)) .
(Wenn man mit dem Distributivitätsgesetz ausmultipliziert, erhält man die
kanonische disjunktive Normalform“ – s. Rechnerorganisation.)
”
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
46
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
47
Folgerung: Für jede Formel F gibt es eine äquivalente
{∧, ∨, ¬}-Formel F̂ .
Beweis: Wende 1.2.7 auf zF an, erhalte {∧, ∨, ¬}-Formel F̂
mit zF = zF̂ , und das heißt F ≡ F̂ .
Problem: Darstellung von zF erfordert Aufstellen der Wahrheitstafel von F und damit immer in |M | exponentiellen
Zeitaufwand. Selbst wenn F einfach“ ist, zieht diese Kon”
struktion daraus keinen Nutzen.
Geht es eventuell billiger“?
”
Satz 1.2.8 Aus einer beliebigen alF F kann eine äquivalente
{∧, ∨, ¬}-Formel F̂ direkt konstruiert werden (ohne Umweg
über die Wahrheitstafel).
Idee: Man muss die →- und ↔-Operatoren loswerden.
Beispiel. (Tafel.)
Finde eine Teilformel (G → H) oder (G ↔ H) mit der
Eigenschaft, dass G, H beides {∧, ∨, ¬}-Formeln sind. Im
Fall → ersetze durch (¬G ∨ H), im Fall ↔ durch ((G ∧ H) ∨
(¬G ∧ ¬H)).
Iteriere dies, bis alle → und ↔ verschwunden sind.
Achtung: Die Größe kann exponentiell wachsen;
Beispiel: (A1 ↔ (A2 ↔ (A3 . . . ↔ (An−1 ↔ An) . . .))).
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
48
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
49
Beispiel konjunktive Normalform“: Variante von {∧, ∨, ¬}”
Formeln.
Mitteilung, ohne Beweis:
(Korrektur im Vergleich zur Vorlesung)
Durch eine andere, aufwendigere, recht clevere Konstruktion
lässt sich erreichen, dass die Größe (Anzahl der Verknüpfungszeichen) size(F̂ ) in der neuen Formel F̂ nur polynomiell in der
Anzahl size(F )der Operatoren in F ist.
(A1 ∨ A2 ∨ ¬A4) ∧ (¬A1 ∨ ¬A2) ∧ (¬A1).
Achtung: Einerklauseln“ (Ai) und die leere Klausel“ () sind
”
”
erlaubt.
Definition 1.2.9
(a) heißt ein Literal, wenn = Ai oder = ¬Ai (für Variable Ai).
Alternative Schreibweise für ¬Ai: Ai.
(b) C = (1 ∨ . . . ∨ s) heißt eine Klausel, wenn s ≥ 0 und
1, . . . , s Literale sind.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
50
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
51
(c) F heißt in konjunktiver Normalform (KNF), wenn F =
(C1 ∧ . . . ∧ Cr )
mit r ≥ 0, wobei C1, . . . , Cr Klauseln sind.
Wir lassen die innere Klammerung weg, das sie für den Wahrheitswert keine Rolle spielt.
Wahrheitswerte, verallgemeinern die von gewöhnlichen Formeln leicht:
Sei α eine Belegung für alle Literale in der KNF-Formel
C1 ∧ . . . ∧ Cr .
• Literale: α(¬Ai) = f falls α(Ai) = w und
α(Ai) = f .
= w falls
• Klauseln: α((1 ∨. . .∨s)) = w genau dann wenn α(i) = w
für mindestens ein i.
Beachte: α(()) = α() (Einerklausel);
α(()) = f (leere Klausel).
• KNF-Formeln: α((C1 ∧ . . . ∧ Cr )) = w genau dann wenn
α(Cj ) = w für alle j.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
52
0
Beachte: α( j=1 Cj ) = w (leere DNF-Formel) (selten
benutzt).
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
53
Alternative Schreibweise für KNF-Formeln:
Weil für die Wahrheitswerte die Reihenfolge der Literale in
den Klauseln und die Reihenfolge der Klauseln sowie Wiederholungen von Literalen in Klauseln und Wiederholungen von
Klauseln gleichgültig sind,
schreibt man die Klauseln oft in Mengen um:
statt (A ∨ C ∨ B ∨ C ∨ ¬D ∨ A) schreibe {A, B, C, ¬D}.
Und DNF-Formeln in Mengen von Klauseln:
Statt (A1 ∨ A2 ∨ ¬A4) ∧ (¬A1) ∧ (¬A1 ∨ ¬A2 ∨ ¬A1) ∧ (¬A1)
schreibe:
{ {A1, A2, ¬A4}, {¬A1}, {¬A2, ¬A1} }
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
54
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
55
Beispiel disjunktive Normalform“:
”
Kein Bedeutungsunterschied!
Leere Klausel: {}, Leere KNF-Formel: {}.
(A1 ∧ A2 ∧ ¬A4) ∨ (¬A1 ∧ ¬A2) ∨ (¬A1).
Definition 1.2.9 (Forts.)
(d) M = (1 ∧ . . . ∧ s) heißt ein Monom, wenn s ≥ 0 und
1, . . . , s Literale sind.
(e) F heißt in disjunktiver Normalform (DNF) oder ein
(Boolesches) Polynom, wenn F = M1 ∨ . . . ∨ Mr
mit r ≥ 0, wobei M1, . . . , Mr Monome sind.
Wahrheitswerte für gegebene Belegungen:
Analog zu KNF-Formeln.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
56
Auch bei Monomen ist nur die Menge der Literale relevant,
und bei DNF-Formeln die Menge der Monome.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
58
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
57
Satz 1.2.10 Wenn F eine aussagenlogische Formel ist, dann
gibt es Formeln F und F mit F ≡ F ≡ F , wobei F in
KNF ist und F in DNF.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
59
Einschub: Der Satz ist mit den Kenntnissen aus der
Schaltungslogik (Rechnerorganisation) klar. Nämlich:
Zu F bilde z = zF mit z : {f , w }M → {f , w }. OBdA: M =
{A1, . . . , An}.
Dann definiere Minterme“, für Belegungen α : M → {f , w }:
”
⎞
⎛
α(A )
mα = ⎝
Ai i ⎠
das ODER aller Minterme zu Belegungen, die α(F ) = z(α) =
w erfüllen.
Liefert die Kanonische disjunktive Normalform“
”
Analog: Kanonische konjunktive Normalform“
”
Nachteil: |{α | α(F ) = w }| viele Minterme.
bzw. |{α | α(F ) = f }| viele Klauseln.
1≤i≤n
mit Awi = Ai, Afi = ¬Ai. Schließlich bilde
⎞
⎛
⎠,
F = ⎝
α : z(α)=w
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
60
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
Satz 1.2.10
1. Schritt: Starte mit F .
Wenn F eine aussagenlogische Formel ist, dann gibt es Formeln
F und F mit F ≡ F ≡ F , wobei F in KNF ist und F in
DNF. Aus F lässt sich eine äquivalente Klauselmenge K(F )
ablesen.
Mit Satz 1.2.8 finde äquivalente {∧, ∨, ¬}-Formel F̂ .
61
Nun: Schiebe Negationen zu den Variablen“. Iteriere:
”
(¬¬G) durch G ersetzen (Doppelnegation),
F und F können algorithmisch konstruiert werden,
ohne zu den vollen Wahrheitstafeln zu gehen.
¬(G ∧ H) durch (¬G ∨ ¬H) ersetzen (deMorgan),
Beweis: Wir geben einen Algorithmus an, für KNF bzw.
Klauselmenge.
bis es nicht mehr weiter geht.
¬(G ∨ H) durch (¬G ∧ ¬H) ersetzen (deMorgan);
Ende am 13.04.2010
Beobachtung: Größe/Tiefe des Syntaxbaums erhöht sich
nicht, Aufwand gering.
Schließlich: Alle ¬-Zeichen direkt an Variablen
(maximal eines).
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
62
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
63
Beispiel:
2. Schritt: Starte mit einer ∧-∨-Literal-Formel aus Schritt 1.
(¬(A ∧ ¬B) ∨ ¬(¬B ∨ ¬¬(C ∧ ¬A)))
Behauptung: Jede ∧-∨-Literal-Formel F besitzt eine äquivalente KNF-Formel F , die man durch einfache Umformungen
gewinnen kann.
≡ ((¬A ∨ ¬¬B) ∨ (¬¬B ∧ ¬¬¬(C ∧ ¬A)))
≡ ((¬A ∨ B) ∨ (B ∧ ¬(C ∧ ¬A)))
Beweis der Beh. durch Induktion über den Aufbau von F .
≡ ((¬A ∨ B) ∨ (B ∧ (¬C ∨ ¬¬A)))
I.A.: F = Ai oder F = ¬Ai: ist in KNF.
≡ ((¬A ∨ B) ∨ (B ∧ (¬C ∨ A)))
I.-Schritt: 1. Fall: F = (F1 ∧ F2).
Nach I.V. gibt es KNF-Formeln F1 und F2 mit F1 ≡ F1 und
F2 ≡ F2 .
Setze F = (F1 ∧ F2 ).
Nach Ersetzungssatz 1.2.5: F ≡ (F1 ∧ F2) ≡ F .
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
64
2. Fall: F = (F1 ∨ F2).
Nach I.V. gibt es KNF-Formeln F1 und F2 mit F1 ≡ F1 und
F2 ≡ F2 .
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
65
Gesamtergebnis: Zu beliebiger Formel F konstruiere Klauselmenge K(F )
mit α(F ) = α(K(F )) für alle Belegungen α, die zu F passen.
F1 = (D11 ∧ . . . ∧ D1r ), F2 = (D21 ∧ . . . ∧ D2s)
Beispiel für Durchführung: Tafel, Übung.
Die Dij sind Disjunktionen.
Beachte: Im schlimmsten Fall kann die Formelgröße exponentiell anwachsen.
Setze
F =
(D1i ∨ D2j ) .
Beispiel: F = (A1 ∧ B1) ∨ . . . ∨ (An ∧ Bn).
1≤i≤r
1≤j≤s
F ist Konjunktion von 2n Disjunktionen, kann auch nicht
vereinfacht werden.
(Beweis wäre anspruchsvolle Übungsaufgabe.)
Dann gilt F ≡ F und F ist in KNF.
(Ende Induktionsschritt.)
FG Komplexitätstheorie und Effiziente Algorithmen
K(F ) hat 2n Klauseln.
LS – 06.+13.04.2010
66
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
67
Nächstes Ziel: Aussagen zu Erfüllbarkeit/Unerfüllbarkeit unendlicher Formelmengen.
Satz 1.2.11 (Kompaktheitssatz)
Erinnerung:
Eine Menge F von aussagenlogischen Formeln ist erfüllbar
genau dann wenn jede endliche Teilmenge von F erfüllbar ist.
Für eine beliebige Menge F von Formeln:
Beweis: Wenn F endlich ist, ist der Satz trivialerweise richtig.
Also o.B.d.A.: F unendlich.
• α |= F falls α(F ) = w für alle F ∈ F.
• F heißt erfüllbar, falls es eine Belegung α mit α |= F gibt.
Ist {A1, A1 ∧ A2, A1 ∧ A2 ∧ A3, . . .} erfüllbar?
Ist {F1, F2, F3, . . .} ∪ {Ak , A} mit Fi = (Ai ↔ ¬Ai+1) erfüllbar?
⇒“: Wenn α |= F, dann erfüllt α natürlich jede endliche
”
Teilmenge von F.
⇐“: Wir nehmen folgendes an:
”
Für jede endliche Teilmenge F0 ⊆ F gibt es eine Belegung
α0, die zu F0 passt, mit α0 |= F0.
Wo soll jetzt eine Belegung α für F herkommen?
Die verschiedenen α0 könnten sich widersprechen!
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
68
Beispiel: F = {A1, A1 ∧ A2, A1 ∧ A2 ∧ A3, . . .}
LS – 06.+13.04.2010
69
Technische Vereinfachung: Bilde eine Folge von endlichen
Mengen.
F0 ⊆ {A1, A1 ∧ A2, . . . , A1 ∧ . . . ∧ Ak }
Fi := {F ∈ F | in F nur Variable aus {A1, . . . , Ai}}
wird von
⎧
⎪
⎨ w
αk (Ai) =
f
⎪
⎩ undefiniert
FG Komplexitätstheorie und Effiziente Algorithmen
Dummerweise könnte auch Fi unendlich sein.
falls i ≤ k,
falls i = k + 1,
falls i > k + 1.
({A1, (A1 ∧ A1), ((A1 ∧ A1) ∧ A1), . . .})
Aber die Menge {zF | F ∈ Fi} der Wertverlaufsfunktionen ist
i
endlich: höchstens 22 Elemente.
erfüllt. Leider passen die αk nicht zusammen.
Wir können also aus Fi eine endliche Teilmenge Fi ⊆ Fi
auswählen, so dass für F ∈ Fi ein F ≡ F mit F ∈ Fi
existiert.
Wie findet man jetzt eine erfüllende Belegung für F?
Dann definieren wir: Fi = F1 ∪ . . . ∪ Fi.
Liefert: F1 ⊆ F2 ⊆ F3 ⊆ . . ..
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
70
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
71
Falls in F nur endlich viele Variable vorkommen:
Bastelaufgabe“: Baue aus den αi eine Belegung α für F.
”
Unendlicher Baum mit Ebenen k = 1, 2, 3, . . ., eine für jede
Variable.
Fi = Fi+1
= · · · für ein i.
Nach Vor. hat Fi eine
erfüllende Belegung αi.
Auf Ebene k: 2k−1 Ak -Knoten.
Dann klar: αi |= F.
Jeder hat ein linkes Kind (f -Kind) und ein rechtes Kind (w Kind) auf Ebene k + 1.
Ab hier: F enthält unendlich viele Variable.
Jede Belegung αi definiert einen Weg im Baum von der Wurzel
zu einem Ai+1-Knoten. (Bunt anstreichen.)
Wir wählen für jedes i ein αi : {A1, . . . , Ai} → {f , w }
mit αi |= Fi.
Bild: Tafel:
Idee: Es gibt einen unendlichen farbigen Weg. Dieser stellt eine
unendliche Belegung α dar.
(Hoffnung: Erfüllt F.)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
72
Behauptung: Der beschriebene Belegungsbaum besitzt einen
unendlich langen farbigen Weg.
(Klassisches Ergebnis.
Heißt in der Literatur Lemma von König“.)
”
Beweis der Beh.: Wir konstruieren den Weg durch Induktion
über k.
Knoten vk ist Ak -Knoten und liegt auf Ebene k.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
73
Kinder.
⇒ durch mindestens eines der Kinder gehen unendlich viele
αi-Wege.
Dieses wählen wir als vk+1.
Konstruktion bricht nie ab; es entsteht ein unendlicher Weg
W.
Invariante (I): Es gibt unendlich viele i, so dass der αi-Weg
durch vk geht.
k = 1: Der Weg startet in der Wurzel v1.
Alle (unendlich vielen) αi-Wege gehen durch v1.
I.V.: Habe vk erreicht, (I) erfüllt.
I.Schritt: Durch vk gehen unendlich viele αi-Wege, vk hat 2
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
74
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
75
Wissen: αk |= Fk und Fi ⊆ Fk.
Definiere
α(Ak ) =
f
w
Also αk |= Fi, also αk |= F , also αk |= F .
falls W in Ak -Knoten nach links geht,
falls W in Ak -Knoten nach rechts geht.
Uff! Das war’s.
Zu zeigen: α |= F.
Sei dazu F ∈ F, alle Variable in {A1, . . . , Ai}.
Dann F ≡ F für ein F ∈ Fi.
Es gibt eine Belegung αk , k ≥ i, so dass der αk -Weg (mindestens) bis zum Ai+1-Knoten auf dem α-Weg verläuft.
(Weil die Kante vom Ai zu Ai+1-Knoten eingefärbt ist.)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
76
Lemma 1.2.12
Eine endliche Formelmenge F = {F1, . . . , Fk } ist erfüllbar
genau dann wenn die Formel F = (F1 ∧ . . . ∧ Fk ) erfüllbar ist.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
77
Möglich immer: Wahrheitstafel für F aufstellen.
Nächster Abschnitt: Aussagenlogische Resolution.
Beweis: (Ziemlich) Klar.
Um zu beweisen, dass F = {F1, F2, F3, . . .} unerfüllbar ist:
Für k = 1, 2, 3, . . . teste ob Fk = {F1, . . . , Fk } erfüllbar ist,
d. h. (Lemma!) ob (F1 ∧ . . . ∧ Fk ) erfüllbar ist.
Wenn F erfüllbar: unendliches Verfahren, Pech.
Wenn F unerfüllbar/widersprüchlich: Dies stellt sich nach endlich vielen Schritten heraus, wegen des Kompaktheitssatzes.
Fehlt: Gutes Verfahren, um Erfüllbarkeit einer Formel zu
testen.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
78
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
79
Wieso ist eigentlich gerade die Unerfüllbarkeit einer Formelmenge so interessant?
Proposition 1.2.13
Viele andere Aspekte lassen sich darauf zurückführen.
Beweis: ⇒“: Es gelte F |= G.
”
α sei eine beliebige Belegung mit α |= F. Nach Vor. gilt dann
α |= G, also α |= ¬G. Also kann keine Belegung sowohl F als
auch G erfüllen, also ist F ∪ {¬G} unerfüllbar.
Definition 1.2.12
F |= G, für Formelmenge F und Formel G, wenn für jede
Belegung α, die zu F und G passt, und die α |= F erfüllt,
auch α |= G gilt.
Sprechweise: F impliziert G
oder G ist (semantische) Folgerung aus F.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
80
Proposition 1.2.13(a)
F |= G gilt genau dann wenn F ∪ {¬G} unerfüllbar ist.
⇒“: Sei F ∪ {¬G} unerfüllbar.
”
Sei nun α eine beliebige Belegung mit α |= F. Nach Vor. gilt
α |= ¬G, also folgt α |= G.
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
81
Bis nächste Woche
(a) F |= G gilt genau dann wenn es eine endliche Teilmenge
F0 ⊆ F mit F0 |= G gibt.
(b) F |= G gilt genau dann wenn es F1, . . . , Fk ∈ F gibt, so
dass ((F1 ∧ . . . ∧ Fk ) → G) eine Tautologie ist.
• Folien nacharbeiten.
Beweis: (a) F |= G gdw (1.2.13) F ∪ {¬G} unerfüllbar
gdw (1.2.11) es ex. endl. Teilmenge F0 ⊆ F mit F0 ∪ {¬G}
unerfüllbar
gdw (1.2.13) es ex. endl. Teilmenge F0 ⊆ F mit F0 |= G.
• Übungsaufgaben drucken und vorbereiten.
(Übungen ab Mittwoch, 14.4.!)
• Bücher besorgen.
(b) Das F0 aus (a) sei {F1, . . . , Fk }.
Zu zeigen nur: F0 |= G gdw ((F1 ∧ . . . ∧ Fk ) → G) ist eine
Tautologie.
(Übung.)
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
82
FG Komplexitätstheorie und Effiziente Algorithmen
LS – 06.+13.04.2010
83
Herunterladen