Motivation. Formale Grundlagen der Informatik 1 Kapitel 16. Resolution. Motivation. Beispiel

Ähnliche Dokumente
Frank Heitmann 2/48. 2 Substitutionen, um formal auszudrücken wie in Formelmengen. auf!

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

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

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:

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

Theoretische Informatik: Logik

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

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

Logik für Informatiker

Resolutionsalgorithmus

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

Resolution (Motivation) Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Resolution (Idee) Resolution (Idee)

Logik für Informatiker

Hilbert-Kalkül (Einführung)

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

Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik

Logik für Informatiker

Formale Grundlagen der Informatik 3 Kapitel 4 Prädikatenlogik Resolution

1 Aussagenlogik AL: Verknüpfung von Aussagen

Logik für Informatiker

Logik für Informatiker

Eine besondere Formel. Formale Grundlagen der Informatik 3 Kapitel 4 Prädikatenlogik. Resolution. Eine besondere Formel. Merke

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

Einführung in die Logik

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

Logik für Informatiker

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

Formale Grundlagen der Informatik 1 Kapitel 21 Prädikatenlogische Resolution

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

Ersetzbarkeitstheorem

Logik für Informatiker

Logik für Informatiker Logic for Computer Scientists

Vorlesung Logik SoSe 2014

Logik Vorlesung 5: Grundlagen Resolution

Formale Grundlagen der Informatik 1 Kapitel 24 Zusammenfassung

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

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

Klauselmengen. Definition Sei

Logische und funktionale Programmierung

Beispiel Aussagenlogik nach Schöning: Logik...

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

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

23. Vorlesung: Logisches Schließen Markus Kr otzsch Professur f ur Wissensbasierte Systeme Normalformen

Logik für Informatiker

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

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

Logik Vorlesung 3: Äquivalenz und Normalformen

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

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

Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik

Logik für Informatiker

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.

Grundbegriffe für dreiwertige Logik

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

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Aussagenlogik: Syntax von Aussagen

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ß.) =?

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

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

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.

Formale Grundlagen der Informatik 1 Kapitel 22 Zusammenfassung

Deduktion in der Aussagenlogik

Tableaukalkül für Aussagenlogik

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P)

Logik Teil 1: Aussagenlogik

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

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Syntax der Aussagenlogik

TU7 Aussagenlogik II und Prädikatenlogik

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

Logik für Informatiker

Logik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010

Grundlagen der Programmierung

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

Kapitel L:II. II. Aussagenlogik

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

Grundlagen der Künstlichen Intelligenz

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

Vorsemesterkurs Informatik

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

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

Logic in a Nutshell. Christian Liguda

Schlussregeln aus anderen Kalkülen

Formale Systeme. Prof. Dr. Bernhard Beckert. Winter 2008/2009. Fakultät für Informatik Universität Karlsruhe (TH)

Logik Teil 1: Aussagenlogik

2.3 Deduktiver Aufbau der Aussagenlogik

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

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

Transkript:

rundlagen und Motivation Formale rundlagen der Informatik 1 Kapitel 16 Frank Heitmann heitmann@informatik.uni-hamburg.de 31. Mai 2016 Motivation Wir benötigen einen (Un-)Erfüllbarkeitstest für aussagenlogische Formeln. Mit dem könn(t)en auch F und F = entschieden werden! Dies geht zwar immer mit Wahrheitstafeln, dauert dann aber lange. Hornformeln erlauben einen schnellen Test, schränken die möglichen Formeln aber ein. Wir gehen nun anders vor... Frank Heitmann heitmann@informatik.uni-hamburg.de 1/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 2/45 rundlagen und rundlagen und Motivation Beispiel Der Sinn von Ableitungen: Aufgrund syntaktischer Eigenschaften von Formeln/Formelmengen auf semantische Eigenschaften schließen (statt Wahrheitswerteverläufe zu erstellen und zu prüfen). Dies ist vor allem auch deswegen wichtig, da für komplexere Logiken (wie die Prädikatenlogik) i.a. die Tabellen nicht mehr komplett aufgebaut werden können! Unabhängig von F ist F F eine Tautolgoie F F eine Kontradiktion Dies kann man allein am syntaktischen Muster erkennen! Ähnlich kann man schlussfolgern (besser: ableiten): Wenn F und F als wahr angenommen werden dann muss auch wahr sein (Man kann sich das semantisch klar machen und dann immer wenn das Muster F und F vorliegt ableiten.) Frank Heitmann heitmann@informatik.uni-hamburg.de 3/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 4/45

