Prädikatenlogik: Syntax

Werbung
Prädikatenlogik: Syntax
Signatur : Welche Zeichen gibt es?
Funktionssymbole
Prädikatensymbol (Eigenschaften)
Terme:
Variablen
f (t1, . . . tn) wenn ti Terme und f Funktionssymbol
Formeln:
P (t1, . . . tn) wenn ti Terme und P Prädikatensymbol
(Atom)
(¬F ), (F ∨ G), (F ∧ G), (F ⇒ G), (F ⇔ G)
(∀x : F )
(∃x : F )
KI, SS
09, F olien P r.Logik
Seite 1,
18. Juni2009
Beispiele
(∀x : (∃y : R(x, y)))
(∀x : (∀y : (∀z : ((R(x, y) ∧ R(x, y)) ⇒ R(x, z)))))
vereinfachte Schreibweise:
∀x, y, z : R(x, y) ∧ R(x, y) ⇒ R(x, z)
x, y, z, sind Variablen; R ist ein Prädikatensymbol
KI, SS
09, F olien P r.Logik
Seite 2,
18. Juni2009
Definitionen
Atom:
Literal:
Grundterm:
Grundatom:
geschlossene Formel:
P (t1, . . . tn)
Ein Atom oder ein negiertes Atom
Ein Term t ohne Variablen
Ein Atom ohne Variablen
ohne freie Variablen
Klausel:
∀x1, x2, . . . : F
F
Disjunktion von Literalen
und {x1, x2, . . .} = FV (F )
KI, SS
09, F olien P r.Logik
Seite 3,
18. Juni2009
Interpretationen
Interpretationen I sind analog wie in der Aussagenlogik
Es wird durch I noch zusätzlich festgelegt:
•
•
•
KI, SS
Menge D 6= ∅ der möglichen Elemente
Für Prädikatensymbole P :
I(R): D × . . . × D → Bool
Für Funktionssymbole f :
I(f ): D × . . . × D → D
09, F olien P r.Logik
Seite 4,
18. Juni2009
Interpretationen: Berechnung
H = f (t1, . . . tn)
H
H
H
H
H
H
H
H
= P (t1, . . . tn)
=0
=1
= ¬F
=F ∨G
= F ∧ G,
=F ⇒G
=F ⇔G
H = ∀x : F
H = ∃x : F
KI, SS
09, F olien P r.Logik
dann I f (t1, . . . tn) = I(f ) I(t1), . . . , I(tn)
dann I P (t1, . . . tn) = I(P ) I(t1), . . . , I(tn)
dann I(H) = 0
dann I(H) = 1
dann I(H) = 1 falls I(F ) = 0
dann I(H) = 1 falls I(F ) = 1 oder I(G) = 1
dann I(H) = 1 falls I(F ) = 1 und I(G) = 1
dann I(H) = 1 falls I(F ) = 0 oder I(G) = 1
dann I(H) = 1 falls I(F ) = 1 gdw. I(G) = 1
dann I(H) = 1 falls für alle a ∈ D : I[a/x](F ) = 1
dann I(H) = 1 falls für ein a ∈ D : I[a/x](F ) = 1
Seite 5,
18. Juni2009
Modelle, Tautologien, Widerspruch etc.
I |= F : I macht F wahr
Eine (geschlossene) Formel F heißt:
•
•
•
•
allgemeingültig (Tautologie, Satz)
erfüllbar
unerfüllbar (widersprüchlich)
falsifizierbar
gdw.
gdw.
gdw.
gdw.
F ist allgemeingültig gdw. ¬F unerfüllbar
KI, SS
09, F olien P r.Logik
Seite 6,
18. Juni2009
alle I machen F wahr
ein I macht F wahr
kein I macht F wahr
ein I macht F falsch
Beispiele
allgemeingültig:
∀x.Q(x) ∨ ¬Q(x)
unerfüllbar:
P ∧ ¬P
erfüllbar, falsifizierbar:
∀x.P (x)
KI, SS
09, F olien P r.Logik
Seite 7,
18. Juni2009
Semantische Folgerung
F |= G
gdw.
für alle I: I |= F impliziert I |= G
Für mehrere Formeln:
F1, . . . , Fn |= G
gdw.
F1 ∧ . . . ∧ Fn
|=
G
Für Mengen von Formeln:
F |= G gdw. für alle I:
wenn für alle F ∈ F : I |= F ,
dann I |= G
KI, SS
09, F olien P r.Logik
Seite 8,
18. Juni2009
Deduktionstheorem
Deduktionstheorem:
Für alle Formeln F und G gilt:
F |= G
gdw.
F ⇒ G ist Tautologie
Folgerung:
F |= G
gdw.
¬(F ⇒ G) ist unerfüllbar (widersprüchlich)
gdw.
F ∧ ¬G ist unerfüllbar.
KI, SS
09, F olien P r.Logik
Seite 9,
18. Juni2009
Komplexität
Es ist unentscheidbar, ob eine geschlossene Formel eine Tautologie ist
(Halteproblem für Turingmaschinen)
Tautologien der Prädikatenlogik sind rekursiv aufzählbar
praktische Folgerung:
Deduktionssystem:
Wenn F Tautologie:
Wenn F keine Tautologie:
KI, SS
09, F olien P r.Logik
Seite 10,
18. Juni2009
dann Antwort JA in endlicher Zeit
Antwort NEIN oder Nichtterminierung
Klauselnormalformen
Klauselnormalform (conjunctive normal form, CNF)
Klausel-Menge:
Klausel:
KI, SS
09, F olien P r.Logik
Seite 11,
K1 ∧ . . . ∧ Kn
Disjunktion von Literalen mit All-Quantor-Präfix:
∀x1, . . . , xm.L1 ∨ . . . ∨ Ln
18. Juni2009
Elementare Rechenregeln
Regeln der Aussagenlogik gelten auch für prädikatenlogische Formeln.
Regeln für Quantoren:
¬∀x : F
¬∃x : F
(∀x : F ) ∧ G
(∀x : F ) ∨ G
(∃x : F ) ∧ G
(∃x : F ) ∨ G
∀x : F ∧ ∀x : G
∃x : F ∨ ∃x : G
KI, SS
09, F olien P r.Logik
Seite 12,
18. Juni2009
⇔
⇔
⇔
⇔
⇔
⇔
⇔
⇔
∃x : ¬F
∀x : ¬F
∀x : (F ∧ G)
∀x : (F ∨ G)
∃x : (F ∧ G)
∃x : (F ∨ G)
∀x : (F ∧ G)
∃x : (F ∨ G)
falls
falls
falls
falls
x
x
x
x
nicht
nicht
nicht
nicht
frei
frei
frei
frei
in
in
in
in
G
G
G
G
Transformation in CNF
Unter Erhaltung der Unerfüllbarkeit
1: Elimination von ⇔ und ⇒:
F ⇔G
F ⇒G
→
→
F ⇒G∧G⇒F
¬F ∨ G
2. Negation ganz nach innen schieben:
¬¬F
¬(F ∧ G)
¬(F ∨ G)
¬∀x : F
¬∃x : F
KI, SS
09, F olien P r.Logik
Seite 13,
18. Juni2009
→
→
→
→
→
F
¬F ∨ ¬G
¬F ∧ ¬G
∃x : ¬F
∀x : ¬F
Transformation in CNF
3. Skopus von Quantoren minimieren:
∀x : (F
∀x : (F
∃x : (F
∃x : (F
∀x : (F
∃x : (F
∧ G)
∨ G)
∧ G)
∨ G)
∧ G)
∨ G)
→
→
→
→
→
→
(∀x : F ) ∧ G
(∀x : F ) ∨ G
(∃x : F ) ∧ G
(∃x : F ) ∨ G
∀x : F ∧ ∀x : G
∃x : F ∨ ∃x : G
falls
falls
falls
falls
4. Alle gebundenen Variablen umbenennen.
KI, SS
09, F olien P r.Logik
Seite 14,
18. Juni2009
x
x
x
x
nicht
nicht
nicht
nicht
frei
frei
frei
frei
in
in
in
in
G
G
G
G
Transformation in CNF
5. ∃ eliminieren mittels Skolemisierung
von außen nach innen.
∃x : F [x] → F [g(y1, . . . , yn)]
wobei yi die Variablen sind, die weiter außen
unter einem Allquantor stehen.
g neues Funktionssymbol
pro Existenzquantor ein neues Funktionssymbol
KI, SS
09, F olien P r.Logik
Seite 15,
18. Juni2009
Transformation in CNF
6. Allquantoren nach außen schieben
7. Distributivität, Assoziativität, Kommutativität von ∧, ∨
iterativ (mit richtiger Strategie) anwenden,
um ∧ nach außen zu schieben (“Ausmultiplikation“).
F ∨ (G ∧ H) → (F ∨ G) ∧ (F ∨ H)
(Oder: Schnelle CNF-Erzeugung)
KI, SS
09, F olien P r.Logik
Seite 16,
18. Juni2009
Resultat: CNF
Konjunktion von Disjunktionen (Klauseln) von Literalen:
∀ · (L1,1 ∨ . . . ∨ L1,n1 )
∀ · (L2,1 ∨ . . . ∨ L2,n2 )
∧
∧
...
∧ ∀ · (Lk,1 ∨ . . . ∨ L1,nk )
oder in Mengenschreibweise:
{{L1,1, . . . , L1,n1 },
{L2,1, . . . , L2,n2 },
...
{Lk,1, . . . , L1,nk }}
KI, SS
09, F olien P r.Logik
Seite 17,
18. Juni2009
Beispiel
Eingabe
¬∃y : ∀x : P (x) ⇔ Q(y)
Impl.Elim.
¬∃y : ∀x : (¬P (x) ∨ Q(y)) ∧ (¬Q(y) ∨ P (x))
Neg. Elim.
∀y : ∃x : (P (x) ∧ ¬Q(y)) ∨ (Q(y) ∧ ¬P (x))
Skolemisieren: ∀y : (P (f (y)) ∧ ¬Q(y)) ∨ (Q(y) ∧ ¬P (f (y)))
∀y : (P (f (y)) ∨ Q(y)) ∧ (P (f (y)) ∨ ¬P (f (y)))
∧ (¬Q(y) ∨ Q(y)) ∧ (¬Q(y) ∨ ¬P (f (y)))
Distrib.:
Klausel-Erz.+
Umbenennen: (∀y1 : P (f (y1)) ∨ Q(y1)) ∧ (∀y2 : P (f (y2)) ∨ ¬P (f (y2)))
∧(∀y3 : ¬Q(y3) ∨ Q(y3)) ∧ (∀y4 : ¬Q(y4) ∨ ¬P (f (y4)))
KI, SS
09, F olien P r.Logik
Seite 18,
18. Juni2009
Grundresolution
Resolutionsschritt ist analog zur Resolution in Aussagenlogik:
Elternklausel 1:
Elternklausel 2:
Resolvente:
L, A1, . . . , Am
¬L, B1, . . . , Bn
A1, . . . , Am, B1, . . . , Bn
Das Resolutionsverfahren vervollständigt Klauselmengen
(analog zur Aussagenlogik)
Erfolg, wenn leere Klausel erzeugt wurde.
Stopp, wenn keine neuen Klauseln erzeugbar sind: Erfüllbar
KI, SS
09, F olien P r.Logik
Seite 19,
18. Juni2009
Grundresolution: Vollständigkeit
Satz Jede unerfüllbare Grundklauselmenge ist mit Grundresolution widerlegbar.
=⇒
Grundresolution ist ein
Grundklauselmengen.
Entscheidungsverfahren
Das folgt direkt aus den Sätzen zur Aussagenlogik.
KI, SS
09, F olien P r.Logik
Seite 20,
18. Juni2009
für
Allgemeine Resolution (Prädikatenlogik)
Man braucht: komplementär machen“.
”
P (x)
¬P (y)
und
x 7→ y ist eine passende Substitution
KI, SS
09, F olien P r.Logik
Seite 21,
18. Juni2009
Resolution mit Unifikation
KI, SS
Elternklausel 1:
Elternklausel 2:
L, A1, . . . , Am
¬L0, B1, . . . , Bn
Resolvente:
σ(A1, . . . , Am, B1, . . . , Bn)
09, F olien P r.Logik
Seite 22,
18. Juni2009
σ ist Substitution
mit σ(L) = σ(L0)
Beispiel: modus ponens
Historisches Beispiel:
Alle Menschen sind sterblich, Sokrates ist ein Mensch,
also ist Sokrates sterblich.
M (So) ∧ (∀y : (M (y) ⇒ S(y))) ⇒ S(So)
Klauselmenge zur Negation: ¬(M (So) ∧ (M (y) ⇒ S(y)) ⇒ S(So))
{M (So)}
{¬M (y) ∨ S(y)}
{¬S(So)}
1. Resolvente: {S(So)} aus {M (So)} und {¬M (y) ∨ S(y)}
mit Substitution y 7→ So
2. Resolvente: ∅ aus {S(So)} und {¬S(So)}
KI, SS
09, F olien P r.Logik
Seite 23,
18. Juni2009
Extra Regel: Faktorisierung
Elternklausel:
L, L0, K1, . . . , Km
Faktor:
σ(L, K1, . . . , Km)
σ(L) = σ(L0)
z.B. {P (x) ∨ P (y)} hat {P (y)} als Faktor mit Substitution x 7→ y.
KI, SS
09, F olien P r.Logik
Seite 24,
18. Juni2009
Resolutionskalkül
Der Resolutionskalkül transformiert Klauselmengen S wie folgt:
1. S → S ∪ {R}, wobei R eine Resolvente
2. S → S ∪ {F }, wobei F ein Faktor
Diese Transformationen werden iteriert (nicht-deterministisch)
Der Resolutionskalkül terminiert mit Erfolg, wenn ∅ ∈ S.
Antwort: die Eingabe ist widersprüchlich
KI, SS
09, F olien P r.Logik
Seite 25,
18. Juni2009
Beispiel:
(Variante des Russelschen Widerspruchs)
das Beispiel zeigt auch, dass Faktorisierung notwendig ist.
Der Friseur rasiert alle, die sich nicht selbst rasieren
∀x : ¬(rasiert(x, x)) ⇔ rasiert(Friseur, x)
1. {rasiert(x, x), rasiert(Friseur, x)},
2. {¬rasiert(Friseur, y), ¬rasiert(y, y)}
Klauselmenge:
KI, SS
09, F olien P r.Logik
Seite 26,
18. Juni2009
Beispiel: Friseur Widerlegung
Faktorisierung von
{rasiert(x, x), rasiert(Friseur, x)}
mit
{x 7→ Friseur}
ergibt rasiert(Friseur, Friseur)
Faktorisierung von {¬rasiert(Friseur, y), ¬rasiert(y, y)}
{y 7→ Friseur}
ergibt : ¬rasiert(Friseur, Friseur)
Resolution ergibt leere Klausel
Ohne Faktorisierung ist in diesem Beispiel
keine Resolutions-Widerlegung möglich.
KI, SS
09, F olien P r.Logik
Seite 27,
18. Juni2009
mit
Beispiel: Resolution
Beweis der Transitivität der Teilmengenrelation mit Resolution
Axiom:
∀x, y : x ⊆ y ⇔ ∀w : w ∈ x ⇒ w ∈ y
Theorem: ∀x, y, z : x ⊆ y ∧ y ⊆ z ⇒ x ⊆ z
Klauselform von
H1:
H2:
H3:
C1:
C2:
C3:
KI, SS
Axiom ∧ ¬Theorem:
¬x ⊆ y, ¬w ∈ x, w ∈ y
x ⊆ y, f (x, y) ∈ x
x ⊆ y, ¬f (x, y) ∈ y
a⊆b
b⊆c
¬a ⊆ c
09, F olien P r.Logik
Seite 28,
18. Juni2009
(⇒ Teil der Definition)
(zwei ⇐ Teile der Definition,
f ist die Skolem Funktion für w)
(drei Teile der negierten Behauptung,
a, b, c sind Skolem Konstanten für x, y, z)
Beispiel: Resolutionswiderlegung
H1:
H2:
H3:
C1:
C2:
C3:
¬x ⊆ y, ¬w ∈ x, w ∈ y
x ⊆ y, f (x, y) ∈ x
x ⊆ y, ¬f (x, y) ∈ y
a⊆b
b⊆c
¬a ⊆ c
H1,1 & C1,
H1,1 & C2,
H2,2 & R1,1,
H3,2 & R2,2,
R3,2 & R4,2,
R5 & (Faktorisierung)
R6 & C3
KI, SS
09, F olien P r.Logik
Seite 29,
18. Juni2009
{x 7→ a, y 7→ b}
{x 7→ b, y 7→ c}
{x 7→ a, w 7→ f (a, y)}
{y 7→ c, w 7→ f (x, c)}
{x 7→ a, y 7→ c}
`
`
`
`
`
`
`
R1:
R2:
R3:
R4:
R5:
R6:
R7:
¬w ∈ a, w ∈ b
¬w ∈ b, w ∈ c
a ⊆ y, f (a, y) ∈ b
x ⊆ c, ¬f (x, c) ∈ b
a ⊆ c, a ⊆ c
a⊆c
∅
Unifikation
Resolutions- und Faktorisierungsregel verwenden Substitutionen,
die zwei Atome syntaktisch gleich machen.
Diese Substitutionen nennt man Unifikatoren
Gesucht: allgemeinste Unifikatoren
Beispiele: Unifikator und allgemeinster Unifikator
P (x), Q(x)
¬P (y), R(y)
Q(a), R(a)
σ = {x 7→ a, y 7→ a}
σ ist Unifikator
P (x), Q(x)
¬P (y), R(y)
Q(y), R(y)
σ = {x 7→ y}
σ ist allgemeinster Unifikator
KI, SS
09, F olien P r.Logik
Seite 30,
18. Juni2009
Beispiel zur Unifikation
P (x, y, f (z, x) = P (a, f (z, a), y)
x
oo
ooo
o
o
o
w oo
o
P QQQQQQQ
QQQ
QQQ
(
y
f>
z
KI, SS
09, F olien P r.Logik
Seite 31,
?
=
>>
>
x
18. Juni2009
a
m
mmm
mmm
m
m
m
mv mm
z
P QQQQQQQ


 
QQQ
QQQ
(
f @@@
@@
a
y
Beispiel zur Unifikation
P (x, y, f (z, x) = P (a, f (z, a), y)
x
oo
ooo
o
o
o
w oo
o
P QQQQQQQ
QQQ
QQQ
(
y
f>
z
a
m
mmm
mmm
m
m
m
mv mm
z
?
=
x
P SSSSSSSS




SSS
SSS
S)
f @@@
@@
a z
09, F olien P r.Logik
Seite 32,
z
?
=
f >>
>>
a
x = a
y = f (z, a)
KI, SS
a
>>
>
m
mmm
mmm
m
m
m
mv mm
18. Juni2009
a
m
mmm
mmm
m
m
m
mv mm
z
P QQQQQQQ


 
QQQ
QQQ
(
f @@@
@@
y
a
P SSSSSSSS


 
f @@@
@@
SSS
SSS
S)
a z
f >>
>>
a
Unifikationsalgorithmus:
Eingabe: zwei Terme oder Atome s und t:
Ausgabe: “nicht unifizierbar“ oder einen allgemeinsten Unifikator:
?
Zustände: Menge Γ von Gleichungen s = t.
?
Initialzustand: Γ0 = {s = t}.
KI, SS
09, F olien P r.Logik
Seite 33,
18. Juni2009
Unifikationsregeln:
?
f (s1, . . . , sn) = f (t1, . . . , tn), Γ
?
?
(Dekomposition)
s1 = t1 , . . . , sn = tn, Γ
?
x = x, Γ
Γ
(Tautologie)
?
x = t, Γ
x ∈ F V (Γ), x 6∈ F V (t) (Anwendung)
?
x = t, {x 7→ t}Γ
?
t = x, Γ
t 6∈ V (Orientierung)
?
x = t, Γ
KI, SS
09, F olien P r.Logik
Seite 34,
18. Juni2009
Abbruchbedingungen:
?
f (. . .) = g(. . .), Γ
F ail
wenn f 6= g (Clash)
?
x = t, Γ
F ail
KI, SS
09, F olien P r.Logik
wenn x ∈ F V (t)
und t 6= x
Seite 35,
18. Juni2009
(occurs check Fehler)
Beispiel
?
{k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))}
qq
qqq
q
q
q
x qq
x
MMM
M&
f ;;
;;
a
KI, SS
k MMMMMM
g ==
09, F olien P r.Logik
==
x
y
Seite 36,
?
g;
;;
;
qq
qqq
q
q
qx qq
=
h
y
18. Juni2009
f ;;
;;
k LLLLLL
LLL
L&
g=
z
h
==
=
y y
a
g:
::
::
z
Beispiel
?
{k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))}
?
?
→ {f (x, g(a, y)) = f (h(y), g(y, a)), g(x, h(y)) = g(z, z)}
?
?
→ x = h(y), g(a, y) = g(y, a), g(x, h(y)) = g(z, z)
KI, SS
09, F olien P r.Logik
Seite 37,
18. Juni2009
(Dekomposition)
(Dekomposition)
Beispiel
?
{k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))}
?
?
→ {f (x, g(a, y)) = f (h(y), g(y, a)), g(x, h(y)) = g(z, z)}
?
?
→ x = h(y), g(a, y) = g(y, a), g(x, h(y)) = g(z, z)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
→ x = h(y), a = y, y = a, g(x, h(y)) = g(z, z)
→ x = h(y), y = a, g(x, h(y)) = g(z, z)
→ x = h(a), y = a, g(x, h(a)) = g(z, z)
?
→ x = h(a), y = a, x = z, h(a) = z
?
→ x = h(a), y = a, x = z, z = h(a)
→ x = h(a), y = a, z = h(a)
Unifizierte Terme: k(f (h(a), g(a, a)), g(h(a), h(a))).
KI, SS
09, F olien P r.Logik
Seite 38,
18. Juni2009
(Dekomposition)
(Dekomposition)
(Dekomposition)
(Orientierung)
(Anwendung, y)
(Dekomposition)
(Orientierung)
(Anwendung,z)
Beispiel
?
{k(f (x, g(a, y)), g(x, h(y)) = k(f (h(y), g(y, a)), g(z, z))}
qq
qqq
q
q
q
x qq
x
k MMMMMM
MMM
M&
f ;;
;;
a
g ==
==
x
?
g;
;;
;
y
qq
qqq
q
q
qx qq
=
h
y
f ;;
;;
k LLLLLL
LLL
L&
g=
z
h
==
=
y y
a
g:
Unifizierter Term: k(f (h(a), g(a, a)), g(h(a), h(a))).
qq
qqq
q
q
q
x qq
k MMMMMM
f ;;
MMM
M&
;;
g ??
h
h

??



a a
a a
KI, SS
09, F olien P r.Logik
Seite 39,
g;
;;
;
h
a
18. Juni2009
::
::
z
Theoretische Eigenschaften: Unifikation
Satz
Der Unifikationsalgorithmus terminiert, ist korrekt und vollständig.
Er gibt genau einen allgemeinsten Unifikator aus, falls er nicht abbricht.
Der Unifikator ist eindeutig bis auf Variablenumbenennung “
”
Der Algorithmus kann so implementiert werden, dass er in polynomieller
Zeit terminiert, es ist auch O(n ∗ log(n)) möglich.
Folgerung: Der Unifikationsalgorithmus ist ausreichend zur
Entscheidung der Unerfüllbarkeit einer Menge von 1-Klauseln
KI, SS
09, F olien P r.Logik
Seite 40,
18. Juni2009
Vollständigkeit der Resolution
Begriffe:
σ(C) ist Grundinstanz einer Klausel C,
wenn keine Variablen mehr in σ(C) vorkommen.
Satz (Gödel-Herbrand-Skolem Theorem)
Zu jeder unerfüllbare Menge C von Klauseln gibt es eine endliche unerfüllbare Menge von Grundinstanzen von C.
KI, SS
09, F olien P r.Logik
Seite 41,
18. Juni2009
Vollständigkeit der Resolution
Satz
Die Resolution mit Unifikation und Faktorisierung ist vollständig.
Dazu benötigt man:
• den Satz von Gödel-Herbrand-Skolem,
• die Vollständigkeit der Grundresolution
• Ein Lemma zum Lifting
Zusammenhang zwischen allgemeinen Resolutionsschritten und
Grundresolutionsschritten.
Hier erkennt man: die Faktorisierung ist erforderlich
KI, SS
09, F olien P r.Logik
Seite 42,
18. Juni2009
Eigenschaften der Resolution
Es gilt:
KI, SS
•
i.a terminiert Resolution nicht
•
Sätze der Prädikatenlogik sind unentscheidbar
aber noch semi-entscheidbar
•
Resolution ist nicht gut geeignet zum Vorwärtsschließen
und nicht zum Berechnen von Modellen
09, F olien P r.Logik
Seite 43,
18. Juni2009
Redundanz-Elimination bei Resolution :
Löschregeln: Subsumtion, Tautologie und
Isoliertheit
Es gibt folgende Situationen im Resolutionsbeweiser:
•
•
•
KI, SS
Tautologische Klauseln werden hinzugefügt
{P, ¬P, . . .}
Spezialisierungen von bereits vorhandenen Klauseln werden hinzugefügt
Wenn {P (x), Q} schon in M , vorhanden ist,
dann sind
{P (a), Q} aber auch {P (y), Q, R} Spezialisierungen
neue allgemeine Klausel hergeleitet,
die allgemeiner ist als schon vorhandene Klauseln
09, F olien P r.Logik
Seite 44,
18. Juni2009
Isolierte Literale
Sei L ein Literal in der Klausel D, die in der Klauselmenge M ist.
L heißt isoliert, wenn kein L0 in M vorkommt, so dass
L und L0 verschiedenes Vorzeichen haben
und L und L0 unifizierbar sind.
Der Isoliertheitstest kann in Zeit O(n3log(n)) durchgeführt werden.
Löschregel für isolierte Literale:
Lösche Klauseln aus einer Klauselmenge, wenn diese isolierte Literale
enthalten.
KI, SS
09, F olien P r.Logik
Seite 45,
18. Juni2009
Isolierte Literale
•
können schon am Anfang vorhanden sein.
•
können durch die Anwendung von Redundanzlöschungen entstehen.
Beispiel
Gegeben: M :=
{{P (x)}, {¬P (y), Q(y)}}
Resolution ergibt:
{{P (x)}, {¬P (y), Q(y)}, {Q(z)}}
Resolvente subsumiert Elternklausel:
{{P (x)}, {Q(z)}}
Jetzt sind alle Literale isoliert.
KI, SS
09, F olien P r.Logik
Seite 46,
18. Juni2009
Isolierte Literale: Beispiel
Gegeben: M :=
{{P (x, x)}, {¬P (y, z), Q(y, z)}, {¬Q(a, b)}}
Resolution ergibt:
{{P (x, x)}, {¬P (y, z), Q(y, z)}, {Q(z, z)}, {¬Q(a, b)}}
¬Q(z, z) ist jetzt isoliert.
Löschung bewirkt eine Schleife
KI, SS
09, F olien P r.Logik
Seite 47,
18. Juni2009
Löschen isolierter Literale: Korrektheit und
Vollständigkeit
Es gilt:
Die Löschregel für isolierte Literale kann zum Resolutionskalkül hinzugenommen werden, ohne die Widerlegungsvollständigkeit zu verlieren.
Argumentation:
Die isolierten Literale kommen auch in der Resolvente vor,
deshalb können die entspr. Resolventen
nicht mehr zur leeren Klausel führen
KI, SS
09, F olien P r.Logik
Seite 48,
18. Juni2009
Löschen isolierter Literale: Beispiel
Betrachte die Klauselmenge
C1 :
C2 :
C3 :
C4 :
P (a)
P (b)
¬Q(b)
¬P (x), Q(x)
Klauselmenge ist unerfüllbar und hat keine isolierten Literale.
C1 + C4 ergibt die Resolvente {Q(a)}.
Resolvente hat ein isoliertes Literal: Sackgasse in der Suche.
KI, SS
09, F olien P r.Logik
Seite 49,
18. Juni2009
Subsumtion
Die Klausel D subsumiert die Klausel E,
wenn es eine Substitution σ gibt, so dass σ(D) ⊆ E
Löschregel für subsumierte Klauseln:
Wenn Klausel D die Klausel E subsumiert
und E hat nicht weniger Literale als D,
dann lösche die Klausel E
KI, SS
09, F olien P r.Logik
Seite 50,
18. Juni2009
Subsumtion: Beispiele
{P (x)} subsumiert {P (a), P (b), Q(y)}.
P subsumiert {P, S}.
{Q(x), R(x)} subsumiert {R(a), S, Q(a)}
{E(a, x), E(x, a)} subsumiert {E(a, a)}
D.h eine Klausel subsumiert einen ihren Faktoren.
In diesem Fall wird nicht gelöscht.
Vorsicht {¬P (x), P (f (x))} impliziert {¬P (x), P (f (f (x))},
aber subsumiert nicht.
KI, SS
09, F olien P r.Logik
Seite 51,
18. Juni2009
Subsumtion: Komplexität
Der Test, ob eine Klausel C eine andere subsumiert ist N P-vollständig.
Die Komplexität kommt von den Permutationsmöglichkeiten der Literale beim Subsumtionstest.
KI, SS
09, F olien P r.Logik
Seite 52,
18. Juni2009
Subsumtion: Vorwärts- und
Rückwärtsanwendung
Vorwärtsanwendung:
Lösche Resolventen / Faktoren, die von Klauseln aus der Klauselmenge subsumiert werden.
Wichtige Löschregel in resolutionsbasierten Deduktionssystemen
Rückwärtsanwendung
Verwende neueste Resolvente zum Löschen
von vorhandenen Klauseln
nicht immer implementiert: kann ineffizient sein
KI, SS
09, F olien P r.Logik
Seite 53,
18. Juni2009
Resolution mit Subsumtion: Vollständigkeit
Satz
Der Resolutionskalkül zusammen mit Subsumtions-Löschung ist
widerlegungsvollständig.
Argumentation:
Wenn es eine Resolutionsherleitung der leeren Klausel gibt,
dann auch eine ohne die subsumierten Klauseln
Evtl. in der Herleitung eine Klauseln durch die subsumierende Klausel
ersetzen.
KI, SS
09, F olien P r.Logik
Seite 54,
18. Juni2009
Tautologie-Löschung
Eine Klausel D ist eine Tautologie, wenn D unter allen Interpretationen
wahr ist.
Syntaktische Erkennung: D ist Tautologie, wenn zwei komplementäre
Literale L, L0 in D enthalten sind
Dieser Test ist in Zeit O(n3) durchführbar.
Löschregel: tautologische Klauseln kann man löschen.
KI, SS
09, F olien P r.Logik
Seite 55,
18. Juni2009
Tautologielöschung: Beispiele
{P a, ¬P a},
{Qa, P (f (x)), ¬P (f (x), Qb}
{P x, ¬P x}.
Keine Tautologien:
KI, SS
09, F olien P r.Logik
Seite 56,
{P x, ¬P f (y)}
{¬P (x, y), P (y, x)}.
18. Juni2009
Widerlegungsvollständigkeit
Satz
Der Resolutionskalkül zusammen mit
• Löschung subsumierter Klauseln,
• Löschung von Klauseln mit isolierten Literalen
• Löschung von Tautologien
ist widerlegungsvollständig.
Die Davis-Putnam-Prozedur für aussagenlogische Klauselmengen
hat als Regeln: Resolution, Subsumtionsregel, Isolationsregel
aber auch noch Fallunterscheidung
KI, SS
09, F olien P r.Logik
Seite 57,
18. Juni2009
Einige Weitere Einschränkung der Resolution
Set-of-Support
UR-Resolution
Unit-Resolution
Input-Resolution
Lineare-Resolution
SL-Resolution
SL-Resolution für Hornklauseln
KI, SS
09, F olien P r.Logik
Seite 58,
18. Juni2009
Set-of-Support
Aufteilung der Klauselmenge in:
•
•
Klauseln aus den Voraussetzungen
Klauseln aus dem negierten Theorem
Set-of-Support =
Resolution:
Faktorisierung:
KI, SS
09, F olien P r.Logik
Seite 59,
(widerspruchsfrei)
SOS-Menge
alle Klauseln, Resolventen, Faktoren, die eine
Vorgängerklausel in SOS haben.
nur erlaubt, wenn eine Elternklausel in SOS ist.
nur erlaubt, wenn die Klausel in SOS ist.
18. Juni2009
Beispiel
Klauselmenge:
SOS
Rest-Klauselmenge:
{P, Q}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q}
{P, Q}
{¬P, Q}, {P, ¬Q}, {¬P, ¬Q}
Resolventen:
SOS danach:
{P, Q}, {¬P, Q} ` {Q}
{P, Q}, {Q}
KI, SS
09, F olien P r.Logik
Seite 60,
18. Juni2009
Unit-Resolution
Bei jedem Resolutionsschritt
muss mindestens eine Elternklausel eine Unit sein.
Faktorisierung ist erlaubt.
Fakt: Nicht widerlegungsvollständig
KI, SS
09, F olien P r.Logik
Seite 61,
18. Juni2009
Eingaberesolution
Def.
Bei jedem Resolutionsschritt muss mindestens eine Elternklausel aus der Eingabemenge sein.
Eigenschaften:
Eine Klauselmenge ist genau dann
mit Unit-Resolution widerlegbar,
wenn sie mit Inputresolution widerlegbar ist.
D.h. Eingabe und Unit-Resolution sind äquivalent
KI, SS
18. Juni2009
09, F olien P r.Logik
Seite 62,
Lineare Resolution
Definition
Initial:
Klauselmenge;
eine Klausel wird als Zentralklausel Z0 ausgewählt.
Iterationsschritt:
aktuelle Zentralklausel + andere Klausel
ergibt neue Zentralklausel.
Zi + andere Klausel → Zi+1
implizite Faktorisierung (vor Resolution) ist erlaubt
Eigenschaft: Lineare Resolution ist widerlegungsvollständig
KI, SS
09, F olien P r.Logik
Seite 63,
18. Juni2009
Lineare Resolution, Beispiel
Klauselmenge {P, Q}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} ist unerfüllbar:
lineare Resolution
P, Q
P
VorgängerSchritt
Q
#
KI, SS
09, F olien P r.Logik
Seite 64,
¬Q, P
qq
qqq
q
q
qq
qx qq
¬P, Q
qq
qqq
q
q
qq
qx qq
¬P
¬P,
¬Q
p
pp
ppp
p
p
px pp
2
18. Juni2009
allgemeine Resolution
P, Q<
<<
<<
<<
P
¬P, Q
EE
¬Q, P
|
||
||
|
|~ |
RRR
RRR
RRR
RRR
RRR
RR(
EE
EE
EE
"
2
l
lll
lll
l
l
ll
lll
lu ll
¬P
¬Q,
¬P
v
vv
vv
v
v
vz v
Lineare Resolution, Beispiel
Faktorisierung ist notwendig:
{{P (x), P (y)}, {¬P (x), ¬P (y)}}.
In diesem Beispiel:
Lineare Resolution ohne Faktorisierung
ergibt immer eine Zentralklausel der Länge zwei,
KI, SS
09, F olien P r.Logik
Seite 65,
18. Juni2009
Hornklauselmengen
Definitionen
positives Literal
negatives Literal
:=
:=
Atom ; Literal ohne Negation
negiertes Atom
Hornklausel
definite Hornklausel
negative Hornklausel,
Anfrage
:=
:=
:=
Klausel mit maximal einem positiven Literal.
Klausel mit genau einem positiven Literal.
Klausel ohne positive Literale.
Hornklauselmenge
:=
Klauselmenge nur aus Hornklauseln
KI, SS
09, F olien P r.Logik
Seite 66,
18. Juni2009
Hornklauselmengen
Eigenschaften:
•
•
•
•
KI, SS
definite Hornklauseln kann man schreiben als
L1 ∧ . . . ∧ Ln ⇒ Ln+1
Klauseln ohne positive Literale sind Hornklauseln
Eine unerfüllbare Hornklauselmenge enthält
mindestens eine positive Unitklausel.
und mindestens eine negative Hornklausel
Unerfüllbare Hornklauselmengen sind widerlegbar mittels
Unit-Resolution.
09, F olien P r.Logik
Seite 67,
18. Juni2009
SL-Resolution
SL-Resolution
=
Lineare Resolution plus Selektionsfunktion
D.h. Beschränkung der (für die Resolution) erlaubten Literale
Wir betrachten ab jetzt:
SL-Resolution für Hornklauselmengen
Annahme: Hornklauseln haben Reihenfolge der negativen Literale:
KI, SS
09, F olien P r.Logik
Seite 68,
18. Juni2009
SL-Resolution für Hornklauselmengen
Vorgehen der linearen Resolution:
•
•
•
•
Menge von initialen (definiten) Horn Klauseln
Anfrage = initiale Zielklausel (nur negative Literale)
Weitere Zielklausel (auch rein negativ)
= Resolvente aus Zielklausel und einer initialen Klausel
Selektionsfunktion:
Das letzte Literal wird zuerst wegresolviert
Beispiel:
Zielklausel
initiale (passende Klausel):
Resolvente (neues Ziel):
KI, SS
09, F olien P r.Logik
Seite 69,
18. Juni2009
¬P, ¬Q, ¬R
P, ¬A, ¬B, ¬C
negA, ¬B, ¬C, ¬Q, ¬R,
SL-Resolution für Hornklauselmengen:
Eigenschaften
Widerlegungsvollständig für Hornklauseln, auch ohne Faktorisierung
Es gibt immer eine Gesamtsubstitution in die Anfrage,
wenn ein Widerspruch gefunden wird
Die Gesamtsubstitution in die Anfrage bei Erfolg
kann man als Antwort deuten.
KI, SS
09, F olien P r.Logik
Seite 70,
18. Juni2009
Beispiel SL-Resolution
SL-Resolution mit Horn Klauseln
C1:
C2:
C3:
C4:
C5:
Prolog-Reihenfolge:
A(x, y) ⇐ P (x, y)
A(x, z) ⇐ P (x, y) ∧ A(y, z)
P (a, b)
P (b, c)
P (c, d)
Theorem:
Negiertes Theorem:
KI, SS
09, F olien P r.Logik
Seite 71,
18. Juni2009
Klausel Notation:
A(x, y) ∨ ¬P (x, y)
A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z)
∃v : A(a, v) ∧ P (v, d)?
¬A(a, v) ∨ ¬P (v, d)
Suchraum für Selektionsfunktionen
Beispiele für (nicht-Prolog) Selektionsfunktionen sind:
1. Das am stärksten instanziierte Literal zuerst
2. Das am wenigsten instanziierte Literal zuerst.
Die zuletzt eingeführten Literale, die zuerst wegresolviert werden, sind
unterstrichen.
Suchstrategien:
KI, SS
09, F olien P r.Logik
Seite 72,
Tiefensuche mit Backtracking
Breitensuche zu speicher-aufwändig
18. Juni2009
Am meisten instanziierte Literale zuerst
¬A(a, v); ¬P (v, d)
iiii
iiii
i
i
i
i
iiii C1
iiii
¬P (a, v); ¬P (v, d)
¬P (a, y); ¬A(y, v); ¬P (v, d)
y7→b;C3
v7→b;C3
¬P (b, d)
Fehler
C2
¬A(b, v); ¬P (v, d)
WWWWW
WWWWW
WWC2
WWWWW
C1
WWWWW
WW
¬P (b, y 0 ); ¬A(y 0 , v); ¬P (v, d)
¬P (b, v)¬P (v, d)
v7→c;C4
¬P (c, d)
C5
C1:
C2:
C3:
C4:
C5:
Anfrage
KI, SS
Erfolg
Klausel:
A(x, y) ∨ ¬P (x, y)
A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z)
P (a, b)
P (b, c)
P (c, d)
¬A(a, v) ∨ ¬P (v, d)
09, F olien P r.Logik
Seite 73,
18. Juni2009
y 0 7→c;C4
¬A(c, v); ¬P (v, d)
C1
TTTT
TTTTC2
TTTT
TTTT
TTTT
¬P (c, v); ¬P (v, d)
v7→d;C5
¬P (d, d)
Fehler
Rekursion
Am wenigsten instanziierte Literale zuerst
¬A(a, v); ¬P (v, d)
ii
iiii
i
i
i
iii
iiii C1
iiii
¬P (a, v); ¬P (v, d)
v7→b;C3
¬P (b, d)
Fehler
C2
¬P (a, y); ¬A(y, v); ¬P (v, d)
XXXXX
XXXXX
XXXC2
XXXXX
C1
XXXXX
XXXXX
X
0
¬P (y, v); ¬P (a, y); ¬P (v, d) ¬P (y, y ); ¬A(y 0 , v); ¬P (a, y), ¬P (v, d)
WWWWW
QQQ XXXXX
WWWWW
X
QQQ
WWW∞
QQQ XXXXXXXXX
WWWWW
y7→a,v7→b C3
XXXXX
QQQ
WWWWW
XXXXX
QQQ
WWWWW
XXXXX
QQQ
WWWWW
X
QQC4
X
X
C5
X
X
Q
X
XXXXX
QQQ
¬P (a, a)¬P (b, d)
·
X
Q
X
XXXXX
y7→b,v7→c QQQQ
y7→c,v7→d
X
X
QQQ
XXXXX
QQQ
XXXXX
XXXXX
QQQ
XXXXX
QQQ
XX
Fehler
C1:
C2:
C3:
C4:
C5:
Anfrage
KI, SS
Klausel:
A(x, y) ∨ ¬P (x, y)
A(x, z) ∨ ¬P (x, y) ∨ ¬A(y, z)
P (a, b)
P (b, c)
P (c, d)
¬A(a, v) ∨ ¬P (v, d)
09, F olien P r.Logik
Seite 74,
18. Juni2009
¬P (a, b); ¬P (c, d)
¬P (a, c); ¬P (d, d)
C3
¬P (c, d)
C5
Erfolg
Fehler
Herunterladen