Algorithmen für Hornlogik

Ähnliche Dokumente
Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Theoretische Informatik: Logik

Logik für Informatiker

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Logik für Informatiker

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Kapitel L:II. II. Aussagenlogik

Grundbegriffe für dreiwertige Logik

Logik für Informatiker

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Resolutionsalgorithmus

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Problem der Resolution: Kombinatorische Explosion Ziel: Einschränkung der Möglichkeiten

Logik für Informatiker

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

Beispiel Aussagenlogik nach Schöning: Logik...

1 Aussagenlogik AL: Verknüpfung von Aussagen

FORMALE SYSTEME. 23. Vorlesung: Logisches Schließen. TU Dresden, 16. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Ersetzbarkeitstheorem

Einführung in die Logik

Resolution für die Aussagenlogik

Einführung in die Logik (Vorkurs)

Grundlagen der Künstlichen Intelligenz

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Einige Grundlagen der Komplexitätstheorie

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

Einiges zu Resolutionen anhand der Aufgaben 6 und 7

Resolution (Idee) Aus der Herleitung der leeren Disjunktion (= leere Klausel) folgt Unerfüllbarkeit.

Logik für Informatiker

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Logik für Informatiker

Logik für Informatiker Logic for Computer Scientists

Künstliche Intelligenz Logische Agenten & Resolution

Logik für Informatiker

Aussagenlogik: Syntax von Aussagen

Logik Vorlesung 3: Äquivalenz und Normalformen

Theoretische Grundlagen der Informatik

Aufgabe 13 (Markierungsalgorithmus). Gegeben ist die Formel F = (A D C) (E A) ( ( B D) E) A B (B D)

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Vorsemesterkurs Informatik

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Vorsemesterkurs Informatik

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Grundlagen der Theoretischen Informatik

Tableaukalkül für Aussagenlogik

Was bisher geschah: klassische Aussagenlogik

HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 10. Besprechung in KW02/2019

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen

Vorsemesterkurs Informatik

Frank Heitmann 2/42. 1 Etwas aus der realen Welt in der Logik abstrakt ausdrücken. 2 In der Logik Schlüsse ziehen.

12 Kombinatorische Suche

Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik

Logische und funktionale Programmierung

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Grundlagen der Logik

Allgemeingültige Aussagen

Logik für Informatiker

Resolution und Regeln

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Kochrezept für NP-Vollständigkeitsbeweise

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Übung Theoretische Grundlagen

3 Polynomial-lösbare Spezialfälle

Theoretische Grundlagen der Informatik

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Einführung in die mathematische Logik

Prädikatenlogische Entscheidbarkeitsprobleme

1 Aussagenlogischer Kalkül

Logik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010

NP-Vollständigkeit des Erfüllbarkeitsproblems

Transkript:

Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik Lebniz Universität Hannover Jing Liu Algorithmen für Hornlogik Studienarbeit 2010 1 Einleitung Die Aussagenlogik ist der Bereich der Logik, der sich mit Aussagen und deren Verknüpfung durch Junktoren befasst, ausgehend von strukturlosen Elementaraussagen (Atomen), denen ein Wahrheitswert zugeordnet wird. In der klassischen Aussagenlogik wird jeder Aussage genau einer der zwei Wahrheitswerte wahr und falsch zugeordnet. Der Wahrheitswert einer zusammengesetzten Aussage lässt sich ohne zusätzliche Informationen aus den Wahrheitswerten ihrer Teilaussagen bestimmen. Wichtige semantische Eigenschaften der Aussagelogik sind Erfüllbarkeit, Widerlegbarkeit und Unerfüllbarkeit. Eine Formel heißt erfüllbar, wenn es mindestens eine Interpretation der in ihr vorkommenden Atome (Satzbuchstaben) gibt, unter der die Formel