Inferenzregeln rundlagen und Motivation rundlagen und Konjunktionseinführung (KE): Konjunktionslöschung (KL): Disjunktionseinführung (DE): Disjunktiver Syllogismus (DS): Modus Ponens (MP): F, F F F F F,F F F,F F F F,F Mit den Regeln von eben kann ein Kalkül eingeführt werden und dann (rein syntaktisch) Ableitungen definiert werden. Wir wollen diese Möglichkeit hier nicht weiter ausführen, aber wir wollen nun die betrachten, ein spezielles Ableitungsverfahren, das mit KNFs arbeitet. Die ist ein Widerlegungsverfahren, d.h. es ist möglich eine Formel auf Unerfüllbarkeit zu testen. Modus Tollens (MT): Hypothetischer Syllogismus (HS):,F F F, H F H Auf die Idee zur kann man kommen, wenn man einige der eben dargestellten Regeln betrachtet... Konstruktives Dilemma (KD): F,H I,F H I Frank Heitmann heitmann@informatik.uni-hamburg.de 5/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 6/45 Motivation rundlagen und Vorausschau rundlagen und Disjunktiver Syllogismus 1: Disjunktiver Syllogismus 2: Modus Ponens: F,F,F...,F F F,F F, F, F F Modus Tollens: F... Hypothetischer Syllogismus: F, H F H F, H... F H Es werden Pärchen komplementäre Literale entfernt. Dies kann man verallgemeinern um zu einem korrekten Ableitungsverfahren zu gelangen. Bei der wird aus zwei Formeln sofern sie die Voraussetzungen (gewisse syntaktische Eigenschaften) erfüllen eine neue Formel generiert Sneak Peek B C A C A A D A B D Frank Heitmann heitmann@informatik.uni-hamburg.de 7/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 8/45

rundlagen und rundlagen und Mengendarstellung Mengendarstellung - Beispiel arbeitet mit Formeln in KNF und benutzt eine Mengendarstellung Ist K = m i=1 L i eine Klausel, dann ist K = {L 1,..., L m } die Mengendarstellung von K. Ist F = ( n i=1 ( m i j=1 L i,j)) eine Formel in KNF, dann ist F = {{L 1,1,..., L 1,m1 },..., {L n,1,..., L n,mn }} die Mengendarstellung von F. Die leere Klausel (Mengendarstellung zu ) wird mit bezeichnet. Die Wahrheitswerteberechnung wird angepasst: A(K) = max({a(l) L K}) A(F) = min({a(k) K F}) A( ) = 0 Dann ist F = ( A B) E ( C) K 1 = A B und K 1 = { A, B} K 2 = E und K 2 = {E} K 3 = C und K 3 = {, C} F = {{ A, B}, {E}, {, C}} Anmerkung In der Mengendarstellung sind die Junktoren nicht mehr explizit zu sehen. Frank Heitmann heitmann@informatik.uni-hamburg.de 9/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 10/45 rundlagen und rundlagen und Die sregel Die sregel Definition (Resolvente) Seien K 1 und K 2 Klauseln (in Mengendarstellung) und L ein Literal mit L K 1 und L K 2. Dann heißt die (Literal-)Menge R = (K 1 {L}) (K 2 {L}) Resolvente von K 1 und K 2 (bzgl. L). Dabei ist L = A, falls L = A und L = A, falls L = A. Definition (Resolvente) Seien K 1 und K 2 Klauseln (in Mengendarstellung) und L ein Literal mit L K 1 und L K 2. Dann heißt die (Literal-)Menge R = (K 1 {L}) (K 2 {L}) Resolvente von K 1 und K 2 (bzgl. L). Resolventenbildung als Ableitung: {K 1, K 2 } res R Darstellung als Diagramm: Im Falle K 1 = {L} und K 2 = { L} ist R = und wird durch symbolisiert. K 1 K 2 R Frank Heitmann heitmann@informatik.uni-hamburg.de 11/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 12/45

