Zeige, dass es immer ein k gibt, so dass gilt: Resk(F) = Res Übung 31

Werbung
Logik und Diskrete Strukturen
Einheit 15
Prof. Dr. Ulrich Hertrampf
Übung 31
Zeige, dass es immer ein k gibt, so dass gilt:
Res k (F ) = Res k−1 (F )
Man beachte:
Da wir in der vorigen Einheit gezeigt haben, dass dann auch alle Res m (F ) mit
m > k gleich sind mit Res k−1 (F ) folgt, dass auch Res ∗ (F ) = Res k−1 (F ) gilt.
Zur Lösung der Aufgabe:
Es sei n die Anzahl der in F vorkommenden atomaren Formeln.
Es gibt maximal 4n verschiedene Klauseln (in Mengendarstellung), die aus
diesen atomaren Formeln gebildet werden können, da jede der atomaren Formeln
nur auf 4 Arten in diesen Klauseln erscheinen kann:
positiv oder negativ oder positiv und negativ oder gar nicht
Bevor Res i (F ) mit dem Vorgänger erstmals übereinstimmt, wurde in jeder
Iteration mindestens eine neue Klausel dazugenommen. Also wird der Vorgang
spätestens nach 4n Iterationen abbrechen.
12.11.2015
Winter 2015/16
– Folie 15.1 –
Logik und Diskrete Strukturen
Einheit 15
Prof. Dr. Ulrich Hertrampf
Übung 32
Wie groß ist die Zahl |Res ∗ (F )| höchstens, wenn F eine Formel
mit m Klauseln ist, in der nur die atomaren Formeln A1 , . . . , An
vorkommen?
Die Lösung haben wir schon bei Übung 31 gefunden:
|Res ∗ (F )| ≤ 4n
denn in der Mengendarstellung gibt es nicht mehr als 4n
Klauseln, die als Elemente von Res ∗ (F ) in Frage kommen.
Winter 2015/16
– Folie 15.2 –
12.11.2015
Logik und Diskrete Strukturen
Einheit 15
Prof. Dr. Ulrich Hertrampf
Der Resolutionssatz der Aussagenlogik
Satz: Eine Formel F in KNF (dargestellt als Klauselmenge)
ist erfüllbar genau dann, wenn 6∈ Res ∗ (F ) gilt.
Beweis: Wir zeigen erst die Korrektheit, d.h.
∈ Res ∗ (F ) =⇒ F unerfüllbar
Aber nach dem Resolutionslemma ist klar, dass F ≡ Res ∗ (F ).
Und ebenso klar ist, dass Res ∗ (F ) unerfüllbar ist, wenn
die leere Klausel darin enthalten ist.
Also ist auch F unerfüllbar.
Winter 2015/16
– Folie 15.3 –
12.11.2015
Logik und Diskrete Strukturen
Einheit 15
Prof. Dr. Ulrich Hertrampf
Zur Vollständigkeit
Es sei F eine unerfüllbare Formel. Wir müssen zeigen, dass die
leere Klausel zu Res ∗ (F ) gehört. Nun führen wir eine Induktion
über die Anzahl der in F vorkommenden atomaren Formeln durch:
Mit 0 atomaren Formeln gibt es nur die Formel F = {}.
Hier ist trivialerweise ∈ Res ∗ (F ) gegeben.
Nun sehen wir den Satz für Formeln mit Ai (i ≤ n) als bewiesen an und betrachten
eine Formel F mit den atomaren Formeln Ai (i ≤ n + 1). Wir bilden F0 und F1 :
F0 := {K \ {An+1 } | K ∈ F ∧ ¬An+1 ∈
6 K}
F1 := {K \ {¬An+1 } | K ∈ F ∧ An+1 ∈
6 K}
Dann gibt es zu jeder Klausel K ∈ F0 eine Klausel K̃ ∈ F mit:
K̃ = K
Analog in F1 mit
Winter 2015/16
oder
K̃ = K
K̃ = K ∪ {An+1 }.
oder
K̃ = K ∪ {¬An+1 }.
– Folie 15.4 –
12.11.2015
Logik und Diskrete Strukturen
Prof. Dr. Ulrich Hertrampf
Einheit 15
Induktionsschritt
Behauptung: Wenn F0 erfüllbar ist, dann ist auch F erfüllbar.
(denn: eine erfüllende Belegung für F0 , ergänzt durch den
Wert 0 für An+1 ergibt eine erfüllende Belegung für F .)
Analog folgt auch aus der Erfüllbarkeit von F1 die von F .
Also sind für unerfüllbares F auch F0 und F1 unerfüllbar.
Nun liefert uns die Induktionsvoraussetzung:
∈ Res ∗ (F0 )
und
∈ Res ∗ (F1 )
Von der vorigen Folie wissen wir, dass für alle Klauseln K ∈ F0
entweder K selbst oder K ∪ {An+1 } in F vorkommt. Das setzt
sich fort auf Res ∗ (F0 ) gegenüber Res ∗ (F ).
Das gleiche gilt natürlich auch für F1 mit ¬An+1 anstelle von An+1 .
Winter 2015/16
– Folie 15.5 –
12.11.2015
Logik und Diskrete Strukturen
Einheit 15
Prof. Dr. Ulrich Hertrampf
Induktionsschritt (Forts.)
Also erhalten wir wegen ∈ Res ∗ (F0 ) :
∈ Res ∗ (F )
oder
{An+1 } ∈ Res ∗ (F )
Und wegen ∈ Res ∗ (F1 ) :
∈ Res ∗ (F )
oder
{¬An+1 } ∈ Res ∗ (F )
Wenn hierbei mindestens einmal die linke Relation gilt, sind wir
fertig. Wenn aber {An+1 } ∈ Res ∗ (F ) und {¬An+1 } ∈ Res ∗ (F ) gilt,
erhalten wir aus diesen beiden Klauseln in einem Resolutionsschritt
die leere Klausel, die also auch zu Res ∗ (F ) gehört.
Damit ist der Beweis komplett.
Winter 2015/16
– Folie 15.6 –
12.11.2015
Herunterladen