wahr ist. Eine Formel heißt widerlegbar, wenn es mindestens eine Interpretation der in ihr vorkommenden Atome gibt, unter der die Formel falsch ist. Eine Formel heißt unerfüllbar, wenn sie unter allen Interpretationen der in ihr vorkommenden Satzbuchstaben falsch ist. Eine Formelmenge heißt erfüllbar, wenn alle in ihr enthaltenen Formeln erfüllbar sind. Die Frage, ob eine Aussage erfüllbar ist, wird Erfüllbarkeitsproblem oder SAT-Problem (nach dem englischen Wort für Erfüllbarkeit, satisfiability) genannt. Das SAT-Problem spielt eine wichtige Rolle in der theoretischen Informatik und Komplexitätstheorie. Das Erfüllbarkeitsproblem für allgemeine (beliebige) Formeln ist NP-vollständig, wir kennen keine Algorithmen, die in polynomialer Laufzeit lösbar können. Für bestimmte echte Teilmengen der Formeln der aussagenlogischen Sprache ist das SAT-Problem dennoch schneller, d. h. in polynomial beschränkter Rechenzeit lösbar. Eine solche Teilmenge sind die Horn-Formeln (Hornlogik), das sind Konjunktionen von Disjunktionen, deren Disjunkte verneinte oder unverneinte Atome sind, wobei innerhalb einer solchen Disjunktion allerdings höchstens ein Atom unverneint sein darf. 1 Hornlogik Die Hornlogik entsteht durch Beschränkung der Aussagelogik auf eine spezielle Formelklasse.Im Detail ist sie wie folgt definiert. 2.1 Hornformel und Hornkausel

a) Die Formel F in KNF heißt eine Hornformel, falls jede Teildisjunktion höchstens ein Prositives Literal enthält. Sei also F=(L 11... L 1n1 )... (L k1... L knk ). Dann darf in Jedem Klammerausdruck L i1... L inj höchstens ein positives Literal vorkommen. Der Klammerausdruck kann also bestehen aus (3 Möglichkeiten): beliebig vielen negativen Literalen ( A 1... A n ) beliebig vielen negativen Literalen und einem positiven Literal ( A 1... A n B) nur einem positiven Literal (B) b) Eine Klausel { L 1...,L r } heißt eine Hornklausel,wenn höchstens eines der Literale L 1...,L r positiv ist. c) Eine Hornformel heißt definite Horn-Formel, wenn jede Klausel genau ein positives Literal enthält. 1.2 Beispiele Seien A, B, C, D Aussagen. a) Dann ist F1 = (A B D) ( A C) (C D) D eine Hornformel. b) Jedoch ist F2 = (A B C) (B C D) keine Hornformel. c) Die Klausel K = ( A, B, C, D) ist eine Hornklausel. 2.3 Bemerkung Die folgende Formel H ist eine Hornformel: H = ( x 1 x 2 x 5 ) (x 2 x 3 x 4 x 6 ) ( x 5 x 6 ) (x 4 ) ( x 1 x 3 x 4 ) (x 1 x 4 ) (x 1 x 5 )