rundlagen und rundlagen und Beispiele Beispiele { B, C} { C} Wichtige Anmerkung Das unten stehende auf keinen Fall! { B} { B, C} {B, C} { B, C, A} {C, A, D} {C} {A, D, B} { C} Wichtige Anmerkung Wirklich nicht! Nein, nein, nein! Es wird immer nur genau ein Literal aus der einen Mengen und ein (komplementäres) Literal aus der anderen Menge entfernt! Frank Heitmann heitmann@informatik.uni-hamburg.de 13/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 14/45 rundlagen und rundlagen und Beispiele Resolventenmengen Wichtige Anmerkung Das unten stehende auch nicht! Wichtige Anmerkung { B, B} Zur Resolventenbildung werden zwei Klauseln benötigt! Ähnlich wie bei den Ableitungen, führen wir auch hier mehrschrittige Resolventenbildungen ein: Definition Sei F eine Formel in KNF dargestellt als Klauselmenge. Res(F ) := F {R R ist Resolvente zweier Klauseln aus F } Res 0 (F ) := F Res n+1 (F ) := Res(Res n (F )) Res (F ) := i 0 Res i (F ) Frank Heitmann heitmann@informatik.uni-hamburg.de 15/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 16/45

rundlagen und rundlagen und Fragen Fragen Sei F = {{A, B}, { A, B, C}, {A, B}}. Welche Klausel ist nicht in Res (F )? 1 {A} 2 {B, C} 3 { C} 4 {A, C} 5 {A, A, C} Wie ist die Resolvente R zweier Klauseln K 1, K 2 definiert? 1 R = (K 1 {L}) (K 2 {L}) 2 R = (K 1 {L}) (K 2 {L}) 3 R = (K 1 {L, L}) (K 2 {L, L}) 4 R = (K 1 K 2 ) {L L}) 5 R = (K 1 K 2 ) {L L}) Frank Heitmann heitmann@informatik.uni-hamburg.de 17/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 18/45 rundlagen und rundlagen und Fragen Zur Nachbereitung Sei F = {{A, B, C}, { C}, {B, C}, { A, C}}. Welche Klausel ist nicht in Res (F )? 1 {A, C} 2 {A, C} 3 {A, B} 4 { A} 5 Zur Nachbereitung 1 3. 2 2. (wobei noch L K 1 und L K 2 sein muss) 3 2. Frank Heitmann heitmann@informatik.uni-hamburg.de 19/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 20/45

rundlagen und rundlagen und ssatz (Vorschau) Beispiel leich zeigen wir: Satz (ssatz) Eine Klauselmenge F ist unerfüllbar genau dann, wenn Res (F ) gilt. Da dieser Satz gilt, werden die ganzen Dinge oben überhaupt nur eingeführt! Beispiel Wir wollen die folgende Formel auf Erfüllbarkeit testen: ( A B) ( B C) A C Als Klauselmenge: {{ A, B}, { B, C}, {A}, { C}} Korrektheit: {A} { A, B} { B, C} { C} Wenn Res (F ), dann ist F unerfüllbar. Vollständigkeit: {B} { B} Wenn F unerfüllbar ist, dann ist Res (F ). Frank Heitmann heitmann@informatik.uni-hamburg.de 21/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 22/45 rundlagen und rundlagen und Das weitere Mengendarstellung - arbeitet mit Formeln in KNF und benutzt eine Mengendarstellung Jetzt: zeigen wir den ssatz und leiten daraus einen Algorithmus zum Test auf Unerfüllbarkeit ab. Ist K = m i=1 L i eine Klausel, dann ist K = {L 1,..., L m } die Mengendarstellung von K. Ist F = ( n i=1 ( m i j=1 L i,j)) eine Formel in KNF, dann ist F = {{L 1,1,..., L 1,m1 },..., {L n,1,..., L n,mn }} die Mengendarstellung von F. Die leere Klausel (Mengendarstellung zu ) wird mit bezeichnet. Die Wahrheitswerteberechnung wird angepasst: A(K) = max({a(l) L K}) A(F) = min({a(k) K F}) A( ) = 0 Frank Heitmann heitmann@informatik.uni-hamburg.de 23/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 24/45

