Logik für Informatiker Motivation Grundlagen Grundlagen

Werbung
Logik für Informatiker
Aussagenlogik
Logik für Informatiker
1/19
Logik für Informatiker
Aussagenlogik
Motivation
2/19
Menschliche Logik
Computerlogik
Es regnet.
Die Straße ist trocken.
p
q
Proseminar „Logik für Informatiker“
Aussagenlogik
Dozent: Dr. Ekkart Kindler
Vortragender: Jürgen Hölker, Marco Gießmann
25.04.2005
25.04.2005
Marco Gießmann
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Grundlagen
Atome:
3/19
Logik für Informatiker
Aussagenlogik
Grundlagen
4/19
p = „es regnet“
q = „die Straße ist trocken“
Operatoren:
Λ
Belegungen:
b(p) = 1, b(q) = 0
Formel:
F = p → ┐q
„und“, v „oder“, ┐ „nicht“, → „impliziert“
b(F)
b Belegung von F
b╞ F
b erfüllt F, b(F) = 1
╞F
F Tautologie (allgemeingültig)
╞F
<=>
┐F unerfüllbar
Literal
25.04.2005
Marco Gießmann
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Erfüllbarkeit von Formeln
5/19
Logik für Informatiker
Aussagenlogik
Äquivalenz von Formeln
Wann sind zwei Formeln äquivalent?
Intuitiv: Wahrheittafeln auswerten
p
0
0
1
1
q
0
1
0
1
p
0
0
1
1
pΛq
0
0
0
1
p = 1, q = 1
25.04.2005
pΛq
erfüllbar
●
Marco Gießmann
q
0
1
0
1
p→q
1
1
0
1
┐p v q
1
1
0
1
Was ist mit (p Λ q → p) und (r v ¬r)?
erfüllende Belegung
●
=>
6/19
25.04.2005
beide sind stets 'True'
unschiedliche Anzahl Zeilen
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Äquivalenz von Formeln
7/19
F1, F2 semantisch Äquivalent
<=>
F1 ╞ F2 und F2 ╞ F1
Logik für Informatiker
Aussagenlogik
Kojunktiv-Normal-Form (KNF)
●
Konjunktionen von Disjunktionen „(...v...) Λ (...v...)“
●
„┐“ nur vor Atomen
Beispiel:
(p)
Λ
(┐q)
Λ
(p v ┐r)
Gegenbeispiele:
(p)
Λ
(┐q)
Λ
┐(p v r)
Schreibweise: F1 ≡ F2
(┐┐p)
25.04.2005
Marco Gießmann
Λ
(┐q)
(p v ┐r)
Λ
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
KNF – Implikationen entfernen
9/19
Logik für Informatiker
Aussagenlogik
KNF - Negativ-Normal-Form
┐┐ a ≡ a
a → b ≡ ┐a v b
q ) → (p
Λ
( ┐p
┐( ┐p
Λ
Λ
10/19
2. Negativ-Normal-Form
1. Implikationen entfernen
( ┐p
8/19
┐( ┐p
(r → q))
Λ
Λ
q) v (p
┐( a v b) ≡ ┐a
Λ
( ┐r v q ) )
(┐ ┐p v ┐q ) v ( p
Λ
( ┐r v q ) )
q) v (p
Λ
( ┐r v q ) )
(
Λ
( ┐r v q ) )
25.04.2005
Marco Gießmann
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Konjunktiv-Normal-Form
11/19
3. Distributivgesetz
a v (b
Logik für Informatiker
Aussagenlogik
KNF - Resolution
( p v q v ┐r )
Λ
c) ≡ (a v b)
Λ
Λ
Λ
(p v q v r)
Λ
Λ
( p v ┐q )
Λ
( ┐p )
Λ
( p v ┐q )
Λ
( ┐p )
( ┐r v q ) )
(p)
( p v ┐q v p )
12/19
(a v c)
(p v q)
( p v ┐q ) v ( p
┐b
( ┐r v q ) )
Λ
q) → ( p
p v ┐q ) v ( p
Λ
Λ
( ┐p )
( p v ┐q v ┐r v q )
0
25.04.2005
Marco Gießmann
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Überblick
13/19
●
Atom, Literal, Formel, Operator
●
Belegung
●
Äquivalenz
●
Kojunktiv-Normal-Form
●
Resolution
●
Erfüllbarkeit zeigen
Logik für Informatiker
Aussagenlogik
Horn-Formeln, -Klauseln
14/19
Hornklausel K:
K enthält max. ein positives Literal
Hornformel F:
F ist Konjunktion von Hornklauseln
Beispiele:
→ exponentielle Laufzeit
25.04.2005
Marco Gießmann
p, ┐p , p v ┐q, ┐p v q v ┐r
Horn-Klauseln
p v q, p v ┐q v r
keine Horn-Klauseln
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Horn-Formeln
15/19
Logik für Informatiker
Aussagenlogik
Markierungsalgorithmus
16/19
Ausgansformel in KNF:
Implikationsschreibweise
( ┐a v ┐b v e )
(1→a)
(a)
( a1
( ┐a1 v ┐a2 v ... v ┐an)
Λ
a2
Λ
Λ
...
an → 0 )
Λ
( a1
Λ
a2
Λ
...
25.04.2005
Λ
an → b )
Marco Gießmann
c
Λ
a
Λ
( ┐c v b )
( ┐c v ┐d v a)
Λ
┐e
Λ
┐g
Λ
Λ
b) → e )
(a→d)
Λ
((c
Λ
Λ
(1 →c)
Λ
( 1 → a)
d)→a)
Λ
(e→0)
25.04.2005
17/19
1
2
Λ
0
3
b)→e)
1
2
(a→d)
( g → 0)
Logik für Informatiker
Aussagenlogik
Markierungsalgorithmus
18/19
Λ
0
1
( 1→ c )
Λ
1
( 1→ a )
1
Λ
2
(c→b)
2
mark all occurences of 1 in F
3
4
while there is a conjunct (P1Λ P2 Λ ... Λ Pk) → P'
such that all Pi are marked but P' isn't do
5
Λ
Λ
( c → b)
1 function HORN (F)
Beispiel:
((a
Λ
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Markierungsalgorithmus
( ┐a v d )
Λ
Implikationsschreibweise:
((a
( ┐a1 v ┐a2 v ... v ┐an v b )
Λ
Λ
((c
1
2
Λ
3
1
d)→a)
Λ
4
(e→0)
Λ
(g→0)
mark P'
6
end while
7
if 0 is marked return 'unsatisfiable'
8
else return 'satisfiable'
9 end function
25.04.2005
Marco Gießmann
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Überblick
19/19
Erfüllbarkeitstest
Konjunktiv-Normal-Form:
- alle Formeln prüfbar
- exponentielle Laufzeit
Horn-Formeln:
- nicht alle Formeln prüfbar
- lineare Laufzeit
25.04.2005
Marco Gießmann
Herunterladen