Resolutionsalgorithmus

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

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

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

Ersetzbarkeitstheorem

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

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

Theoretische Informatik: Logik

Hilbert-Kalkül (Einführung)

Logik für Informatiker

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik für Informatiker

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

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

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

Logik für Informatiker

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

Aussagenlogik: Syntax von Aussagen

1 Aussagenlogik AL: Verknüpfung von Aussagen

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Tableaukalkül für Aussagenlogik

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

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

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

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

Klauselmengen. Definition Sei

Logik. Markus Lohrey. Sommersemester Universität Siegen. Markus Lohrey (Universität Siegen) Logik Sommersem / 299

Formale Systeme. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Logik für Informatiker

Logik. Markus Lohrey. Wintersemester 2012/2013. Universität Leipzig. Markus Lohrey (Universität Leipzig) Logik Wintersem.

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.

Logik Vorlesung 5: Grundlagen Resolution

Kapitel L:II. II. Aussagenlogik

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

Einführung in die Logik

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Resolution für die Aussagenlogik

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

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

Der Hilbert-Kalkül für die Aussagenlogik (Notizen zur Vorlesung Logik im Wintersemester 2003/04 an der Universität Stuttgart)

Deduktion in der Aussagenlogik

Aussagenlogische Kalküle

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.

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Logik für Informatiker

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

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

Beispiel Aussagenlogik nach Schöning: 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/25

Logik für Informatiker

3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik

Logik für Informatiker

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

2.3 Deduktiver Aufbau der Aussagenlogik

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

Wiederholung: Resolution in der Aussagenlo. Resolution in der Prädikatenlogik. Definition von Res(F) (Wiederholung)

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Logik für Informatiker

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

1.1 Grundbegriffe. Logik und Diskrete Strukturen (Sommer 2018) Prof. Dr. Ulrich Hertrampf

Algorithmischer Aufbau der Aussagenlogik

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

Was bisher geschah: klassische Aussagenlogik

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation

Grundlagen der Künstlichen Intelligenz

Ablauf. Formale Grundlagen der Informatik 1 Kapitel 21 Prädikatenlogische Resolution. Eine besondere Formel. Eine besondere Formel

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

Formale Systeme. Aussagenlogik: Resolutionskalku l. Prof. Dr. Bernhard Beckert, WS 2018/2019

Übung 4: Aussagenlogik II

Logik Vorlesung 3: Äquivalenz und Normalformen

De Morgan sche Regeln

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

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

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

Formale Grundlagen der Informatik 1 Kapitel 21 Prädikatenlogische Resolution

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

Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.8 Aussagenlogik Der Sequenzen-Kalkül 99. Sequenzen

Transkript:

112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül: Syntaktische Umformungsregeln: Resolution, Stopp bei Erreichen der leeren Klausel Semantische Eigenschaft der Eingabeformel: Unerfüllbarkeit Wünschenswerte Eigenschaften eines Kalküls: Korrektheit: Wenn die leere Klausel aus F abgeleitet werden kann, dann ist F unerfüllbar. Vollständigkeit: Wenn F unerfüllbar ist, dann ist die leere Klausel aus F ableitbar.

113 Resolutionsalgorithmus 1. Version: berechne Res (F) if Res (F) then return unerfüllbar else return erfüllbar 2. (praktische) Version: suche mit Hilfe von Heuristiken kurze Deduktion von (n ist die Anzahl der atomaren Formeln in F): for 1 i 4 n do choose K 1,K 2 F, Resolvente R von K 1 und K 2 if R = then return unerfüllbar else F := F {R} return erfüllbar

114 Resolutionsalgorithmus Bemerkungen: 1 Häufig existiert kurze Deduktion von, obwohl Res (F) sehr groß ist. Daher ist Resolution als Unerfüllbarkeitstest häufig effizient. Wenn keine Deduktion von existiert, so muß Schleife 4 n bzw. Res (F) mal durchlaufen werden, als Erfüllbarkeitstest ist Resolution also nicht sehr effizient. 2 auch als Unerfüllbarkeitstest ist Resolution nicht immer effizient: Haken hat 1985 für jedes n eine Menge von Klauseln F n angegeben mit: F n ist unerfüllbar. F n enthält n (n+1) viele atomare Teilformeln. F n besteht aus n3 +n 2 2 +n+1 vielen Klauseln. Jede Deduktion der leeren Klausel aus F n hat Länge mindestens c n für eine feste Konstante c > 1.