rundlagen und rundlagen und Ablauf slemma Lemma (slemma) Sei F eine Formel in KNF als Klauselmenge und R eine Resolvente zweier Klauseln K 1 und K 2 in F. Dann sind F und F {R} äquivalent. Lemma Sei F eine Formel in KNF als Klauselmenge. Dann gilt F Res 1 (F ) Res 2 (F )... Res n (F )... Res (F ) Satz (ssatz) Eine Klauselmenge F ist unerfüllbar genau dann, wenn Res (F ) gilt. Satz (slemma) Sei F eine Formel in KNF und R eine Resolvente zweier Klauseln K 1 und K 2 in F. Dann sind F und F {R} äquivalent. Beweis. Sei A eine Belegung. ilt A = F {R}, so gilt sofort auch A = F. (Warum?) elte umgekehrt A = F, d.h. es ist A = K für alle Klauseln K F. Sei R = (K 1 {L}) (K 2 {L}) mit K 1, K 2 F und L K 1, L K 2. Nun gibt es zwei Fälle: 1 A = L. Dann folgt A = K 2 {L} aus A = K 2 und A = L. 2 A = L. Dann folgt A = K 1 {L} aus A = K 1. In beiden Fällen folgt A = R und damit insgesamt A = F {R}. Frank Heitmann heitmann@informatik.uni-hamburg.de 25/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 26/45 rundlagen und rundlagen und Ein Lemma/Korollar Lemma Sei F eine Formel in KNF als Klauselmenge. Dann gilt F Res 1 (F ) Res 2 (F )... Res n (F )... Res (F ) Beweis. Folgt sofort aus dem slemma von eben... Satz (ssatz) Eine Klauselmenge F ist unerfüllbar genau dann, wenn Res (F ) gilt. Beweis Angenommen Res (F ). Wir wollen zeigen, dass F unerfüllbar ist. Zunächst kann nur durch die zweier Klauseln K 1 = {L} und K 2 = {L} entstanden sein. Wegen der Definition von Res (F ) muss es wegen Res (F ) ferner ein n geben mit Res n (F ) und damit auch K 1, K 2 Res n (F ). Da keine Belegung sowohl K 1 als auch K 2 erfüllen kann, ist Res n (F ) unerfüllbar und damit wegen F Res n (F ) aus dem vorherigen Lemma auch F. Dies zeigt die Korrektheit der. Frank Heitmann heitmann@informatik.uni-hamburg.de 27/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 28/45

rundlagen und rundlagen und Fortsetzung des Beweises Fortsetzung des Beweises Beweis Sei nun F als unerfüllbar angenommen. Wir wollen Res (F ) zeigen. Dies gelingt mittels Induktion über die Anzahl n der in F vorkommenden atomaren Formeln. Induktionsanfang. ist n = 0, so ist F = { } und wegen F Res (F ) ist F Res (F ). Induktionsannahme. Angenommen für jede Klauselmenge, die nur n atomare Formeln enthält und die unerfüllbar ist, gilt Res (). Induktionsschritt. Sei F eine unerfüllbare Formelmenge, die die atomaren Formeln A 1,..., A n+1 enthält. Zunächst konstruieren wir zwei Formeln F 0 und F 1 wie folgt: Idee: Für F 0 belegen wir A n+1 mit 0 und vereinfachen. F 0 entsteht aus F, indem wir jedes Vorkommen von A n+1 in einer Klausel streichen und bei Vorkommen von A n+1 die ganze Klausel streichen. Beweis F 1 entsteht aus F, indem wir jedes Vorkommen von A n+1 in einer Klausel streichen und bei Vorkommen von A n+1 die ganze Klausel streichen. Auf F 0 und F 1 ist nun die Induktionsannahme anwendbar wenn wir denn zeigen können, dass sie unerfüllbar sind! Angenommen F 0 hat eine Belegung A, die F 0 erfüllt. Dann ist aber A mit A (B) = A(B) für die B {A 1,..., A n } und A (A n+1 ) = 0 eine erfüllende Belegung für F im Widerspruch zur Unerfüllbarkeit von F. (Analog für F 1.) Es gilt also Res (F 0 ) und Res (F 1 ) nach Induktionsannahme. Idee: Für F 1 belegen wir A n+1 mit 1 und vereinfachen.... Frank Heitmann heitmann@informatik.uni-hamburg.de 29/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 30/45 rundlagen und rundlagen und Fortsetzung des Beweises Fortsetzung des Beweises Beweis D.h., es gibt für F 0 Klauseln K 1,..., K m mit K m = und für i = 1,..., m gilt K i F 0 oder K i ist Resolvente von K a, K b, a, b < i Ebenso gibt es für F 1 Klauseln K 1,..., K t. Wir stellen nun durch Wiedereinführung von A n+1 in die Klauseln K 1,..., K m dort, wo es gestrichen wurde, die ursprünglichen Klauseln wieder her und erhalten so eine Folge von Klauseln, die {A n+1 } Res (F ) bezeugt. Zwei Anmerkungen: Beweis. Ebenso erhält man aus den K 1,..., K t durch Wiedereinführen von A n+1 dort, wo es gelöscht wurde eine Folge, die { A n+1 } Res (F ) bezeugt (Mit analogen Anmerkungen wie eben.) Insg. haben wir damit {A n+1 } Res (F ) und { A n+1 } Res (F ). Die Resolvente dieser beiden Klauseln bezeugt dann Res (F ). Dies zeigt die Vollständigkeit der und schließt den Beweis des ssatzes ab. 1 ilt hier bereits Res (F ), so sind wir bereits fertig! Dies tritt auf, wenn in keiner der Klauseln K 1,..., K m ein A n+1 auftritt. 2 Zur Herstellung von F 0 wurden die Klauseln mit A n+1 gestrichen, diese treten also bei den K 1,..., K m nicht auf! Frank Heitmann heitmann@informatik.uni-hamburg.de 31/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 32/45

