Logische und funktionale Programmierung

Ähnliche Dokumente
Logische und funktionale Programmierung

Logische und funktionale Programmierung

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Formale Grundlagen der Informatik 1 Kapitel 21 Prädikatenlogische Resolution

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

Formale Grundlagen der Informatik 3 Kapitel 4 Prädikatenlogik Resolution

Herbrand-Universum. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Herbrand-Universum. Herbrand-Universum

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

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

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

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

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

Ralf Möller, TUHH. Beim vorigen Mal: Heute: Prädikatenlogik: Algorithmus für Erfüllbarkeitsproblem. Lernziele: Beweisverfahren für Prädikatenlogik

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

Logik für Informatiker

Logik für Informatiker

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

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik für Informatiker

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

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

Logik für Informatiker

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Logik Vorlesung 5: Grundlagen Resolution

Klausur zur Vorlesung Logik für Informatiker Sommersemester 2017

Klauselmengen. Definition Sei

Sogar Strukturen mit unendlichem Universum müssen betrachtet werden:

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

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

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Logische und funktionale Programmierung

Logik für Informatiker Logic for Computer Scientists

Logik für Informatiker

Prädikatenlogische Entscheidbarkeitsprobleme

Logik für Informatiker

Logik für Informatiker

Logik Vorlesung 11: Herbrand-Theorie II

Logik-Grundlagen. Syntax der Prädikatenlogik

Ersetzbarkeitstheorem

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

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

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

Formale Systeme, WS 2008/2009 Lösungen zum Übungsblatt 2

Theoretische Informatik: Logik

Kapitel L:III. III. Prädikatenlogik

Resolutionsalgorithmus

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

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Beispiel Aussagenlogik nach Schöning: Logik...

7. Prädikatenlogik. Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit.

Logik für Informatiker

How To Prove A Propositional Logic

Logik für Informatiker

Logik für Informatiker

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

Logik für Informatiker

TU9 Aussagenlogik. Daniela Andrade

TU5 Aussagenlogik II

Substitution. Unifikation. Komposition der Substitution. Ausführung der Substitution

Logik für Informatiker

Grundlagen der Logik

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Formale Systeme, WS 2012/2013. Lösungen zu Übungsblatt 7

Logik für Informatiker

FO-Klauselmengen Abschnitt 5.1. Logik-Kalküle. Klauselmengen und universell-pränexe Sätze. Übersetzungs-Beispiel

Logik für Informatiker

Logik für Informatiker

Hilbert-Kalkül (Einführung)

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

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

Resolution für die Aussagenlogik

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

Formale Systeme. Tableaukalku l (ohne Gleichheit) Prof. Dr. Bernhard Beckert, WS 2015/ KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK

Prädikatenlogik: Syntax

Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln

1 Aussagenlogik AL: Verknüpfung von Aussagen

Logik für Informatiker

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

Vorlesung Logik SoSe 2014

Wissensbasierte Systeme 7. Prädikatenlogik

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beweisen mit Semantischen Tableaux

