Zentral für das Resolutionsverfahren ist folgendes Lemma: Das

Werbung
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Das Resolutionslemma
Zentral für das Resolutionsverfahren ist folgendes Lemma:
Wenn in der Formelmenge F der Resolvent R gebildet
werden kann, dann sind F und F ∪ {R} äquivalent.
Beweis: (alternativ zu dem im Schöning-Buch gegebenen)
Der Resolvent R sei durch Resolution der beiden Klauseln K1
und K2 entstanden, wobei wie in der 12. Einheit vereinbart,
und
K1 = {α1 , α2 , . . . , αr }
K2 = {β1 , β2 , . . . , βs }
und ohne Beschränkung der Allgemeinheit:
α1 = ¬β1 .
Einheit 13
– Folie 13.1 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Zum Beweis
Wir müssen für jede Belegung A zeigen, dass folgendes gilt:
A(F ) = 1 ⇐⇒
A(F ∪ {R}) = 1
Die Implikation von rechts nach links ist trivial, da man die
rechte Seite auch lesen kann als A(F ) = 1 ∧ A(R) = 1.
Für die Implikation von links nach rechts genügt es zu zeigen,
dass aus A(K1 ) = A(K2 ) = 1 folgt A(R) = 1.
Wir erinnern noch einmal daran, dass α1 = ¬β1 gilt und
R = {α2 , . . . , αr , β2 , . . . , βs }
Angenommen, A(R) = 0, d.h. A(α2 ) = · · · = A(αr ) = A(β2 ) = · · · = A(βs ) = 0.
Wegen A(K1 ) = A(K2 ) = 1 müsste dann A(α1 ) = A(β1 ) = 1 gelten, im
Widerspruch zu α1 = ¬β1 .
Einheit 13
Also ist die Annahme falsch, d.h. es gilt A(R) = 1.
– Folie 13.2 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Res(F ) und Res n (F )
Zu jeder Klauselmenge F definieren wir Res(F ):
Res(F ) =def F ∪ {R | R ist Resolvent zweier Klauseln in F }
Als Beispiel kann man nochmal nachsehen, wie wir bei Übung 28 die Resolventen
in Durchgängen ermittelt haben. Im ersten Durchgang wurden alle Klauseln
aus Res(F ) \ F ermittelt.
Im zweiten Durchgang kamen Klauseln aus Res(Res(F )) \ Res(F ) dazu.
Dieser Vorgang kann weiter iteriert werden.
Das motiviert folgende Definition:
Res 0 (F ) = F
Res n (F ) = Res(Res n−1 (F ))
Einheit 13
– Folie 13.3 –
für alle n ≥ 1
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Der Resolutionsabschluss Res ∗ (F )
Als Resolutionsabschluss der Klauselmenge F bezeichnet man
die Klauselmenge Res ∗ (F ), die wie folgt definiert wird:
Res ∗ (F ) =def
S
Res n (F )
n≥0
Der Resolutionsabschluss kann berechnet werden, indem man
der Reihe nach Res n (F ) für n = 1, 2, 3, . . . berechnet.
Sobald zum ersten Mal Res n (F ) = Res n−1 (F ) ist, gilt für
dieses n auch Res n (F ) = Res ∗ (F ).
Warum ist das so?
Weil aus Res n (F ) = Res n−1 (F ) folgt, dass auch gilt:
Res n+1 (F ) = Res(Res n (F )) = Res(Res n−1 (F )) = Res n (F )
Einheit 13
– Folie 13.4 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Übung 29
Wir sollen untersuchen, was passiert, wenn man Resolution
auf eine Hornformel anwendet.
Zur Erinnerung:
Hornformeln sind Formeln in KNF, bei denen in jeder
Klausel höchstens ein positives Literal vorkommt.
Fallunterscheidung:
1. Fall: K1 und K2 beide ohne positives Literal.
Keine Resolution möglich!
2. Fall: K1 hat positives Literal, K2 nicht.
Wenn Resolution möglich ist, hat der Resolvent
kein positives Literal.
3. Fall: K1 und K2 haben je ein positives Literal.
Wenn Resolution möglich ist, hat der Resolvent
genau ein positives Literal.
Also ist der Resolvent in jedem Fall wieder eine Hornklausel!
Einheit 13
– Folie 13.5 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Übung 30
Man soll Res 3 (F ) für folgende Formel F berechnen:
F = {{A, ¬B, C }, {B, C }, {¬A, C }, {B, ¬C }, {¬C }}
Res 0 (F ) = F
Res 1 (F ) = F ∪ {{A, C }, {¬B, C }, {A, C , ¬C }, {A, ¬B, B},
{A, ¬B}, {B}, {¬A, B}, {¬A}}
Warum können zwei Klauseln gestrichen werden?
Res 2 (F )
=
Res 1 (F )
∪ {{C }, {A, B}, {A, ¬C }, {A}, {¬B}}
Bei der Berechnung von Res 3 (F ) erhalten wir auf
drei verschiedene Arten die leere Klausel!
Nämlich als Resolvent von {A} und {¬A}, von {B} und {¬B}
und von {C } und {¬C }.
Einheit 13
– Folie 13.6 –
09.05.2017
Herunterladen