Anmerkung rundlagen und Fragen rundlagen und Nebenbemerkung Im Beweis gehen wir von einer endlichen Klauselmenge F aus. Der Beweis geht auch mit einer unendlichen Klauselmenge benötigt dann aber den Endlichkeitssatz, den wir bisher noch nicht gezeigt haben (siehe Logik für Informatiker von Uwe Schöning, Kapitel 1.4). Endlichkeitssatz Eine Menge M von Formeln ist genau dann erfüllbar, wenn jede endliche Teilmenge von M erfüllbar ist. besagte: Eine Klauselmenge F ist unerfüllbar genau dann, wenn Res (F ) gilt. Welche Richtung war dabei die Korrektheit? 1 Wenn Res (F ), dann ist F unerfüllbar. 2 Wenn F unerfüllbar ist, dann ist Res (F ). Frank Heitmann heitmann@informatik.uni-hamburg.de 33/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 34/45 Fragen rundlagen und Fragen rundlagen und Das slemma besagte: Sei F eine Formel in KNF und R eine Resolvente zweier Klauseln K 1 und K 2 in F. Dann sind F und F {R} äquivalent. An welcher Stelle im Beweis des ssatzes wird dies gebraucht? 1 Beim Korrektheitsbeweis 2 Beim Vollständigkeitsbeweis 3 Wird an dieser Stelle nicht benötigt Beim Beweis der Vollständigkeit wird im ssatz eine Induktion gemacht. Worüber? 1 Strukturelle Induktion über den Formelaufbau der Formel F 2 Strukturelle Induktion über den Formelaufbau der Resolvente R 3 Vollständige Induktion über die Länge der Formel F 4 Vollständige Induktion über die Anzahl der Quantoren in F 5 Vollständige Induktion über die Anzahl der Aussagensymbole in F Frank Heitmann heitmann@informatik.uni-hamburg.de 35/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 36/45