Terme. Dann ist auch f(t 1. Terme. Dann ist P (t 1

Klausur Formale Systeme Fakultät für Informatik 2. Klausur zum WS 2010/2011

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

Mathematische Grundlagen

Kochrezept für NP-Vollständigkeitsbeweise

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

Musterlösung der Klausur zur Vorlesung Logik für Informatiker

Kapitel L:III. III. Prädikatenlogik

Deduktion in der Aussagenlogik

Tableaukalkül für Aussagenlogik

Formale Systeme. Prädikatenlogik: Tableaukalkül (ohne Gleichheit) Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

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

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Transkript:

Logische und funktionale Programmierung Vorlesung 2 und 3: Resolution Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 3. November 2017 1/43

HERBRAND-STRUKTUR Sei (Σ, ) eine Signatur. Eine Herbrand-Struktur (oder freie Struktur) hat dann die Gestalt (T(Σ), α), wobei für alle f Σ n mit n N gilt: α f (t 1,..., t n ) = f (t 1,..., t n ). Falls eine Herbrand-Struktur Modell einer Formel φ ist, so bezeichnen wir sie auch als Herbrand-Modell von φ. 2/43

BEISPIEL 3/43

BEISPIEL 4/43

ERFÜLLBARKEITSTEST DURCH HERBRAND-STRUKTUREN Der folgende Satz zeigt, dass man sich zur Untersuchung der Erfüllbarkeit in der Tat auf Herbrand-Strukturen beschränken kann. Hierzu muss man die ursprüngliche Formel zunächst in eine erfüllbarkeitsäquivalente Formel in Skolem-Normalform überführen. Satz Sei Φ F(Σ,, V) eine Menge von Formeln in Skolem-Normalform. Dann ist φ erfüllbar gdw. sie ein Herbrand-Modell besitzt. 5/43

Nachdem wir nun wissen, dass man zur Überprüfung der Unerfüllbarkeit einer Formel φ in Skolem-Normalform nur Herbrand-Strukturen betrachten muss, reduzieren wir dies nun auf die Überprüfung der Unerfüllbarkeit einer (unendlichen) Menge von Formeln ohne Variablen. Dies entspricht der Überprüfung der Unerfüllbarkeit für eine (unendliche) Menge aussagenlogischer Formeln. Die Idee hierzu besteht darin, alle in φ allquantifizierten Variablen mit allen möglichen Grundtermen zu instantiieren. Auf diese Weise entsteht die Herbrand-Expansion von φ. 6/43

HERBRAND EXPANSION Sei φ F(Σ,, V) eine Formel in Skolem-Normalform, wobei φ = X 1,..., X n ψ für eine quantorfreie Formel ψ. Die folgende Formelmenge E(φ) wird als Herbrand-Expansion von φ bezeichnet: E(φ) = {ψ[x 1 /t 1,..., X n /t n ] t 1,..., t n T(Σ)}. Die Herbrand-Expansion einer Formel X 1,..., X n ψ ist also die Menge aller Grundinstanzen von ψ. 7/43

BEISPIEL Wir betrachten die Formel φ: XmutterVon(renate, susanne) muttervon(x, susanne) deren Unerfüllbarkeit gezeigt werden muss, um nachzuweisen, dass die Anfrage? muttervon(x, susanne). aus dem Logikprogramm mit dem Faktum muttervon(renate, susanne). folgt. Wir erhalten hier E(φ) = {muttervon(renate, susanne) muttervon(karin, susanne), muttervon(renate, susanne) muttervon(renate, susanne), muttervon(renate, susanne) muttervon(datum(karin, werner, 1982), susanne),... }. 8/43

ERFÜLLBARKEIT DER HERBRAND-EXPANSION Sei φ eine Formel in Skolem-Normalform. Dann ist φ erfüllbar gdw. E(φ) erfüllbar ist. 9/43

Pradikatenlogische Formeln ohne Variablen entsprechen aussagenlogischen Formeln. Der Grund ist, dass man jede atomare Teilformel p(t 1,..., t n ) als aussagenlogische Variable ansehen kann, die entweder wahr oder falsch sein kann. Es genügt zu untersuchen, ob die Menge E(φ) ein Herbrand-Modell hat. Herbrand-Strukturen unterscheiden sich nur in der Deutung der Prädikatssymbole und bei variablenfreien Formeln bedeutet die Suche nach einem Herbrand-Modell nichts anderes als die Suche nach einer aussagenlogischen Belegung der aussagenlogischen Variablen p(t 1,..., t n ) mit wahr oder falsch. Die Frage nach der Unerfüllbarkeit einer Formel ist jetzt also reduziert worden auf die Suche nach einer erfüllenden Belegung für eine (im Allgemeinen unendliche) Menge aussagenlogischer Formeln. 10/43

BEISPIEL Wir betrachten noch einmal die Herbrand-Expansion der Formel φ aus dem obigen Beispiel. Ersetzt man hier jede atomare Formel p(t 1,..., t n ) ohne Variablen durch eine aussagenlogische Variable V p(t1,...,t n), so ergibt sich aus E(φ) die folgende unendliche Menge aussagenlogischer Formeln: {V muttervon(renate,susanne) V muttervon(karin,susanne), V muttervon(renate,susanne) V muttervon(renate,susanne), V muttervon(renate,susanne) V muttervon(datum(karin,werner,1982),susanne),... }. Die Formel φ und damit E(φ) ist nun genau dann erfüllbar, wenn es eine Belegung der aussagenlogischen Variablen V p(t1,...,t n) mit wahr oder falsch gibt, die die obige aussagenlogische Formelmenge erfüllt. 11/43

BEISPIEL Natürlich gibt es solch eine Belegung nicht, denn die Formel V muttervon(renate,susanne) V muttervon(renate,susanne) ist weder für die Belegung von V muttervon(renate,susanne) mit wahr noch mit falsch erfüllt. 12/43

ALGORITHMUS VON GILMORE Eingabe: Formeln φ 1,..., φ k, φ F(Σ,, V) Ziel: herauszufinden, ob {φ 1,..., φ k } = φ gilt. 13/43

ALGORITHMUS VON GILMORE Sei ψ die Formel φ 1 φ k φ. Es gilt {φ 1,..., φ k } = φ gdw. ψ unerfüllbar ist. Überführe ψ in Skolem-Normalform. Die entstehende Formel ist erfüllbarkeitsäquivalent zur ursprünglichen Formel. Wähle eine Aufzählung {ψ 1, ψ 2,... } = E( ψ) der Herbrand-Expansion von ψ und ersetze dabei alle atomaren Formeln durch aussagenlogische Variablen. E( ψ) ist genau dann (aussagenlogisch) erfüllbar, wenn ψ erfüllbar ist. Nach dem Kompaktheitssatz der Aussagenlogik ist dies genau dann der Fall, wenn alle endlichen Teilmengen von E( ψ) aussagenlogisch erfüllbar sind. 14/43

ALGORITHMUS VON GILMORE Prüfe, ob ψ 1, ψ 1 ψ 2, ψ 1 ψ 2 ψ 3,... aussagenlogisch erfüllbar sind (indem man alle möglichen Wahrheitsbelegungen der vorkommenden aussagenlogischen Variablen durchtestet). Sofern eine dieser Formeln nicht erfüllbar ist, brich ab und gib true zurück. 15/43

BEMERKUNG Dieser Algorithmus terminiert und liefert genau dann das Ergebnis true zurück, wenn {φ 1,..., φ k } = φ gilt. Sofern dies nicht gilt, terminiert der Algorithmus nicht. Der Nachteil des Algorithmus ist allerdings, dass er noch nicht sehr zielgerichtet vorgeht und daher noch sehr ineffizient ist. 16/43

GRUNDRESOLUTION KONJUNKTIVE NORMALFORM, LITERAL, KLAUSEL Definition Eine Formel ψ ist in konjunktiver Normalform (KNF) gdw. sie quantorfrei ist und die folgende Gestalt hat. (L 1,1 L 1,n1 )... (L m,1 L m,nm ). Hierbei sind die L i,j Literale, d.h., es sind atomare oder negierte atomare Formeln der Gestalt p(t 1,..., t k ) oder p(t 1,..., t k ). Zu einem Literal L definieren wir sein Negat L wie folgt: { A fallsl = A At(Σ,, V) L = A fallsl = AmitA At(Σ,, V) 17/43

Eine Menge von Literalen wird als Klausel bezeichnet. Jede Formel ψ in KNF wie oben entspricht der zugehörigen Klauselmenge K(ψ) = {{L 1,1,..., L 1,n1 },..., {L m,1,..., L m,nm }}. 18/43

Eine Klausel steht für die allquantifizierte Disjunktion ihrer Literale und eine Klauselmenge repräsentiert die Konjunktion ihrer Klauseln. Wir sprechen daher im Folgenden auch von Erfüllbarkeit und Folgerbarkeit von Klauselmengen. Falls nichts explizit anderes gesagt wird, betrachten wir im Folgenden stets nur endliche Klauselmengen. Die leere Klausel wird oft als geschrieben und sie ist nach Definition unerfüllbar. 19/43

ÜBERFÜHRUNG IN KNF Satz Zu jeder quantorfreien Formel ψ lässt sich automatisch eine Formel ψ in konjunktiver Normalform konstruieren, so dass ψ und ψ äquivalent sind. 20/43

21/43

AUSSAGENLOGISCHE RESOLUTION Definition Seien K 1 und K 2 variablenfreie Klauseln. Dann ist die Klausel R Resolvent von K 1 und K 2 gdw. es ein Literal L K 1 gibt mit L K 2 und R = (K1 \ {L}) (K 2 \ { L}). Für eine Klauselmenge K definieren wir Res(K) = K {R R ist Resolvent zweier Klauseln aus K}. Weiterhin sei Res 0 (K) = K und Res n+1 (K) = Res(Resn(K)) für alle n 0. Schließlich definieren wir die Menge der aus K durch Resolution herleitbaren Klauseln als Res (K) = n 0 Res n (K). 22/43

23/43

BEISPIEL 1 = {p, q}, Σ 0 = {a, b}, Σ 1 = {f } UND Σ 2 = {g} 24/43

AUSSAGENLOGISCHES RESOLUTIONSLEMMA Sei K eine Menge von variablenfreien Klauseln. Falls K 1, K 2 K und R Resolvent von K 1 und K 2 ist, dann sind K und K {R} äquivalent. 25/43

26/43

Nun können wir die Korrektheit und Vollständigkeit des aussagenlogischen Resolutionskalküls beweisen. Hierbei bedeutet Korrektheit, dass man mit der Resolution keine falschen Aussagen beweisen kann (d.h., dass die Klauselmenge tatsächlich unerfüllbar ist, wenn man die leere Klausel durch Resolution herleiten kann). Vollständigkeit bedeutet, dass alle wahren Aussagen durch Resolution beweisbar sind (d.h., dass man die leere Klausel aus jeder unerfüllbaren Klauselmenge durch Resolution herleiten kann). 27/43

KORREKTHEIT UND VOLLSTÄNDIGKEIT DER AUSSAGENLOGISCHEN RESOLUTION Satz Sei K eine möglicherweise unendliche Menge von variablenfreien Klauseln. Dann ist K unerfüllbar gdw. Res (K). 28/43

Nun können wir den Algorithmus von Gilmore zum Grundresolutionsverfahren verbessern. Wie in Schritt 1 und 2 des Algorithmus von Gilmore überführen wir das Folgerbarkeitsproblem zunächst in das Problem, die Unerfüllbarkeit einer Formel X 1,..., X n ψ in SkolemNormalform zu zeigen. Anschließend gehen wir wie folgt vor: 29/43

GRUNDRESOLUTIONSALGORITHMUS Überführe ψ in KNF bzw. in die entsprechende Klauselmenge K(ψ). Wähle eine Aufzählung {K 1, K 2,... } aller Grundinstanzen der Klauseln aus K(ψ). Dies entspricht der HerbrandExpansion von K(ψ), d.h., der Klauselmenge {σ(k) K K(ψ), σ ist Grundsubstitution, d.h., V(σ(K)) = }. Hierbei bedeutet die Anwendung einer Substitution auf eine Klausel, dass die Substitution auf alle Literale der Klausel angewendet wird. Berechne Res ({K 1 }), Res ({K 1, K 2 }), Res ({K 1, K 2, K 3 }),... Sofern eine dieser Mengen die leere Klausel enthält, brich ab und gib true zurück. 30/43

BEISPIEL Wir wollen die Unerfullbarkeit der folgenden Formel in SkolemNormalform zeigen, deren quantorfreier Teil ψ bereits in KNF vorliegt: X, Y( p(x) p(f (a)) q(y)) p(y) ( p(g(b, X)) q(b)) Damit erhält man die folgende Klauselmenge K(ψ): {{ p(x), p(f (a)), q(y)}, {p(y)}, { p(g(b, X)), q(b)}} Wir wählen nun eine Aufzählung {K 1, K 2, K 3, K 4,... } der Grundinstanzen der drei Klauseln, wobei K 1,..., K 4 die variablenfreien Klauseln sind. Wie im obigen Beispiel, kann man dann die leere Klausel herleiten und somit auch die Unerfüllbarkeit der ursprunglichen Formel zeigen. Man erkennt, dass hierbei sowohl K 2 als auch K 3 unterschiedliche Instanzen derselben Klausel {p(y)} sind. 31/43

BEISPIEL FORTSETZUNG Dies kann nötig sein, um die Unerfüllbarkeit beweisen zu können. Ebenso erkennt man auch, dass durch die Instanzenbildung mehrere Literale in einer Klausel gleich gemacht werden können. So ist K 1 eine Instanz der Klausel { p(x), p(f (a)), q(y)}, die aber nur noch zwei Literale enthält, da durch die Substitution von X durch f (a) die ersten beiden Literale der Klausel gleich gemacht werden. 32/43

KORREKTHEIT UND VOLLST ANDIGKEIT DES GRUNDRESOLUTIONSALGORITHMUS Satz 1 Falls eine Klauselmenge K unerfüllbar ist, dann existiert eine endliche Menge von Grundinstanzen von Klauseln aus K (d.h. eine endliche Teilmenge von {σ(k) K K(ψ), σ ist Grundsubstitution}), die ebenfalls unerfüllbar ist. 2 Sei X 1,..., X n ψ eine Formel in SkolemNormalform, wobei ψ in KNF ist. Dann ist X 1,..., X n ψ unerfüllbar gdw. es eine Folge von Klauseln K 1,..., K m gibt, so dass K m = ist und so dass für alle 1 i m gilt: K i ist Grundinstanz einer Klausel aus K(ψ) oder Ki ist ein Resolvent von K j und K k für j, k < i 33/43

Der Nachteil des Algorithmus ist allerdings, dass die Suche nach geeigneten Grundinstanzen noch nicht zielgerichtet verläuft und man daher auf sehr ineffiziente Weise alle Grundinstanzen durchprobieren muss. Es müssen z.b. Entscheidungen für einige der Grundsubstitutionen in vorausschauender Weise getroffen werden, um spätere Resolutionen zu ermöglichen. Dies legt eine Modifikation nahe, bei der man die Substitutionen zurückhaltend wählt und immer nur insoweit Substitutionen durchführt, wie dies für den direkt nachfolgenden Resolutionsschritt benötigt wird. Dazu erlaubt man jetzt statt Grundsubstitutionen auch Substitutionen mit beliebigen Termen. Dies führt zur prädikatenlogischen Resolution. 34/43

BEISPIEL p, q 1, f Σ 1 UND a Σ 0 35/43

BEISPIEL p, q 1, f Σ 1 UND a Σ 0 36/43

UNIFIKATION Definition Eine Klausel K = {L 1,..., L n } ist unifizierbar gdw. es eine Substitution σ mit σ(l 1 ) = = σ(l n ) gibt (d.h., σ(k) = 1). Solch eine Substitution heißt ein Unifikator von K. Ein Unifikator σ heißt allgemeinster Unifikator (most general unifier, mgu), falls es für jeden Unifikator Σ 0 eine Substitution δ gibt mit Σ 0 (X) = δ(σ(x)) für alle X V. 37/43

Falls eine Klausel unifizierbar ist, so existiert auch ein allgemeinster Unifikator, der bis auf Variablenumbenennungen eindeutig ist. 38/43

UNIFIKATIONSALGORITHMUS 39/43

BEISPIEL q 1, p 2, f, g Σ 2, h Σ 1 UND a Σ 0 40/43

BEISPIEL q 1, p 2, f, g Σ 2, h Σ 1 UND a Σ 0 41/43

BEISPIEL q 1, p 2, f, g Σ 2, h Σ 1 UND a Σ 0 42/43

BEISPIEL q 1, p 2, f, g Σ 2, h Σ 1 UND a Σ 0 43/43