Hornformeln sind deshalb so wichtig, weil ihre Klauseln wie folgt semantisch äquivalent umgeformt werden können: ( x 1 x 2... x m x k ) ((x 1 x 2... x m ) x k ) Beispiel. Für die Hornformel H aus dem Beispiel oben gilt: H ((x 1 x 2 ) x 5 ) ((x 3 x 4 x 6 ) x 2 ) ((x 5 x 6 ) 0) (1 x 4 ) ((x 1 x 4 ) x 3 ) (x 4 x 1 ) (x 5 x 1 ) Verwenden hier zusätzlich 0 und 1. Für jede Interpretation I gilt I(0) =def 0 und I(1) =def 1. 2.4 Für Hornformel gilt: 1. Jede definite Horn Formel ist erfüllbar. 2. Eine Horn Formel α ist erfüllbar, falls α keine positive Unit Klausel enthält. 3 Resolution in der Hornlogik 3.1 Einheitsresolution(Unit-Resolution) Einheitsresolution entsteht durch Beschränkung der Resolution auf Fälle, in denen mindestens eine resolvierte Klausel einelementig ist (Einer-Klausel). - Idee der Einheitsresolution: Die Anzahl der Literale verringert sich bei der Resolventenbildung. - Einheitsresolution ist nicht Widerlegbarkeit-vollständig.{A, B} { A, B} {A, B} { A, B} kann nicht durch Einheitsresolution behandelt werden. - Einheitsresolution ist w-vollständig, falls eine Hornformel auf Erfüllbarkeit zu prüfen ist. Beispiel. F = {{ A, B, C}, { A, B, D}, { C, E}, { E, B}, {E},

{A}, { E, D}} Einheitsresolution: Davis-Putnam-Loveland Verfahren Davis-Putnam-Loveland Verfahren ist das zur Zeit schnelleste Verfahren um die Erfüllbarkeit aussagenlogischer Formeln festzustellen. S eine Menge von Klauseln. 1. Programm widerlege(s): 2. falls S =, Ende (S ist erfüllbar). 3. falls S keine Einerklausel enthält, wähle eine Variable P ; widerlege(s P ) ; widerlege(s P ). 4. sonst wähle eine Einerklausel K S 5. S = reduziere(k,s) Lasse alle Klauseln weg, die K als Teilklausel enthalten, Lasse in allen übrigen Klauseln das zu K komplementäre Literal weg. 6. falls S, Ende (S widersprüchlich), sonst widerlege(s). S P, bzw. S P entsteht, indem P bzw. P zu S hinzugefügt wird.

Beispiel: P 1 P 2 P 3 P 1 P 2 P 4 P 1 P 3 P 1 P 3 P 4 P 1 P 3 P 2 Wir zeigen anhand von Beispiel die Arbeitsweise des Verfahrens von Davis-Putnam-Loveland. Beim ersten Aufruf von widerlege(s) wird das Unterprogramm reduziere( P 2,S) aufgerufen und liefert S 1 : P 1 P 3 P 1 P 4 P 1 P 3 P 1 P 3 P 4 P 1 P 3 Da S 1 keine Einerklausel enthält wird eine Variable, in diesem Fall sei das P 1 gewählt und widerlege(s 1,0 ) und widerlege(s 1,1 ) aufgerufen mit: S 1,0 : S 1,1 : P 1 P 3 P 1 P 3 P 1 P 4 P 1 P 4 P 1 P 3 P 1 P 3 P 1 P 3 P 4 P 1 P 3 P 4 P 1 P3 P 1 P 3 P1 P 1

Betrachten wir zuerst die Abarbeitung von widerlege(s 1,0 ). Es wird reduziere(p 1,S 1,0 ) aufgerufen resultierend in S 2,0 : P 4 P 3 P 3 P 4 Als nächstes wird reduziere(p 3, S 2,0 ) aufgerufen und liefert: P 4 P 4 woraus im nächsten Schritt die Unerfüllbarkeit von S 1,0 folgt. Wenden wir uns jetzt der Abarbeitung von widerlege(s 1,1 ) zu. Hier liefert reduziere( P 1, S 1,1 ) : P 3 P 3 woraus schon im nächsten Schritt die Unerfüllbarkeit von S 1,1, und damit insgesamt die Unerfüllbarkeit von S, folgt. 3.2 Erfüllbarkeitstest für Hornformeln: 3.2.1 Markierungsalgorithmus Eingabe: Eine Hornformel F in Implikationsschreibweise 1. Versehe jedes Vorkommen eine Aussagensymbols A i in F mit einer Markierung, falls es in F eine Teilformel der Form (T => Ai) gibt. 2. WHILE es gibt in F eine Teilformel G der Form [1] (A 1 A 2 A n ) => A i oder der Form [2] (A 1 A 2 A n ) =>,