rundlagen und rundlagen und Zur Nachbereitung salgorithmus Ein Algorithmus zur sbildung: Zur Nachbereitung 1 1. 2 1. 3 5. (enauer: Die Anzahl der verschiedenen Aussagensymbole/atomaren Formeln in F ) Algorithmus 1 salgorithmus 1: Input: Eine Formel F in KNF 2: Bilde zu F eine Klauselmenge (auch F genannt) 3: repeat 4: := F 5: F := Res(F ) 6: until ( F ) or (F = ) 7: if F then 8: return F ist unerfüllbar 9: else 10: return F ist erfüllbar 11: end if Frank Heitmann heitmann@informatik.uni-hamburg.de 37/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 38/45 rundlagen und rundlagen und Termination Zum Algorithmus Der salgorithmus terminiert aufgrund des folgenden Satzes: Satz Für jede endliche Klauselmenge F gibt es ein k 0 mit Beweis. Res k (F ) = Res k+1 (F ) =... = Res (F ) Enthalte F die n atomaren Formeln A 1,..., A n. Da jede dieser n Formeln in einer Klausel positiv vorkommen kann, negativ vorkommen kann, positiv und negativ vorkommen kann oder gar nicht vorkommen kann, gibt es vier Möglichkeiten wie sie in einer Klausel auftreten kann und damit maximal 4 n viele Klauseln, die aus A 1,..., A n aufgebaut sein können und die in Res (F ) vorkommen können. Da in einem Schritt von Res i (F ) zu Res i+1 (F ) mindestens eine Klausel hinzukommen muss, muss k 4 n gelten. Man muss nicht alle Resolventen bilden, wenn man Res (F ) zeigen will! Der salgorithmus ist in einigen Fällen sehr schnell in anderen müssen (exponentiell) viele Klauseln erzeugt werden. I.A. ist der Algorithmus also bzgl. der Laufzeit mit dem Aufstellen der Wahrheitstafeln vergleichbar. Dies ist auch wenig überraschend: SAT ist NP-vollständig! Dennoch gibt es nun Verfahren, deren Ziel es ist, die zu verbessern. Diese Verfahren sind meist wieder korrekt und vollständig, schränken aber die Möglichkeiten Resolventen zu bilden ein - und werden dadurch meist schneller und übersichtlicher. I.A. benötigen sie aber wie oben exponentielle Laufzeit. Frank Heitmann heitmann@informatik.uni-hamburg.de 39/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 40/45

rundlagen und rundlagen und Verfeinerungen Verfeinerung Definition (P-) Eine Klausel heißt positiv, wenn sie nur positive Literale enthält. Bei der P- darf nur dann eine Resolvente aus den Klauseln K 1 und K 2 gebildet werden, wenn eine der beiden Klauseln positiv ist. Definition (N-) Eine Klausel heißt negativ, wenn sie nur negative Literale enthält. Bei der N- darf nur dann eine Resolvente aus den Klauseln K 1 und K 2 gebildet werden, wenn eine der beiden Klauseln negativ ist. Definition (Einheitsresolution) Bei der Einheitsresolution darf nur dann eine Resolvente aus den Klauseln K 1 und K 2 gebildet werden, wenn mindestens eine der beiden Klauseln aus nur genau einem Literal besteht. Satz Einheitsresolution ist vollständig für die Klasse der Hornformeln, aber nicht für beliebige KNF-Formeln. (Korrekt ist sie weiterhin.) Satz P- und N- ist vollständig (und weiterhin korrekt). Frank Heitmann heitmann@informatik.uni-hamburg.de 41/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 42/45 Aussagenlogik Aussagenlogik Wir hatten: Dies schließt die Aussagenlogik zunächst ab. Syntax der Aussagenlogik inkl. strukturelle Induktion strukturelle Rekursion Semantik der Aussagenlogik Belegung, Wahrheitstafel Kategorien (Tautologie etc.) Weitere wichtige (semantische) Begriffe waren Folgerbarkeit Äquivalenz (inkl. der zugehörigen Sätze). Darauf aufbauen dann: Herstellung einer KNF/DNF durch Äquivalenzumforungen mittels Wahrheitstafeln Frank Heitmann heitmann@informatik.uni-hamburg.de 43/45 Frank Heitmann heitmann@informatik.uni-hamburg.de 44/45

Aussagenlogik Die effiziente Berechnung von (Un-)Erfüllbarkeit und Folgerbarkeiten rückte dann ins Zentrum. Dazu haben wir Hornformeln kennengelernt, die eine Einschränkung der Aussagenlogik sind, dafür aber einen effizienten (Un-)Erfüllbarkeitstest erlauben und (spezielles Ableitungsverfahren) kennengelernt. Literaturhinweis Alle obigen Themen werden im Buch Logik für Informatiker von Uwe Schöning, an dem sich dieser Vorlesungsteil orientiert, behandelt. Frank Heitmann heitmann@informatik.uni-hamburg.de 45/45