1.3 Hornformeln

Werbung
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
1.3 Hornformeln
Die Disjunktionen einer KNF nennt man auch Klauseln.
Definition:
Beispiele:
Eine Hornformel ist eine Formel in KNF,
bei der in jeder Klausel höchstens ein
positives Literal vorkommt.
(A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ ¬D) ∧ B ∧ (C ∨ ¬D)
(A ∨ ¬B) ∧ (B ∨ ¬C ∨ ¬D) ∧ (D ∨ ¬A) ∧ C
Diese Formel ist erfüllbar – man muss nur alle atomaren Formeln auf 1 setzen
(A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ ¬D) ∧ (C ∨ ¬D)
Diese Formel ist auch erfüllbar – setze alle atomaren Formeln auf 0
Einheit 9
– Folie 9.1 –
02.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Hornformeln in prozeduraler Form
Eine Klausel (also eine Disjunktion von Literalen) der Form (z.B.)
(A ∨ ¬B ∨ ¬C ∨ ¬D)
schreiben wir auch so:
(B ∧ C ∧ D → A)
Denn mit deMorgan gilt: ¬(B ∧ C ∧ D) ∨ A ≡ ¬B ∨ ¬C ∨ ¬D ∨ A
Ohne positives Literal:
(¬B ∨ ¬C ∨ ¬D)
wird zu
(B ∧ C ∧ D → 0)
Dabei steht 0 für die unerfüllbare Formel...
Es gilt (¬(B ∧ C ∧ D) ∨ 0) ≡ ¬(B ∧ C ∧ D) ≡ (¬B ∨ ¬C ∨ ¬D)
Und ohne negative Literale:
A
wird zu
1→A
Denn (1 → A) ≡ (¬1 ∨ A) ≡ A
Einheit 9
– Folie 9.2 –
02.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Markierungsalgorithmus
Der folgende Algorithmus testet Erfüllbarkeit für Hornformeln:
1. Für alle in F vorkommenden atomaren Formeln A:
Falls 1 → A in F vorkommt, markiere A.
2. Wenn (A1 ∧ · · · ∧ Am → 0) in F vorkommt und alle
Ai sind markiert: STOP (Ausgabe: unerfüllbar)
3. Wenn (A1 ∧ · · · ∧ Am → B) in F vorkommt und alle
Ai sind markiert, aber B nicht: Markiere B.
4. Wenn Schritt 3 nicht zutraf: STOP
(Ausgabe: erfüllbar), sonst weiter mit 2.
Beachte: Es wird niemals mehr Durchläufe der Schleife als atomare Formeln in F geben!
Einheit 9
– Folie 9.3 –
02.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Zur Korrektheit des Algorithmus
Der folgende Satz besagt, dass der Algorithmus von Folie 9.3 seinen Zweck erfüllt:
Satz:
Falls F eine Hornformel mit n atomaren Formeln
ist, dann terminiert der Algorithmus der vorigen
Folie nach höchstens n Schleifendurchläufen und
liefert das korrekte Ergebnis.
Wir wollen zuerst die Termination beweisen:
In jedem Schleifendurchlauf wird mindestens eine atomare
Formel markiert, die vorher unmarkiert war (oder der Algorithmus endet in diesem Durchlauf). Da markierte atomare
Formeln ihre Markierung nicht mehr verlieren können, ist klar,
dass es nicht mehr als n Schleifendurchläufe geben kann.
Einheit 9
– Folie 9.4 –
02.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Fortsetzung des Korrektheitsbeweises
Nun beweisen wir, dass die Ausgabe immer korrekt ist:
1. Behauptung: Wenn im Verlauf des Algorithmus eine
atomare Formel markiert wird, dann muss sie in jeder
erfüllenden Belegung den Wert 1 bekommen.
Den Beweis kann man per Induktion über die Anzahl der Schleifendurchläufe
bis zur Markierung der jeweiligen atomaren Formel führen.
2. Behauptung: Wenn in Schritt 2 unerfüllbar ausgegeben
wird, dann hat die Formel F tatsächlich keine
erfüllende Belegung.
Zum Beweis schauen wir uns an, warum der Algorithmus gestoppt hat. Grund
war das Vorhandensein einer Klausel (A1 ∧ · · · ∧ Am → 0), für die alle Ai markiert
sind, also nach der ersten Behauptung in jeder erfüllenden Belegung den
Wert 1 annehmen müssen. Aber die besagte Klausel können wir auch als
(¬A1 ∨ . . . ¬Am ) schreiben. Da alle Ai den Wert 1 erhalten, bekommen alle
¬Ai den Wert 0, diese Klausel ist also nicht erfüllt! Daraus folgt Behauptung 2.
02.05.2017
Einheit 9
– Folie 9.5 –
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Abschluss des Korrektheitsbeweises
3. Behauptung: Wenn in Schritt 4 erfüllbar ausgegeben
wird, dann gibt es die folgende erfüllende Belegung:
Alle markierten atomaren Formeln erhalten den Wert 1,
alle übrigen atomaren Formeln erhalten den Wert 0.
Wir müssen prüfen, dass diese Belegung tatsächlich alle Klauseln wahr macht.
Dazu unterscheiden wir die drei Klausel-Typen:
Klauseln der Form (1 → A) sind erfüllt, da wir die atomare Formel A
bereits im 1. Schritt markiert haben, d.h. sie bekommt den Wert 1.
Klauseln der Form (A1 ∧ · · · ∧ Am → 0) sind erfüllt, da nicht alle Ai
markiert sein können, sonst hätten wir in Schritt 2 schon gestoppt. Es
gibt also ein unmarkiertes Ai , das den Wert 0 hat, also ist ¬Ai auf 1 gesetzt.
Bei Klauseln der Form (A1 ∧ · · · ∧ Am → B) ist entweder B markiert oder mindestens ein Ai unmarkiert, denn sonst hätten wir im Schritt 3 diese Klausel verarbeitet
und im Schritt 4 nicht gestoppt. Im ersten Fall ist die Klausel durch B erfüllt, da
B den Wert 1 hat. Im zweiten Fall hat Ai den Wert 0, also ¬Ai den Wert 1.
In jedem Fall ist damit die Klausel erfüllt.
Einheit 9
– Folie 9.6 –
02.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Bemerkungen zum Hornformel-Algorithmus
Minimalität der Belegung
Der Hornformel-Algorithmus liefert, wie wir im Beweis gesehen
haben, im positiven Fall eine erfüllende Belegung, die nur den
atomaren Formeln den Wert 1 zuordnet, die in jeder erfüllenden
Belegung den Wert 1 haben. Damit ist die konstruierte Belegung
die eindeutig definierte minimale erfüllende Belegung.
Frage:
Gibt es für jede erfüllbare Formel eine solche
eindeutig definierte minimale erfüllende Belegung?
Antwort: Nein. Hierfür gibt es einfache Beispiele, z.B. die
Formel (A ∨ B).
Einheit 9
(Überprüfen Sie das bitte!)
– Folie 9.7 –
02.05.2017
Logik und Diskrete Strukturen (Sommer 2017)
Prof. Dr. Ulrich Hertrampf
Weitere Bemerkungen
Zielklauseln
Klauseln der Form (A1 ∧ · · · ∧ An → 0) werden als Zielklauseln
bezeichnet. Das Ziel ist dann der Nachweis, dass die Formel
unerfüllbar ist! Diesen Nachweis kann man erhalten, wenn man
zeigen kann, dass die Ai alle den Wert 1 bekommen müssen.
Axiome
Klauseln der Form (1 → A) bezeichnet man auch als Axiome.
Denn es ist a priori klar, dass durch diese Klausel die atomare
Formel A in jeder erfüllenden Belegung den Wert 1 bekommt.
Eine Hornformel ohne Zielklauseln ist immer erfüllbar.
Setze alle atomaren Formeln auf 1
Eine Hornformel ohne Axiome ist auch immer erfüllbar.
Einheit 9
– Folie 9.8 –
Setze alle atomaren Formeln auf 0
02.05.2017
Herunterladen