115 Anwendung 1 der Resolution: (Un-)Erfüllbarkeitstest geg. aussagenlogische Formel F Frage: Ist F erfüllbar? Methode: Wandle F in KNF in Mengendarstellung um und wende Resolutionsalgorithmus an.

116 Anwendung 2 der Resolution: Tautologietest geg. aussagenlogische Formel F Frage: Ist F Tautologie? Methode: Wandle F in KNF in Mengendarstellung um und wende Resolutionsalgorithmus an. An Stelle von unerfüllbar gib Tautologie, an Stelle von erfüllbar gib keine Tautologie aus.

117 Anwendung 3 der Resolution: Folgerungstest geg. aussagenlogische Formeln F 1,F 2,...,F n,f Frage: Gilt F 1,F 2,...,F n = F? Methode: Bilde F = F 1 F 2 F n F, wandle F in KNF in Mengendarstellung um und wende Resolutionsalgorithmus an. An Stelle von unerfüllbar gib F folgt aus F 1,F 2,...,F n, an Stelle von erfüllbar gib F folgt nicht aus F 1,F 2,...,F n aus.

118 Beweis einer Folgerung: Beispiel Wir wollen zeigen. (AK BK),(AK BK),(BK RL AK),RL = ( AK BK) Betrachte F = (AK BK) (AK BK) (BK RL AK) RL ( AK BK) Eine KNF von F ist (AK BK) ( AK BK) ( BK RL AK) RL (AK BK) In Mengendarstellung: {{AK,BK}, { AK,BK}, { BK, RL, AK}, {RL}, {AK, BK}}

119 Beispiel zur Resolution Eine mögliche Deduktion von aus {{AK,BK}, { AK,BK}, { BK, RL, AK}, {RL}, {AK, BK}} (1) sieht wie folgt aus: {AK,BK} gehört zu (1) (2) { AK,BK} gehört zu (1) (3) {BK} aus (2) und (3) (4) { BK, RL, AK} gehört zu (1) (5) {AK, BK} gehört zu (1) (6) { BK, RL} aus (5) und (6) (7) {RL} gehört zu (1) (8) { BK} aus (7) und (8) (9) aus (4) und (9) (10)

120 Bemerkungen zur Resolution Die Resolution ist als Unerfüllbarkeitstest für Formeln in KNF, als Tautologietest für Formeln in DNF, als Folgerungstest für Formeln in KNF i.a. sehr effizient (aber nicht immer: Haken 1985). Um allgemeine Formeln zu behandeln, müssen diese in KNF umgewandelt werden, was sie i.a. exponentiell vergrößert. Die Vorlesungsseite enthält einen Verweis auf ein Java-Applet zum Resolutionsalgorithmus.

121 Erfüllbarkeitstests Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl. Grundlagen und diskrete Strukturen ) Ein für Formeln in KNF im allgemeinen effizienter Unerfüllbarkeitstest (Resolution) Ein für beliebige Formeln im allgemeinen effizienter Erfüllbarkeitstest (Tableau) Ein (philosophisch) interessanter Erfüllbarkeitstest für beliebige Formeln (natürliches Schließen)

122 Tableaux (Idee) Nachteil des Resolutionskalküls: man muß zunächst KNF herstellen. Tableaux-Methoden testen beliebige Formeln auf Erfüllbarkeit. Sie sind etwas direkter, aber nicht unbedingt effizienter. Idee: Suche systematisch nach einer erfüllenden Belegung über wahre Teilformeln. hier nur für Formeln in NNF (die ja mit linearem Aufwand aus beliebiger Formel berechnet werden kann) Definition Ein Tableau ist ein endlicher Baum, dessen Knoten mit Formeln beschriftet sind. Ein Ast p in τ ist abgeschlossen, falls es atomare Formel A gibt, so daß A und A auf p vorkommen.