n > 1, wobei A 1,, A n bereits markiert sind (und A i noch nicht markiert ist) DO IF G hat die Form [1] THEN markiere jedes Vorkommen von A i in F ELSE gib unerfüllbar aus und stoppe. 3. Gib erfüllbar aus und stoppe. Die erfüllende Belegung wird durch die Markierung gegeben: A(A i )= 1, falls A i eine Markierung besitzt. 0, sonst Beispiel-1. ( A B E) C A ( C B) ( A D) ( C D A) E G Als Konjunktion von Implikation: ((A B) =>E) ( =>C) ( =>A) (C =>B) (A =>D) ((C D) => A) (E => ) (G => ) Makierung 1.Runde: (( 1 A B) =>E) ( => 1 C) ( => 1 A) ( 1 C =>B) ( 1 A =>D) (( 1 C D) => 1 A) (E => ) (G => ) Makierung 2.Runde: (( 1 A 2B) =>E) ( => 1 C) ( => 1 A) ( 1 C => 2 B) ( 1 A => 2 D) (( 1 C 2D) => 1 A) (E => ) (G => ) Makierung 3.Runde: (( 1 A 2B) => 3 E) ( => 1 C) ( => 1 A) ( 1 C => 2 B) ( 1 A => 2 D) (( 1 C 2D) => 1 A) ( 3 E => ) (G => ) unerfüllbar

Beispiel-2 F: = (A B) ( C A D) ( A B) D E Als Konjunktion von Implikationen: (B=>A) ((C A) =>D) ((A B)=> ) ( =>D) (E=> ) Makierung: (B=>A) ((C A) => 1 D) ((A B)=> ) ( => 1 D) (E=> ) Einteilung der Klauseln nach Form [1] und Form [2]: [1] B=>A [2] (A B)=> (C A) => 1 D E=> erfüllbar Erfüllende Belegung: Makierungsalgorithmus: Struktur des Ablaufs 1. Der Markierungsalgorithmus setzt voraus, dass die Eingabe eine Hornformel ist.

2. Korrektheit: Der Markierungsalgorithmus gibt bei erfüllbaren Hornformeln erfüllbar und bei unerfüllbaren Hornformeln unerfüllbar aus. 3. Der Erfüllbarkeitstest durch Markierung benötigt maximal n Markierungsschritte, während eine Berechnung der Wahrheitswerttafel gegebenenfalls 2 n Belegungen berücksichtigen muss. 3.2.2 Terminierung des Makierungsalgorithmus Der Markierungsalgorithmus für Hornformeln ist korrekt. Er stoppt nach spätestens n Markierungsschritten. (n = Anzahl der Aussagensymbole in F) Beweis: F ist eine Formel, in der genau n Aussagensymbole vorkommen. Im ersten Schritt (1.) werden einige Aussagensymbole markiert, dann ist der Schritt abgeschlossen. In jedem weiteren Markierungsschritt (2. / WHILE-Schleife) wird mindestens ein weiteres Aussagensymbol markiert. Ist keine weitere Markierung möglich, so wird die WHILE-Schleife verlassen. d.h. Maximal n Markierungsschritte. Dann stoppt das Verfahren mit der Ausgabe erfüllbar oder unerfüllbar. --- Markierungsalgorithmus hat linearen Aufwand 3.3.3 Korrektheit der Markierung Wenn A ein Modell für die Hornformel F ist, so gilt für die durch den

