Logik für Informatiker

Werbung
Logik für Informatiker
Aussagenlogik
Logik für Informatiker
1/19
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
Logik für Informatiker
Aussagenlogik
Motivation
2/19
Menschliche Logik
Computerlogik
Es regnet.
Die Straße ist trocken.
p
q
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Grundlagen
Atome:
3/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“
Literal
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Grundlagen
25.04.2005
4/19
b(F)
b Belegung von F
b╞ F
b erfüllt F, b(F) = 1
╞F
F Tautologie (allgemeingültig)
╞F
<=>
┐F unerfüllbar
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Erfüllbarkeit von Formeln
5/19
Intuitiv: Wahrheittafeln auswerten
p
0
0
1
1
q
0
1
0
1
pΛq
0
0
0
1
p = 1, q = 1
=>
25.04.2005
pΛq
erfüllende Belegung
erfüllbar
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Äquivalenz von Formeln
6/19
Wann sind zwei Formeln äquivalent?
p
0
0
1
1
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)?
●
●
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
Schreibweise: F1 ≡ F2
25.04.2005
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Kojunktiv-Normal-Form (KNF)
8/19
●
Konjunktionen von Disjunktionen „(...v...) Λ (...v...)“
●
„┐“ nur vor Atomen
Beispiel:
(p)
Λ
(┐q)
Λ
(p v ┐r)
Gegenbeispiele:
(p)
Λ
(┐q)
Λ
┐(p v r)
(┐┐p)
25.04.2005
Λ
(┐q)
Λ
(p v ┐r)
Marco Gießmann
Logik für Informatiker
Aussagenlogik
KNF – Implikationen entfernen
9/19
1. Implikationen entfernen
a → b ≡ ┐a v b
( ┐p
( ┐p
┐( ┐p
25.04.2005
q ) → (p
Λ
Λ
Λ
Λ
(r → q))
q) → ( p
Λ
( ┐r v q ) )
q) v (p
Λ
( ┐r v q ) )
Marco Gießmann
Logik für Informatiker
Aussagenlogik
KNF - Negativ-Normal-Form
10/19
2. Negativ-Normal-Form
┐┐ a ≡ a
┐( ┐p
25.04.2005
Λ
q) v (p
┐( a v b) ≡ ┐a
┐b
( ┐r v q ) )
Λ
(┐ ┐p v ┐q ) v ( p
Λ
( ┐r v q ) )
(
Λ
( ┐r v q ) )
p v ┐q ) v ( p
Λ
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Konjunktiv-Normal-Form
11/19
3. Distributivgesetz
a v (b
Λ
c) ≡ (a v b)
( p v ┐q ) v ( p
( p v ┐q v p )
25.04.2005
Λ
Λ
Λ
(a v c)
( ┐r v q ) )
( p v ┐q v ┐r v q )
Marco Gießmann
Logik für Informatiker
Aussagenlogik
KNF - Resolution
( p v q v ┐r )
Λ
12/19
(p v q v r)
(p v q)
Λ
(p)
Λ
( p v ┐q )
Λ
( p v ┐q )
Λ
Λ
( ┐p )
( ┐p )
( ┐p )
0
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
→ exponentielle Laufzeit
25.04.2005
Marco Gießmann
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:
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
Implikationsschreibweise
(a)
(1→a)
( ┐a1 v ┐a2 v ... v ┐an)
( a1
Λ
a2
( ┐a1 v ┐a2 v ... v ┐an v b )
( a1
Λ
a2
25.04.2005
Λ
Λ
...
...
Λ
Λ
an → 0 )
an → b )
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Markierungsalgorithmus
16/19
Ausgansformel in KNF:
( ┐a v ┐b v e )
Λ
Λ
c
Λ
a
Λ
( ┐c v b )
( ┐c v ┐d v a)
Λ
┐e
Λ
( ┐a v d )
Λ
┐g
Implikationsschreibweise:
((a
Λ
Λ
b) → e )
(a→d)
25.04.2005
Λ
((c
Λ
Λ
(1 →c)
Λ
( 1 → a)
d)→a)
Λ
(e→0)
Λ
Λ
( c → b)
( g → 0)
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Markierungsalgorithmus
17/19
Beispiel:
((a
1
2
Λ
1
Λ
b)→e)
2
(a→d)
25.04.2005
0
3
Λ
((c
Λ
1
( 1→ c )
2
Λ
0
1
Λ
( 1→ a )
3
1
d)→a)
1
Λ
1
Λ
(c→b)
4
(e→0)
2
Λ
(g→0)
Marco Gießmann
Logik für Informatiker
Aussagenlogik
Markierungsalgorithmus
18/19
1 function HORN (F)
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
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
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