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