Was bisher geschah: klassische Aussagenlogik

Werbung
Was bisher geschah: klassische Aussagenlogik
Syntax Symbole und Struktur
I
I
Junktoren: t, f , ¬ , ∨, ∧, →, ↔
aussagenlogische Formeln AL(P)
induktive Definition:
IA Atome (Aussagenvariablen) p, q, r , . . . ∈ P
IS zusammengesetzte Formeln (ϕ, ψ, η, . . .):
Verknüpfung von Formeln durch Junktoren
Prinzip der strukturellen Induktion über Baumstruktur von Formeln
Semantik (Bedeutung der Syntaxelemente)
I
I
I
I
I
I
eines Junktors: Wahrheitswertfunktion
einer Aussagenvariablen: Wahrheitswert
aller Aussagenvariablen einer Menge P:
durch Belegung (Interpretation) W : P → {0, 1}
einer Formel aus AL(P): Funktion
W : AL(P) → {0, 1} Boolesche Funktion
Erfüllbarkeit, Allgemeingültigkeit von Formeln
Äquivalenz von Formeln, z.B. p → q ≡ ¬p ∨ q
44
Modelle aussagenlogischer Formeln
Die Aussagenvariablen-Belegung W : P → {0, 1}
erfüllt die Formel ϕ ∈ AL(P) (ist ein Modell für ϕ)
genau dann, wenn W (ϕ) = 1.
Beispiel: Modelle (erfüllende Belegungen) für
p ∨ (q ∧ ¬p) ∈ AL({p, q}):
W10 mit W10 (p) = 1 und W10 (q) = 0,
W01 mit W01 (p) = 0 und W01 (q) = 1,
W11 mit W11 (p) = 1 und W11 (q) = 1
45
Modellmengen aussagenlogischer Formeln
Menge aller Modelle von ϕ ∈ AL(P):
Mod(ϕ) = {W : P → {0, 1} | W (ϕ) = 1}
(kürzere Darstellung als WW-Tabellen)
Beispiele:
Mod(p ∨ (q ∧ ¬p)) = {W10 , W01 , W11 },
Mod(p → p) = {W0 , W1 } = {W : {p} → {0, 1}},
Mod(p ∧ ¬p) = ∅
Formel ϕ ∈ AL(P) ist
unerfüllbar gdw. Mod(ϕ) = ∅
erfüllbar gdw. Mod(ϕ) 6= ∅
allgemeingültig gdw. Mod(ϕ) = {W : P → {0, 1}}
äquivalent zu ψ ∈ AL(P) gdw. Mod(ϕ) = Mod(ψ)
46
Wiederholung: wichtige Äquivalenzen
Für alle aussagenlogischen Formeln ϕ, ψ, η gilt:
I
ϕ ∨ ϕ ≡ ϕ,
ϕ ∧ ϕ ≡ ϕ,
ϕ ∨ f ≡ ϕ,
ϕ∧t≡ϕ
I
ϕ ∨ ψ ≡ ψ ∨ ϕ, ϕ ∧ ψ ≡ ψ ∧ ϕ
(Kommutativität von ∧ und ∨)
I
ϕ ∨ (ψ ∨ η) ≡ (ϕ ∨ ψ) ∨ η
ϕ ∧ (ψ ∧ η) ≡ (ϕ ∧ ψ) ∧ η
(Assoziativität von ∧ und ∨)
I
ϕ ∧ (ψ ∨ η) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ η)
ϕ ∨ (ψ ∧ η) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ η)
(Distributivgesetze)
I
¬¬ϕ ≡ ϕ (Doppelnegation)
I
¬(ϕ ∨ ψ) ≡ ¬ϕ ∧ ¬ψ, ¬(ϕ ∧ ψ) ≡ ¬ϕ ∨ ¬ψ
(DeMorgansche Regeln)
I
ϕ ∨ ψ ≡ ¬(¬ϕ ∧ ¬ψ), ϕ ∧ ψ ≡ ¬(¬ϕ ∨ ¬ψ)
(Dualität von ∧ und ∨)
I
ϕ → ψ ≡ ¬ψ → ¬ϕ (Kontraposition)
I
(ϕ ∧ ψ) ∨ (¬ϕ ∧ ψ) ≡ ψ (Fallunterscheidung)
47
Umformen von Formeln
Satz (Ersetzbarkeitstheorem)
Für drei Formeln ϕ, ψ, η ∈ AL(P), wobei ψ ≡ η und ψ eine
Teilformel von ϕ ist, gilt ϕ ≡ ϕ0 ,
wobei ϕ0 entsteht, indem in ϕ ein Vorkommen von ψ durch η
ersetzt wird.
(Nachweis durch strukturelle Induktion)
Formeln können also durch Ersetzung äquivalenter Teilformeln in
semantisch äquivalente Formeln umgeformt werden.
(Änderung der Syntax bei unveränderter Semantik)
48
Junktorbasen (vollständige Operatorensysteme)
Eine Menge J von Junktoren heißt genau dann Junktorbasis
(vollständiges Operatorensystem), wenn zu jeder aussagenlogische
Formel ϕ eine äquivalente aussagenlogische Formel ψ (d.h. ϕ ≡ ψ)
existiert, wobei ψ nur Junktoren aus der Menge J enthält.
Beispiele: Die Mengen
I
{¬, ∨, ∧}
I
{¬, ∨}
I
{¬, ∧}
I
{¬, →}
I
{f, →}
sind Junktorbasen.
Die Mengen {∨, ∧} und {∨, ∧, →} sind keine Junktorbasen.
49
Normalformen
spezielle Formeln:
Literal Atom oder negiertes Atom
NNF Formeln, in denen das Negationssymbol ¬ höchstens
auf Atome angewendet wird, heißen in
Negations-Normalform.
Beispiel: ¬p ∨ ((¬q ∨ p) ∧ q), ¬p, p
W
V
mi
CNF Formeln der Form ni=1
l
j=1 i,j
mit Literalen li,j
heißen in konjunktiver Normalform.
Beispiel: (¬p ∨ ¬q) ∧ (p ∨ q) ∧ ¬q, p ∨ q, p ∧ ¬q, ¬p
V
W
mi
DNF Formeln der Form ni=1
j=1 li,j
mit Literalen li,j
heißen in disjunktiver Normalform.
Beispiel: ¬p ∨ (¬q ∧ p) ∨ (p ∧ q), p ∨ q, p ∧ ¬q, ¬p
50
Satz über Normalformen
Satz
Zu jeder Formel ϕ ∈ AL(P) existieren
I
eine äquivalente Formel ϕ1 ∈ AL(P) in NNF,
I
eine äquivalente Formel ϕ2 ∈ AL(P) in CNF und
I
eine äquivalente Formel ϕ3 ∈ AL(P) in DNF.
Beweis (konstruktiv) durch Angabe einer Transformationsvorschrift
beliebiger Formeln in Normalformen:
1. Formeln mit Junktoren →, ↔, t, f schrittweise durch Formeln
mit ausschließlich ∨, ∧, ¬ ersetzen
2. Konstruktion einer NNF durch (mehrmalige) Anwendung der
deMorganschen Regeln
3. Konstruktion der CNF und DNF durch (mehrmalige)
Anwendung der Distributivgesetze auf die NNF
Beispiele (Tafel): p ↔ q , (a → b) → c
51
DNF-SAT
Aufgabe DNF-SAT:
W Vki
gegeben: DNF ϕ = m
i=1 j=1 li,j
Frage: Ist ϕ erfüllbar?
Instanz, z.B. (p ∧ ¬q ∧ ¬p) ∨ (q ∧ p ∧ ¬q) ∨ (¬p ∧ ¬q)
Lösungsidee:
I ϕ ist genau dann erfüllbar, wenn (wenigstens) eine der m
Vi
Konjunktionen kj=1
li,j erfüllbar ist.
Vk i
I Konjunktion
j=1 li,j ist genau dann unerfüllbar, wenn für
eine Aussagenvariable x ∈ var(ϕ) gilt:
{x, ¬x} ⊆ {li,j | j ∈ {1, . . . , ki }} (Widerspruch).
W Vk i
Lösungsverfahren: ϕ = m
i=1 j=1 li,j ist genau dann
Vi
li,j
erfüllbar , wenn eine der m Konjunktionen kj=1
widerspruchsfrei ist,
unerfüllbar , wenn alle m Konjunktionen einen Widerspruch
enthalten.
DNF-SAT ist einfach (schnell) zu lösen.
52
CNF-SAT
Aufgabe CNF-SAT:
V Wki
gegeben: CNF ϕ = m
i=1 j=1 li,j
Frage: Ist ϕ erfüllbar?
Instanz z.B. (p ∨ ¬q) ∧ (q ∨ p) ∧ (¬p ∨ ¬q)
Lösungsansätze:
I
Test aller möglichen Belegungen, aufwendig
für große Anzahl an Aussagenvariablen unpraktikabel
I
Umformung in eine zu ϕ äquivalente DNF ψ
Test von ψ auf Erfüllbarkeit
für große Anzahl an Aussagenvariablen unpraktikabel
Konstruktion einer Formel ψ mit
I
1. ψ erfüllbar gdw. ϕ erfüllbar und
2. Erfüllbarkeit für ψ einfach zu testen
CNF-SAT ist schwierig zu lösen. (zeitaufwendig)
53
SAT-Solver
SAT-Solver: Werkzeug zum Lösen von CNF-SAT-Instanzen
SAT-Solver
I
benutzen heuristische Verfahren,
I
finden für praktische Probleme oft schnell eine Lösung,
I
meist Ausgabe einer erfüllenden Belegung (wenn eine existiert)
aktive Forschung auf diesem Gebiet:
jährlich Wettbewerbe (www.satcompetition.org/)
typische Anwendung von SAT-Solvern:
1. Modellierung des ursprünglichen Problems P als
CNF-SAT-Instanz P 0 (Darstellung als CNF ϕ)
2. Lösung von P 0 mit SAT-Solver
3. Übersetzung erfüllender Belegung für ϕ in Lösung für P
54
Beispiel Bahnfahrer (Übungsaufgabe 1.3)
In einem Eisenbahnabteil sitzen
...