123 Tableaux und Entwicklung Definition Das Tableau τ wird zum Tableau τ entwickelt (τ τ ), falls τ einen nicht-abgeschlossenen Ast p enthält, so daß eine der folgenden Aussagen gilt: in p enthaltene Formeln in p nicht enthaltene Formeln (F G) F und G F (F G),F G (F G),G F (F G) F und G τ entsteht aus τ durch Verlängerung von p um G G F F G

124 Tableaux: Vollständigkeit (I) Lemma Sei τ τ ein Entwicklungsschritt und B eine Belegung. Wenn es einen Ast p in τ gibt mit B(F) = 1 für alle Formeln F auf p, dann hat auch τ einen solchen Ast p. Beweis: Wird die Entwicklung von τ zu τ an einem Ast p p gemacht, so ist p gewünchter Ast von τ. Werde also der Ast p weiter entwickelt unter Verwendung der Formel F G (bzw. F G). Dann gilt B(F) = B(G) = 1 (bzw. B(F) = 1 oder B(G) = 1). Die bzw. eine der Verlängerungen von p in τ ist gewünschter Ast p.

125 Tableaux: Vollständigkeit (II) Folgerung Sei τ Tableau mit F τ ( das aus F entwickelt werden kann ). Ist F erfüllbar, so hat τ einen nicht-abgeschlossenen Ast. Beweis: Es gilt F τ 1 τ 2 τ n = τ und es gibt eine Belegung B mit B(F) = 1. Nach dem Lemma hat jedes dieser Tableaux einen abgeschlossenen Ast p i, so daß B(G) = 1 für alle Formeln auf p i. Also ist p n ein nicht-abgeschlossener Ast in τ.

126 Tableaux: Korrektheit Definition Ein Tableau ist vollständig, wenn es nicht weiter entwickelt werden kann. Lemma Sei τ vollständiges Tableau, das aus F entwickelt werden kann. Ist F nicht erfüllbar, so ist jeder Ast in τ abgeschlossen. Beweis: Es gilt wieder F τ 1 τ 2 τ n = τ. Angenommen, τ hätte einen nicht-abgeschlossenen Ast p. Definiere eine Belegung B durch { 1 A kommt in p vor B(A) = 0 sonst. Sei F = F m,f m 1,F m 2,...,F 1 die Folge der Formeln auf dem Ast p. Man zeigt induktiv über die Größe der Formeln F i, daß B(F i ) = 1 gilt, insbesondere also B(F) = B(F m ) = 1, ein Widerspruch zur Annahme.

127 Tableauxverfahren τ := F while true do if alle Äste in τ abgeschlossen sind then stopp mit Ausgabe unerfüllbar if ein Ast nicht-abgeschlossen und nicht-entwickelbar then stopp mit Ausgabe erfüllbar berechne ein τ mit τ τ ; setze τ := τ endwhile

128 Tableauxverfahren: Beispiel 1 F H G ( F G) F H G ( F G) Alle Äste in τ sind abgeschlossen, also ist die Formel nicht erfüllbar. H G ( F G) G F G F G

129 Tableauxverfahren: Beispiel 2 (F G) (F G) F G F G F G Die zwei nichtabgeschlossenen und nichtentwickelbaren Äste führen beide zu der erfüllenden Belegungen B(F) = 1 und B(G) = 0 (denn beide enthalten F aber nicht G) F G

130 Vollständigkeit und Korrektheit des Tableauxverfahrens Satz Das Tableauxverfahren terminiert immer. Er gibt genau dann erfüllbar aus, wenn die Formel F erfüllbar ist. Beweis: Termination folgt aus zwei Beobachtungen: Die Knoten der berechneten Tableaux sind Teilformeln von F jede Teilformel von F kommt auf jedem Ast eines berechneten Tableaux höchstens einmal vor Ist F erfüllbar, so gibt der Algorithmus erfüllbar aus nach Folgerung auf Folie 125 Gibt der Algorithmus erfüllbar aus, so ist F erfüllbar nach Lemma auf Folie 126

131 Erfüllbarkeitstests Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl. Grundlagen und diskrete Strukturen ) Ein für Formeln in KNF im allgemeinen effizienter Unerfüllbarkeitstest (Resolution) Ein für beliebige Formeln im allgemeinen effizienter Erfüllbarkeitstest (Tableau) Ein (philosophisch) interessanter Erfüllbarkeitstest für beliebige Formeln (natürliches Schließen Sequenzenkalkül)

