Korrektheit: 1.5 Resolution

Werbung
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
1.5 Resolution
Ziel: Wir wollen (Un-) Erfüllbarkeit einer gegebenen Formel testen.
Wie? Mit syntaktischen Umformungen! (Sog. Kalkül)
Besonders wichtige Eigenschaften eines Kalküls:
Korrektheit:
Vollständigkeit:
Nur richtige Aussagen machen!
Alle richtigen Aussagen werden gemacht!
Verwandte Fragestellungen, auch mit Resolution zu bearbeiten:
• Ist F eine Tautologie? Prüfe, ob ¬F erfüllbar ist.
Achtung: F in KNF ⇒ ¬F zunächst nicht in KNF!
• Gilt (F1 ∧ · · · ∧ Fk ) → G ?
Prüfe Unerfüllbarkeit von F1 ∧ · · · ∧ Fk ∧ ¬G
• Viele andere ähnliche Probleme
Einheit 12
– Folie 12.1 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Klauseln und Mengenschreibweise
Wir gehen bei der Resolution generell davon aus, dass die
Eingabeformel in KNF gegeben ist, also als Konjunktion von
Disjunktionen von Literalen.
Zur Erinnerung: Die Disjunktionen von Literalen nennen wir auch Klauseln
Im Resolutionsverfahren werden Klauseln als Mengen von Literalen
und Formeln als Mengen von Klauseln dargestellt.
Achtung:
Es gibt viele verschiedene Formeln mit
derselben Mengendarstellung!
Beispiel:
(A ∨ B ∨ ¬C ) ∧ (B ∨ C ∨ C ) ∧ (¬C ∨ D) ∧ (A ∨ ¬C )
wird zu:
{{A, B, ¬C }, {B, C }, {¬C , D}, {A, ¬C }}
Einheit 12
– Folie 12.2 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Resolventen
Es seien K1 und K2 zwei beliebige Klauseln in Mengendarstellung.
αi seien die Literale von K1 und βj die von K2 , also
K1 = {α1 , α2 , . . . , αr }
K2 = {β1 , β2 , . . . , βs }
wobei r = |K1 |
und s = |K2 |
Welche Bedingung muss erfüllt sein, damit K1 und K2 miteinander
resolviert werden können? Es muss ein i ∈ {1, . . . , r } und ein j ∈ {1, . . . , s}
geben, so dass entweder αi = ¬βj oder ¬αi = βj gilt.
Wie sieht dann der Resolvent aus?
R = {α1 , . . . , αi−1 , αi+1 , . . . , αr , β1 , . . . , βj−1 , βj+1 , . . . , βs }
Es sei o.B.d.A. i = j = 1, dann erhalten wir einfacher:
R = {α2 , α3 . . . , αr , β2 , β3 , . . . , βs }
Einheit 12
– Folie 12.3 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Der Resolutionsschritt
Wir stellen den Resolutionsschritt graphisch so dar:
K1
K2
R
Ein Beispiel:
{¬A, B, C }
{¬A, ¬C , D, E , F }
{¬A, B, D, E , F }
Einheit 12
– Folie 12.4 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Die unerfüllbare Klausel
Unser Ziel wird am Ende sein, zwei Klauseln der Form
{A} und {¬A} zu erhalten, (für beliebige atomare Formel A)
die man dann zur leeren Klausel { } resolvieren kann.
Bezeichnung: steht für die leere Klausel.
Man beachte, dass unter jeder Belegung unerfüllt ist!
Frage:
Warum ist das so?
Antwort: Weil eine Klausel nur dann erfüllt ist, wenn sie ein Literal
enthält, das unter der gegebenen Belegung den Wert 1 hat.
Also ist eine Klauselmenge, die enthält, immer unerfüllbar!
Frage:
Warum ist das so?
Antwort: Weil eine Klauselmenge als Formel einer Konjunktion ihrer
Klauseln entspricht und deshalb nur erfüllt ist, wenn alle
Klauseln darin erfüllt sind.
Einheit 12
– Folie 12.5 –
09.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Übung 28
Berechne alle Resolventen, die man aus der folgenden
Formel erhalten kann:
{{A, ¬B, E }, {A, B, C }, {¬A, ¬D, E }, {A, ¬C }}
1. Durchgang:
{A, E , C }, {¬B, E , ¬D}, {B, C , ¬D, E }, {A, B}, {¬D, E , ¬C }
2. Durchgang:
{A, E , C , ¬D}, {A, E }, {A, B, ¬D, E }, {¬D, E , C }, {¬D, E , B}
{A, E , ¬D}
3. Durchgang:
selbst weitermachen...
Einheit 12
– Folie 12.6 –
09.05.2017
Herunterladen