LB → MT



(¬MB) → RT
Φ=
LS ∨ LT ∨ LB



LS → ¬LT
die Herren Lehmann, Müller und Richter

,
LT → MS
,



,
RS → LT
,
, MS ∨ MT ∨ MB , . . . 


,
LS → ¬LB
, ...
Darstellung als CNF
ϕ=
∧
∧
∧
(¬LB ∨ MT )
(MB ∨ RT )
(LS ∨ LT ∨ LB)
(¬LS ∨ ¬LT )
∧
∧
∧
∧
(¬LT ∨ MS)
(¬RS ∨ LT )
(MS ∨ MT ∨ MB) ∧
(¬LS ∨ ¬LB)
∧
···
···
Was für ein Landsmann ist jeder?
gesucht ist also ein Modell (erfüllende Belegung) für ϕ
(repräsentiert Zuordnung: {L, M, R} → {S, T , B})
55
Lösung mit SAT-Solver
Eingabe im DIMACS-Format für CNF (ASCII):
erste Zeile enthält Typ (cnf), Anzahl der Aussagenvariablen und
Disjunktionen (z.B. p cnf 9 25)
I Aussagenvariablen {1, . . . , n}
I jede Disjunktion (Klausel) eine Zeile,
- statt ¬, Literale durch Leerzeichen getrennt,
0 markiert Ende der Klausel
I
Darstellung der Bahnfahrer-Aufgabe als CNF in DIMACS-Format
p cnf 9 25
c 1:LS, 2:LT, 3:LB, 4:MS, 5:MT, 6:MB, 7:RS, 8:RT, 9:RB
-3 5 0
-2 4 0
...
Lösung mit SAT-Solver, z.B. MiniSat, Lingeling
SATISFIABLE
1 -2 -3 -4 -5 6 -7 8 -9 0
Ausgabe: erfüllende Belegung {1 7→ 1, 6 7→ 1, 8 7→ 1} (sonst 0)
wahr sind also 1 : LS, 6 : MB und 8 : RT
56
Modellierungsbeispiel: n-Damen-Aufgabe
Frage: Lassen sich n Damen so auf einem n × n-Schachbrett
anordnen, dass keine Dame eine andere bedroht?
Lösung: zulässige Anordnung, falls möglich
Bedingungen für zulässige Anordnungen:
I
n Damen auf dem Feld, also in jeder Zeile (wenigstens) eine
I
keine Zeilenbedrohung
I
keine Spaltenbedrohung
I
keine diagonale Bedrohung
57
Repräsentation der 3-Damen-Aufgabe
9 Felder – Aussagenvariablen {x1 , . . . , x9 }
Bedingungen:
I
I
I
I
in jeder Zeile (wenigstens) eine Dame
x1 ∨ x2 ∨ x3 ,
x4 ∨ x5 ∨ x6 ,
x7 ∨ x8 ∨ x9
keine Zeilenbedrohung
x1 → ¬x2 (≡ ¬x1 ∨ ¬x2 ),
x4 → ¬x5 ,
x7 → ¬x8 ,
x1 → ¬x3 ,
x4 → ¬x6 ,
x7 → ¬x9 ,
x2 → ¬x3
x5 → ¬x6
x8 → ¬x9
keine Spaltenbedrohung
x1 → ¬x4 ,
x2 → ¬x5 ,
x3 → ¬x6 ,
x1 → ¬x7 ,
x2 → ¬x8 ,
x3 → ¬x9 ,
x4 → ¬x7
x5 → ¬x8
x6 → ¬x9
x1 → ¬x9 ,
x5
x4
x5
x6
keine diagonale Bedrohung
x1 → ¬x5 ,
x2 → ¬x6 ,
x3 → ¬x5 ,
x2 → ¬x4 ,
x3 → ¬x7 ,
→ ¬x9
→ ¬x8
→ ¬x7
→ ¬x8
Man vergleiche mit den Kontext-Bedingungen aus ÜA 1.3
58
4 Damen
16 Felder – Aussagenvariablen {x1 , . . . , x16 }
eine mögliche Lösung (Modell, erfüllende Belegung):
¬1 ∧ ¬2 ∧ 3 ∧ ¬4 ∧ 5 ∧ ¬6 ∧ ¬7 ∧ ¬8 ∧ ¬9 ∧ ¬10 ∧ ¬11 ∧ 12 ∧
¬13 ∧ 14 ∧ ¬15 ∧ ¬16
×
×
×
×
59
Einsatz von SAT-Solvern
typische Anwendungen für SAT-Solver z.B.
I
Schaltkreisentwurf und -verifikation
I
Konfiguration
I
Model-Checking
I
Planen
I
Constraint-Lösen
I
kombinatorische Suchprobleme, z.B.
Graph-Färbungen (Register-Zuordnung, Sudoku)
60
Beschränkte Ausdrucksstärke der Aussagenlogik
I
Aussagen immer zweiwertig
(nur wahr oder falsch, keine Zwischenwerte),
z.B.: Die Rose ist rot. Das Bier ist kalt. Der Student ist fleißig.
(Erweiterung zu mehrwertigen Logiken, fuzzy logic)
I
Aussagen immer absolut
(keine Abhängigkeit vom Kontext, z.B. Ort, Zeitpunkt),
z.B.: Es regnet. x > 3
(Erweiterung zur Modal- und Temporallogiken)
I
Aussagen über alle Elemente großer“ Mengen aufwendig
”
(Erstellung, Platzbedarf), z.B. Zuordnungen
I
keine Aussagen über Elemente einer unendlichen Mengen oder
Mengen unbestimmter Mächtigkeit möglich, z.B.
I Jede durch 4 teilbare Zahl ist gerade.
I In jedem zusammenhängenden Graphen mit ≥ 2 Knoten hat
jeder Knoten einen Nachbarn.
I Es ist nicht alles Gold was glänzt.
(Erweiterung zur Prädikatenlogik)
61
Modellierungsbeispiel
1. Max ist ein Fisch.
2. Alle Fische schwimmen.
3. Also schwimmt Max.
Individuenbereich (Objekte): Lebewesen
Individuen (Konstanten) Max
Eigenschaften: istFisch, schwimmt
prädikatenlogische Formeln:
1. istFisch(Max)
2. ∀x(istFisch(x) → schwimmt(x))
3. schwimmt(Max)
62
Modellierung in Prädikatenlogik
Grundannahme:
Die zu modellierende Welt besteht aus Individuen, die
Eigenschaften haben und zueinander in Beziehungen (Relationen,
Funktionen) stehen.
Aussagen beschreiben Eigenschaften von und und Beziehungen
zwischen Individuen.
Formalisierung solcher Aussagen durch prädikatenlogische Formeln.
63
Prädikatenlogische Aussagen – Beispiele
Personen sind genau dann Geschwister, wenn sie dieselbe
Mutter oder denselben Vater haben.
I A ist genau dann Nachfahre von B, wenn B A’s Vater oder A’s
Mutter ist oder ein Elternteil von A Nachfahre von B ist.
I Nachfahren derselben Person sind verwandt.
Individuenbereich: Menge von Personen
Beziehungen: Nachfahre, verwandt, Geschwister
Funktionen: Mutter, Vater
I
Primzahlen sind genau diejenigen natürlichen Zahlen, die
genau zwei verschiedene Teiler haben.
I Gerade Zahlen sind genau diejenigen natürlichen Zahlen, die
durch 2 teilbar sind.
I Es existieren gerade Primzahlen.
I Nachfolger ungerader Primzahlen sind nicht prim.
I Das Quadrat jeder geraden Zahl ist gerade.
Individuenbereich: Menge
aller natürlichen Zahlen
Eigenschaft: prim, gerade
Beziehung: teilt
Funktion: Nachfolger, Quadrat
I
N
64
Atome (elementare Aussagen)
Aussagenlogik : Aussagenvariable,
bekommt festen Wahrheitswert durch Belegung
Prädikatenlogik : (parametrisierte) Aussage über Eigenschaften
von oder Beziehungen zwischen Individuen
Wahrheitswert abhängig von beteiligten Individuen
z.B. nebeneinander(x, y ),gerade(n) , x < 3, x < y ,
geschwister(x, mutter(y ))
65
Prädikatenlogik (der ersten Stufe) – Syntax
bekannt: aussagenlogische Junktoren t, f, ¬, ∨, ∧, →, ↔
neu: prädikatenlogische Atome, Quantoren ∀, ∃
Definition (induktiv)
Die Menge aller Formeln der Prädikatenlogik ist definiert durch:
IA: Alle Atome sind Formeln.
IS:
I
I
I
t und f sind Formeln.
Ist ϕ eine Formel und x eine Individuenvariable,
dann sind auch ¬ϕ, ∀xϕ, ∃xϕ Formeln.
Sind ϕ und ψ Formeln, dann sind auch
ϕ ∨ ψ, ϕ ∧ ψ, ϕ → ψ und ϕ ↔ ψ Formeln.
Baumstruktur der Formeln
66
Modellierung in Prädikatenlogik – Beispiel Topfdeckel
Auf jeden Topf passt ein Deckel.
I
Individuenbereich: Kochgeschirr
I
Eigenschaften: ist-Topf T ( ), ist-Deckel D( )
I
Beziehung: passt-auf P( , )
Schrittweise Entwicklung einer Formel:
1. Atome: P(x, y ) (x passt auf y ),
D(x) (x ist ein Deckel), T (y ) (y ist ein Topf)
2. Formel D(x) ∧ T (y ) ∧ P(x, y )
Der Deckel x passt auf den Topf y .
3. Formel ∃x (D(x) ∧ T (y ) ∧ P(x, y ))
Es gibt einen Deckel, welcher auf den Topf y passt.
4. Formel ∀y ∃x (D(x) ∧ T (y ) ∧ P(x, y ))
Zu jedem Topf gibt es einen Deckel, der auf diesen Topf passt.
bedeutet dasselbe wie: Auf jeden Topf passt ein Deckel.
67
Modellierung in Prädikatenlogik – Beispiel Geschwister
Personen sind genau dann Geschwister, wenn sie dieselbe Mutter oder
denselben Vater haben.
I
I
Individuenbereich: Personen
Beziehungen: sind-Geschwister G ( , ),
ist-Mutter-von M( , ) , ist-Vater-von V ( , )
Zwischenschritte:
Atome: G (x, y ), M(z, x), M(z, y ), V (u, x), V (u, y )
M(z, x) ∧ M(z, y )
z ist Mutter von x und y .
I ∃z (M(z, x) ∧ M(z, y ))
x und y haben dieselbe Mutter (z).
I ∃z (M(z, x) ∧ M(z, y )) ∨ ∃u (V (u, x) ∧ V (u, y ))
x und y haben dieselbe Mutter (z) oder denselben Vater (u).
I G (x, y ) ↔ (∃z (M(z, x) ∧ M(z, y )) ∨ ∃u (V (u, x) ∧ V (u, y )))
x und y sind genau dann Geschwister, wenn Sie dieselbe Mutter
oder denselben Vater haben.
I
I
(Zwei beliebige) Personen sind genau dann Geschwister, wenn Sie
dieselbe Mutter oder denselben Vater haben.
∀x∀y (G (x, y ) ↔ (∃z (M(z, x) ∧ M(z, y )) ∨ ∃u (V (u, x) ∧ V (u, y ))))
68
Herunterladen