Algorithmus markierten Symbole A i : A(A i ) = 1. Beweis Es sei A ein Modell für die Hornformel F. Dann macht A auch alle Konjunkte von F wahr, also die Hornklauseln, aus denen F aufgebaut ist. Behauptung: A macht die im Markierungsschritt k markierten Aussagensymbole wahr. Vollständige Induktion über die Nr. des Markierungsschrittes, in dem A i markiert wurde. Induktionsanfang: In Markierungsschritt Nr. 1 (das ist Schritt 1 des Algorithmus) werden nur Aussagensymbole A i markiert, für die eine Klausel ( = > A i ) in F existiert. A macht ( =>A i ) wahr und ( => A i ) ist zudem mit A i äquivalent ist. Also macht A A i wahr. Induktionsannahme: Für alle j < k gelte: A macht die im Markierungsschritt Nr. j markierten Aussagensymbole wahr. Induktionsschrit:t Der k-te Markierungsschritt erfolgt innerhalb der WHILE-Schleife. Dabei werden nur solche Aussagensymbole A i markiert, für die eine Klausel (A 1 A 2 A n )=>A i existiert, und A 1, A 2,, A n wurden schon (in einem früheren Schritt) markiert. Da A A 1, A 2,, A n (Induktionsannahme) und die Klausel (A 1 A 2

A n )=> A i wahr macht (s.o.), macht A auch A i wahr. 3.2 Horn-Formel zum Beweis der Nicht-Erfüllbarkeit Eine Horn-Formel ist ein Spezialfall der KNF, bei der in jedem Klammerausdruck höchstens ein positives Literal vorkommt. Der Klammerausdruck kann also bestehen aus (3 Möglichkeiten): beliebig vielen negativen Literalen ( a 1 a n ) beliebig vielen negativen Literalen und einem positiven Literal ( a 1 a n b) nur einem positiven Literal (b) Für Horn-Formeln lässt sich die Nicht-Erfüllbarkeit auf sehr einfache Art beweisen: 1. es muss einen Klammerausdruck geben, der aus nur einem einzelnen positiven Literal besteht 2. Äquivalenzumformung aller Klammerausdrücke auf Implikationen 3. beginne beim Ausdruck (1 x) und markiere das x weil es 1 sein muss, damit der Klammerausdruck und damit der gesamte Ausdruck 1 werden kann. 4. markiere auch alle anderen Vorkomnisse von x (markierte Variablen haben den Wert 1 angenommen). 5. markiere alle weiteren Variablen die in der Conclusio (rechte Seite vom ) einer Implikation stehen, deren gesamte Prämisse (linke Seite) bereits 1 (also markiert) ist. Folgt aus einer markierten Prämisse das Literal 0 (man müsste also 0 mit 1 belegen), ist die Horn-Formel nicht erfüllbar und man ist fertig.

Wenn man keine weiteren Variablen mehr markieren kann, ist man fertig. Musste man bis dahin keinen 0er mit 1 belegen, ist die Formel erfüllbar. Zwei Formeln α und β heißen (logisch) äquivalent, abgekürzt α β, genau dann, wenn für jede Bewertung ξ gilt: ξ(α) = ξ(β). Horn-Formel Äquivalenzumformungen: ( a 1 a n ) <=> (a 1 a n 0) ( a 1 a n b) <=> (a 1... a n b) (b) <=> (1 b) 4 Isomorphiesproblem für Horn-Formel 4.1 Minimale und reduzierte Formeln Minimale Formel: Es sei Formel α = {A 1,...,A n } KNF heißt minimal, falls für alle 1 i n gilt α α\{a i }. Reduzierte Formel: α minimal und es gibt keine echte Teilklausel π von A i, sodass α ohne A i, aber mit der Teilklausel erfüllbarkeitsäquivalent zu α ist ((α \{A i }) {π} α). D.h. Eine Hornklausel, in der kein Aussagensymbol mehrfach auftritt, heißt reduziert. Eine Hornformel H heißt genau dann reduziert, wenn 1. alle Klauseln in H reduziert sind, und wenn 2. alle Klauseln in H verschieden sind. 4.2 Algorithmus REDU-HORN Eingabe: eine erfüllbare Formel α = {α 1,..., α n } HORN Ausgabe: eine reduzierte Horn Formel α red mit α α red knf-formel * REDU-HORN(cnf-formel *α) { U = UNIT-HORN(α);

foreach literal L U do α =α{l/1}; foreach clause κ α do if ( SAT-HORN((α \ {κ}) {{ L} L α}) = = false) α = α \ {κ}; foreach clause κ α do foreach literal L κ do if ( SAT-HORN ( α {{ K} K κ, K L}) = = false ) κ = κ \ {L}; return (α {{L} L U }) } Der Algorithmus REDU-HORN erzeugt in quadratischer Zeit eine reduzierte Horn-Formel R(α), die erfüllbarkeitsäquivalent zur Eingabe α ist: Innerhalb von zwei Schleifen werden die redundanten Klauseln und Literale entfernt (O(n m)). 4.3 Äquivalenz bis auf Umbenennung 4.3.1 Umbenennung Sei α eine Formel in KNF, dann heißt eine Funktion f : literals (α) literals (α) Umbenennung genau dann, wenn für alle L literals (α) gilt: f(l) { L, L} und f( L) f(l). Die Menge aller Umbenennungen von α bezeichnen wir mit U(α). Beispiele: a) Sei α = {(A B C), ( A C), (B D)} und f(a) = A, f(b) = B, f(c) = C und f(d) = D, dann erhalten wir mit dieser Umbenennung die Horn Formel f(α) = {( A B C), (A C), ( B D)}. b) Für die Formel β = {(A B C), ( A B C)} gibt