132 Sequenzenkalkül ein weiterer Kalkül, der rein syntaktisch die Folgerungen erzeugt Idee: Regeln der Form: Wenn ich weiß, daß G aus F bewiesen werden kann, so weiß ich auch, daß G aus F bewiesen werden kann. Schreibweise: {F 1,F 2,...,F n } G wird heißen Die Formel G kann aus den Formeln F 1,...,F n bewiesen werden. Regeln werden geschrieben als F 1 G 1 F 2 G 2 F G...F k G k Definition Eine Sequenz besteht aus einer endlichen Menge von Formeln F und einer Formel G.

Sequenzenkalkül Definition Die Sequenz (F,G) ist gültig (F G), wenn sie sich in endlich vielen Schritten durch die folgenden Regeln erzeugen läßt: F {G} G F G F G i F G 1 F G 2 F G 1 G 2 i F G 1 i F G 2 F G 1 G 1 i F F G F F G 2 F G 1 G 2 2 F G e F G 1 F G 2 F (G 1 G 2 ) dem F G 1 F (G 1 G 2 ) dem 1 F H G H G F G G MP F G 2 F (G 1 G 2 ) dem 2 F {F} G F F G i 133

Korrektheit Lemma Aus F G folgt F = G. Bemerkung Auf der linken Seite steht, daß man F G herleiten kann. Dies ist eine syntaktische Aussage. Auf der rechten Seite steht, daß jede Belegung B, die alle Formeln aus F erfüllt, auch G erfüllt. Dies ist eine semantische Aussage. 134

135 Korrektheit Beweis induktiv über die Länge einer Herleitung (= Anzahl der Regelanwendungen) von F G I.A. gilt G F, so folgt aus B = F sofort B = G, also F = G. I.V. Gelte F = G, falls die Gültigkeit der Sequenz F G sich in n Schritten zeigen läßt. I.S. Sei F G eine gültige Sequenz, deren Gültigkeit sich in n+1 Schritten zeigen läßt. Wir machen eine Fallunterscheidung danach, welche Regel als letztes angewandt wurde.

136 Korrektheit i 1 Wurde als letztes die Regel i 1 angewandt, so gilt G = G 1 G 2 und die Gültigkeit der Sequenz F G 1 kann in höchstens n Schritten gezeigt werden. Also gilt nach I.V. F = G 1. Sei nun B Belegung mit B = F. Dann gilt also B(G 1 ) = 1 und damit 1 = B(G 1 G 2 ) = B(G). Also haben wir F = G gezeigt. i Wurde als letztes die Regel i angewandt, so gilt G = G 1 G 2 und die Gültigkeit der Sequenzen F G 1 und F G 2 kann in höchstens n Schritten gezeigt werden. Also gilt nach I.V. F = G 1 und F = G 2. Sei nun B Belegung mit B = F. Dann gilt also B(G 1 ) = B(G 2 ) = 1 und damit 1 = B(G 1 G 2 ) = B(G). Also haben wir F = G gezeigt.

137 Korrektheit em Wurde als letztes die Regel dem angewandt, so gilt G = (G 1 G 2 ) und die Gültigkeit der Sequenzen F G 1 und F G 2 kann in höchstens n Schritten gezeigt werden. Also gilt nach I.V. F = G 1 und F = G 2. Sei nun B Belegung mit B = F. Dann gilt also B( G 1 ) = B( G 2 ) = 1 und damit 1 = B( G 1 G 2 ) = B( (G 1 G 2 )) = B(G) nach dem Fundamentalsatz. Also haben wir F = G gezeigt. i Wurde als letztes die Regel i angewandt, so gilt G = G 1 G 2 und die Gültigkeit der Sequenz F {G 1 } G 2 kann in höchstens n Schritten gezeigt werden. Also gilt nach I.V. F {G 1 } = G 2. Sei nun B Belegung mit B = F. Gilt B(G 1 ) = 0, so erhalten wir B( G 1 G 2 ) = 1. Andernfalls haben wir B = F {G 1 } und damit auch B(G 2 ) = 1, also B( G 1 G 2 ) = 1. Die restlichen Fälle können (und sollten von Ihnen beim Nacharbeiten) analog behandelt werden.