es dagegen keine Umbenennung, die zu einer Horn Formel führt. 4.3.2 Algorithmus: Umbenennung Input: α KNF Output: true und ein f U(α) mit f(α) HORN, falls eine Umbenennung existiert, false sonst function UMBENENNUNG(α : KNF) : boolean; begin { Sei α = {α 1,..., α n, α n+1,..., α r } mit {α n+1,..., α r } Unit Klauseln } σ := {α 1,..., α n }; β := {α n+1,..., α r }; T (α) := ; for i = 1 to n do begin end; {Sei α i = (L i,1... L i,k )} for j = 1 to k 1 do Y i,j := new-atom(); T i := {(L i,1 Y i,1 )} {( Y i,k 1 L i,k )}; T i := T i 1<j<k {( Y i,j 1 L i,j ), ( Y i,j 1 Y i,j ), (L i,j Y i,j )}; T (α) := T (α) T i ; if SAT-2-KNF(T (α)) = false

then return(false) else begin { Sei ξ die berechnete erfüllende Bewertung } foreach atom A σ do if ξ(a) = 1 then f(a) := A else f(a) := A; foreach literal L in β do if atoms (L) atoms (σ) then f(l) := L; return(true); end; end; 4.3.3 Sei α 2 KNF. a) α enthalte keine Unit Klauseln, dann gilt: f U(α): f(α) HORN α ist erfüllbar. b) α ist erfüllbar f U(α) : f(α) HORN Beweis: zu a): Enthält eine Horn Formel keine Unit Klauseln, dann ist die Formel erfüllbar. Da eine Umbenennung die Erfüllbarkeit erhält, folgt sofort die Behauptung. zu b): Im ersten Schritt wenden wir den Algorithmus SAT-2-KNF auf α an und erhalten in linearer Zeit eine erfüllende Bewertung.Eine brauchbare Umbenennung ist dann f(a) = A, falls ξ(a) = 1 und f(a) = A sonst. Sei α i = (L 1 L 2 ) eine Klausel in α, dann gilt ξ(l 1 ) = 1 oder ξ(l 2 ) = 1. O.B.d.A. gelte ξ(l 1 ) = 1. Sei L 1 = A, dann ist f(l 1 ) = L 1. Für L 1 = A und wegen ξ(l 1 ) = ξ( A) = 1 folgt sofort f(l 1 ) = f( A) = A = L 1. Also ist f(l 1 ) ein negiertes Atom. Da wir nur Klauseln mit maximal 2 Literalen

betrachten, ist jede Klausel eine Horn Klausel. 4.3.4 Algorithmus UMBENENNUNG 2 KNF DHORN Der Algorithmus realisiert mit: zu jeder Formel α = {α1,..., αm} 2 KNF konstruieren wir eine Formel β 2 KNF, die genau dann erfüllbar ist, wenn es eine Umbenennung f U(α) gibt mit f(α) DHORN. Für αi = ( A B) oder (A B) sei βi := ( A B); für αi = ( A B) oder (A B) sei βi := (A B); für αi = A sei βi = A und für αi = A sei βi = A. Sei nun β erfüllbar mit der Bewertung ξ, dann überführt die Umbenennung f(a) = A, falls ξ(a) = 1, und f(a) = A sonst, die Formel α in eine definite Horn Formel. Gelte nun umgekehrt, daß es eine Umbenennung f U(α) mit f(α) DHORN gibt. Eine erfüllende Bewertung ξ für β erhalten wir mit ξ(a) = 1, falls f(a) = A, und ξ(a) = 0 sonst. Input: α = {α 1,..., α m } 2 KNF Output: true und f U(α) : f(α) DHORN, falls f existiert und false sonst Function UMBENENNUNG 2-KNF DHORN(α : 2 KNF): boolean; begin for i = 1 to m do begin if α i = ( A B) or α i = (A B)

end; then β i := (A B) ( A B); end; if α i = ( A B) or α i = (A B) then β i := ( A B) (A B); if α i = A then β i = A; if α i = A then β i = A; {β := {β 1,..., β m }} if SAT 2 KNF(β) = false then return(false) else begin { ξ(β) = 1} end; foreach atom A α do if ξ(a) = 1 then f(a) := A else f(a) := A; return(true); 4.3.5 Das Äquivalenz-Problem Zwei aussagenlogische Formeln α 1 und α 2 heißen äquivalent (α 1 α 2 ) genau dann, wenn für alle Formeln γ gilt: α 1 = γ genau dann, wenn α 2 = γ. Lemma: Das Äquivalenz-Problem {(α 1, α 2 ) α 1, α 2 3 KNF, α 1 α 2 } ist conp-vollständig. Beweis: Sei α 1 : A 1 A 1. Dann ist α1 offensichtlich widerspruchs- voll, also nicht erfüllbar. Für beliebiges α 2 gilt daher α 1 α 2 genau dann, wenn auch α 2 nicht erfüllbar ist. Der Erfüllbarkeitstest aussagenlogischer Formeln ist NP-vollständig. Es ist bekannt. daß zwei Formeln α 1 und α 2 äquivalent sind, wenn

man gezeigt hat α 1 = α 2 = α 1. Ferner gilt natürlich α 1 = α 2 genau dann, wenn α 1 α 2 widerspruchsvoll ist. Schließlich gilt α = α 1... α n genau dann, wenn α = α i für jedes i mit 1 i n gilt. Aus diesen Zusammenhängen lassen sich die folgende Lemma ableiten. Lemma: α 1 α 2 kann für α 1, α 2 HORN deterministisch in quadratischer Zeit und linearem Platz in Abhängigkeit von der Länge von α 1 α 2 entschieden werden. Beweis: Es folgt, daß α = L 1... L n für eine Formel α HORN und eine Klausel L 1... L n deterministisch in linearer Zeit entschieden werden kann. Wieder folgt damit zusammen mit den obigen Beobachtungen direkt die Behauptung. Literaturverzeichnis [1] Hans Kleine Büning and Theoder Lettman. Propositional Logic: Deduction and Algorithmus. University of Paderborn. [2] Hans Kleine Büning and Theodor Lettmann. Skript Logik und Regelverarbeitung 15. Oktober 2002. [3] FGI-1 Habel / Eschenbach. Kap. 7 Aussagenlogik Hornformeln. [4] Viktor C. Pavlu, BSc. Theoretische Informatik II. 11-Feb-2005 [5] Martin Kreuzer and Stefan Kühling. Logik für Informatiker.*ISBN 3-8273-7215-1(978-3-8273-7215-4)* - 2006 by Pearson Studium. Erklärung: Hiermit versichere ich, dass ich die vorliegende Arbeit selbststädig und unter Benutzung keiner anderen Quellen als der genannten (gedruckte Werke, Buch und Werke in elektronischer

Form im Internet) verfasst habe. Alle aus solchen Quellen wörtlich oder sinngemäß übernommene Passagen habe ich im Einzelnen unter genauer Angabe des Fundortes gekennzeichnet. Quelltexte, die nur in elektronischer Form zugänlich waren, habe ich in den wesentlichen Auszügen kopiert und der Ausarbeitung angehängt.