Prädikatenlogische Entscheidbarkeitsprobleme

Ähnliche Dokumente
Logik-Programme. Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat

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

Einiges zu Resolutionen anhand der Aufgaben 6 und 7

Logik für Informatiker

Logik-Grundlagen. Syntax der Prädikatenlogik

Logik für Informatiker

Logik für Informatiker

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Grundlagen der Künstlichen Intelligenz

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

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

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Resolutionsalgorithmus

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

Tableaukalkül für Aussagenlogik

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

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

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

Logik für Informatiker

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1)

Grundlagen der Theoretischen Informatik

Logik für Informatiker

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Klausur zur Vorlesung Mathematische Logik

Logische und funktionale Programmierung

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:

Eigenschaften der Resolution für PL1 Formeln

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Allgemeingültige Aussagen

WS 2013/14. Diskrete Strukturen

Hauptklausur zur Vorlesung Logik für Informatiker im Sommersemester 2012 Lösung

Beweisen mit Semantischen Tableaux

1 Aussagenlogischer Kalkül

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Aussagenlogische Kalküle

Algorithmischer Aufbau der Aussagenlogik

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Einführung in die Logik

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe

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

Logik Vorlesung 3: Äquivalenz und Normalformen

TU5 Aussagenlogik II

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

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

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

Logik Vorlesung 10: Herbrand-Theorie

3. Grundlegende Begriffe von Logiken - Aussagenlogik

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

Logik für Informatiker

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

Martin Kreuzer Stefan Kühling Logik für Informatiker

wenn es regnet ist die Straße nass.

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Wissensbasierte Systeme

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

Schlussregeln aus anderen Kalkülen

Ersetzbarkeitstheorem

Prolog. Kapitel Syntax und Semantik von Prolog

Beispiel Aussagenlogik nach Schöning: Logik...

Logik für Informatiker

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

Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden

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

Abschluss unter Operationen

Theoretische Informatik SS 03 Übung 11

Normalformen der Prädikatenlogik

Algorithmen für Hornlogik

1 Aussagenlogische Formeln

Logic in a Nutshell. Christian Liguda

Hilbert-Kalkül (Einführung)

Grundlagen der Programmierung

Grundlagen der Theoretischen Informatik

Übungsblatt Nr. 5. Lösungsvorschlag

Das Postsche Korrespondenzproblem

Grundthema: Operationalisierung logischer Sprachen, d.h. automatische Ermittlung von Wahrheitswerten bzw. Beweis logischer Formeln.

Berechenbarkeit. Script, Kapitel 2

Informatik-Grundlagen

Lineare Algebra I (WS 13/14)

Ausgewählte unentscheidbare Sprachen

Zusammenfassung der Vorlesung. Mathematische Logik. Bodo von der Heiden Letzte Aktualisierung: 2. Februar 2005

Logik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010

Logik Teil 1: Aussagenlogik

Logische Programmierung Einführende Beispiele

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 9.

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

17 Lineare Abbildungen

Theoretische Informatik

Logikprogrammierung. gehalten von Prof Dr. Jürgen Giesl im Sommersemester 2006 an der RWTH Aachen

3. Prädikatenlogik. Im Sinne der Aussagenlogik sind das verschiedene Sätze, repräsentiert etwa durch A, B, C. Natürlich gilt nicht: A B = C

Aufgabe - Fortsetzung

wichtiger, effizient zu behandelnder Spezialfall (benannt nach Alfred Horn)

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

Unvollständigkeit der Arithmetik

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Prolog basiert auf Prädikatenlogik

Transkript:

Prädikatenlogische Entscheidbarkeitsprobleme Erfüllbarkeitsproblem: Gegeben: prädikatenlogischer Ausdruck A über einer Signatur S Frage: Ist A erfüllbar? Gültigkeitsproblem: Gegeben: prädikatenlogischer Ausdruck A über einer Signatur S Frage: Ist A allgemeingültig? Unerfüllbarkeitsproblem: Gegeben: prädikatenlogischer Ausdruck A über einer Signatur S Frage: Ist A unerfüllbar? Logik - Prädikatenlogik 59

Algorithmus und Entscheidbarkeit Ein Algorithmus überführt in endlicher Zeit die Eingabedaten in eine Antwort ja oder nein und besteht aus einer Folge von Anweisungen mit folgenden Eigenschaften: es gibt eine eindeutig festgelegte Anweisung, die als erste auszuführen ist, nach Abarbeitung einer Anweisung gibt es eine eindeutig festgelegte Anweisung, die als nächste abzuarbeiten ist, oder die Abarbeitung des Algorithmus ist beendet. Ein Problem heißt entscheidbar, wenn es einen Algorithmus zu seiner Lösung gibt, d.h. einen Algorithmus, der auf die Frage die korrekte Antwort ja oder nein gibt. Falls kein Algorithmus zur Lösung existiert, heißt das Problem unentscheidbar. Logik - Prädikatenlogik 60

Unentscheidbarkeit in der Prädikatenlogik Satz: Das Gültigkeitsproblem der Prädikatenlogik ist unentscheidbar, d.h. es gibt keinen Algorithmus, der für einen beliebigen prädikatenlogischen Ausdruck A feststellt, ob A eine Tautologie ist. Satz: Das Unerfüllbarkeitsproblem der Prädikatenlogik ist unentscheidbar, d.h. es gibt keinen Algorithmus, der für einen beliebigen prädikatenlogischen Ausdruck A feststellt, ob A unerfüllbar ist. Satz: Das Erfüllbarkeitsproblem der Prädikatenlogik ist unentscheidbar, d.h. es gibt keinen Algorithmus, der für einen beliebigen prädikatenlogischen Ausdruck A feststellt, ob A erfüllbar ist. Logik - Prädikatenlogik 61

Semi-Algorithmus Wir nennen ein Verfahren zur Entscheidung einer Eigenschaft E einen Semi-Algorithmus, wenn es auf einer Eingabe X mit Eigenschaft E nach einer endlichen Anzahl von Schritten antwortet, dass X die Eigenschaft E hat und auf einer Eingabe, die die Eigenschaft E nicht hat, keine Antwort gibt. Logik - Prädikatenlogik 62

Unifikator Definition: i) Eine Substitution s heißt Unifikator der Menge L = {L 1, L 2,... L r } von Literalen, falls s(l 1 ) = s(l 2 ) =... = s(l r ) gelten. ii) Eine Substitution s heißt allgemeinster Unifikator von L, falls für jeden Unifikator s von L eine Substitution s mit s = s s existiert. Satz: Jede unifizierbare Menge von Literalen besitzt einen allgemeinsten Unifikator. Logik - Prädikatenlogik 63

Algorithmus für den allgemeinsten Unifikator Eingabe: nichtleere Menge L = {L 1, L 2,..., L r } von Literalen s = id; while (s(l i ) s(l j ) für gewisse 1 i < j k) { Durchsuche die Literale von s(l i ) und s(l j ) von links nach rechts, bis erste Position a gefunden ist, an der sich mindestens zwei Literale unterscheiden; if (keines der Zeichen ist eine Variable) Stoppe mit L ist nicht unifizierbar ; else { x = Variable in a; t = Term, der in a beginnt; if (x kommt in t vor) Stoppe mit L ist nicht unifizierbar ; else s = s [x/t]; } } Gib s als allgemeinsten Unifikator aus Logik - Prädikatenlogik 64

Unifikationsalgorithmus Beispiel Literale: L 1 = P (f(z, g(a, y)), h(z)) L 2 = P (f(f(u, v), w), h(f(a, b))) Unterschied an der sechsten Position: Substitution s 1 = [z/f(u, v)] s 1 (L 1 ) = P (f(f(u, v), g(a, y)), h(f(u, v))) s 1 (L 2 ) = P (f(f(u, v), w), h(f(a, b))) Unterschied an der elften Position: Substitution s 2 = [w/g(a, y)] s 2 (s 1 (L 1 )) = P (f(f(u, v), g(a, y)), h(f(u, v))) s 2 (s 1 (L 2 )) = P (f(f(u, v), g(a, y)), h(f(a, b))) Logik - Prädikatenlogik 65

Unifikationsalgorithmus Beispiel Fortsetzung Literale: s 2 (s 1 (L 1 )) = P (f(f(u, v), g(a, y)), h(f(u, v))) s 2 (s 1 (L 2 )) = P (f(f(u, v), g(a, y)), h(f(a, b))) Unterschied bei sechstletzten Buchstaben: Substitution s 3 = [u/a] s 3 (s 2 (s 1 (L 1 ))) = P (f(f(a, v), g(a, y)), h(f(a, v))) s 3 (s 2 (s 1 (L 2 ))) = P (f(f(a, v), g(a, y)), h(f(a, b))) Unterschied bei viertletzten Buchstaben: Substitution s 4 = [v/b] s 4 (s 3 (s 2 (s 1 (L 1 )))) = P (f(f(a, b), g(a, y)), h(f(a, b))) s 4 (s 3 (s 2 (s 1 (L 2 )))) = P (f(f(a, b), g(a, y)), h(f(a, b))) allgemeinsten Unifikator von L 1 und L 2 : s 1 s 2 s 3 s 4 = [z/f(u, v)] [w/g(a, y)] [u/a] [v/b] Logik - Prädikatenlogik 66

Prädikatenlogische Resolution Definition I Definition: Es seien K 1, K 2 und R Mengen von prädikatenlogischen Literalen. Dann heißt R prädikatenlogische Resolvente von K 1 und K 2, falls folgende Bedingungen erfüllt sind: Es gibt Substitutionen s 1 und s 2, die nur Variablenumbenennugen sind, so dass s 1 (K 1 ) und s 2 (K 2 ) keine gemeinsamen Variablen haben. Es gibt Literale L 1,..., L m s 1 (K 1 ), m 1, und L 1,..., L n s 2 (K 2 ), n 1, so dass die Menge L = { L 1, L 2,..., L m, L 1, L 2,..., L n} unifizierbar ist. s sei der allgemeinste Unifikator von L. Es gilt R = s((s 1 (K 1 )\{L 1, L 2,..., L m }) (s 2 (K 2 )\{L 1, L 2,..., L n})) Logik - Prädikatenlogik 67

Prädikatenlogische Resolution Definition II Definition: Für eine Menge F von Mengen von Literalen setzen wir Res(F) = F {R R ist Resolvente gewisser K F und K F}, Res 0 (F) = F, Res n (F) = Res(Res n 1 (F)) für n 1 und Res (F) = n 0 Res n (F). Logik - Prädikatenlogik 68

Prädikatenlogische Resolution Resultate Lemma: (Lifting-Lemma) Seien K 1 und K 2 zwei prädikatenlogische Klauseln und K 1 und K 2 zugehörige (beliebige) Grundinstanzen. Ferner sei R eine (aussagenlogische) Resolvente von K 1 und K 2. Dann gibt es eine prädikatenlogische Resolvente R von K 1 und K 2 so, dass R Grundinstanz von R ist. K 1 K 2 K 1 K 2 K 1 K 2 R R R Satz: Ein prädikatenlogischer Ausdruck A = x 1 x 2... x n A in bereinigter Skolemform, bei dem A in konjunktiver Normalform vorliegt, ist A genau dann unerfüllbar, wenn die leere Menge in Res (A) liegt. Logik - Prädikatenlogik 69

Lineare Resolutionen I Definition: Die Resolution einer Klausel R aus einer Klauselmenge K heißt linear, falls es Klauseln R 0, R 1, R 2,..., R n so gibt, dass gelten. R 0 K, R i res(r i 1, C i 1 ) mit C i 1 K {R 1, R 2,..., R i 1 }, 1 i n Satz: Sei A = x 1 x 2... x n A ein prädikatenlogischer Ausdruck in bereinigter Skolemform, bei dem A in konjunktiver Normalform vorliegt. Dann ist A genau dann unerfüllbar, wenn es eine lineare Resolution für die leere Menge aus der Klauselmenge zu A gibt. Logik - Prädikatenlogik 70

Lineare Resolutionen II Definition: Eine Klauselmenge K heißt minimal unerfüllbar, wenn sie unerfüllbar ist und für jede Klausel K K die Menge K \ {K} erfüllbar ist. Satz: Sei A = x 1 x 2... x n A ein prädikatenlogischer Ausdruck in bereinigter Skolemform, bei dem A in konjunktiver Normalform vorliegt. Ferner sei die zu A gehörende Klauselmenge minimal unerfüllbar. Dann gibt es für jede Klausel K von A eine lineare Resolution für die leere Menge aus der Klauselmenge zu A, bei der R 0 = K gilt. Logik - Prädikatenlogik 71

SDL-Resolutionen Definition: i) Wir sagen, dass eine Klausel negativ ist, wenn alle Literale negierte Basisausdrücke sind. Eine Klausel heißt definit, wenn genau ein Literal ein nichtnegierter Basisausdruck ist. ii) Eine lineare Resolution heißt SLD Resolution, falls R 0 Klausel ist und C i 1 für 1 i n eine definite Klausel ist. eine negative Definition: Ein quantorenfreier prädikatenlogischer Ausdruck A in konjunktiver Normalform heißt Hornausdruck, falls jede Alternative höchstens einen nichtnegierten Basisausdruck enthält. Satz: Sei A = x 1 x 2... x n A ein prädikatenlogischer Ausdruck in bereinigter Skolemform, bei dem A ein Hornausdruck ist. Dann ist A genau dann unerfüllbar, wenn es eine SLD-Resolution für die leere Menge aus der Klauselmenge zu A gibt. Logik - Prädikatenlogik 72

Logik-Programme Definition: Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat die Form {P }. Eine Prozedurklausel ist eine Klausel der Form {P, Q 1, Q 2,..., Q k } mit k 1. P hei+t Prozedurkopf, und Q 1, Q 2,..., Q k bilden den Prozedurkörper. Ein Logik-Programm ist eine endliche Menge von Tatsachen- und Prozedurklauseln. Eine Zielklausel ist eine Klausel der Form { Q 1, Q 2,..., Q k } mit k 1. Logik - Prädikatenlogik 73

Konfigurationen und ihre Übergänge Definition: Es sei F ein Logik-Programm. i) Eine Konfiguration ist ein Paar (G, sub), wobei G eine Zielklausel und sub eine Substitution ist. ii) Wir sagen, dass die Konfiguration (G, sub) bez. F in die Konfiguration (G, sub ) überführt wird (und schreiben (G, sub) F (G, sub )), falls folgende Bedingungen erfüllt sind: G = { Q 1, Q 2,..., Q k } es gibt in F eine Klausel K = {P, A 1, A 2,..., A n }, n 0, und ein i, 1 i n, so dass B (nach einigen Umbenennungen) mit Q i unifizierbar ist, G = s({ Q 1,..., Q i 1, A 1,..., A n, Q i+1,..., Q k }, wobei s der allgemeinste Unifikator von B und Q i ist, sub = sub s. Logik - Prädikatenlogik 74

Berechnungen Definition: Es seien F ein Logik-Programm und G = { Q 1,..., Q k } eine Zielklausel. i) Eine Berechnung von F bei Eingabe von G ist eine Folge der Form (G, id) F (G 1, sub 1 ) (G 2, sub 2 ) F... F (G n, sub n ) F.... ii) Falls eine Rechnung endlich ist und für das letzte Glied (G n, sub) der Folge G n = gilt, so heißt die Berechnung erfolgreich und sub(q 1 Q 2... Q k ) ist das Ergebnis der Rechnung. n ist die Länge der Berechnung. Logik - Prädikatenlogik 75

Korrektheit und Vollständigkeit Satz: Seien F ein Logik-Programm und G eine Zielklausel. Falls es eine erfolgreiche Rechnung von F bei Eingabe von G gibt, so ist jede Grundinstanz des Rechenergebnisses eine Folgerung von F. Satz: Seien F ein Logik-Programm und G = { Q 1,..., Q k } eine Zielklausel. Falls jede Grundinstanz von (Q 1... Q k )eine Folgerung von F ist, so gibt es eine erfolgreiche Rechnung von F bei Eingabe von G mit dem Ergebnis sub(q 1 Q 2... Q k ), und für jede Grundinstanz sub (Q 1 Q 2... Q k ) gibt es eine Substitution s mit sub (Q 1 Q 2... Q k ) = s(sub(q 1 Q 2... Q k )). Logik - Prädikatenlogik 76

Vertauschungslemma I Seien C = { C 1, C 2,..., C r } und E = { E 1, E 2,..., E s } mit r 0 und s 0 und eine Resolution { A 1, A 2,... A n } {B} C sub 1 ({ A 1,..., A i 1, C, A i+1,... A n }) {D} E sub 2 (sub 1 ({ A 1,..., A i 1, C, A i+1,... A j 1, E, A j+1,... A n })) gegeben. Logik - Prädikatenlogik 77

Vertauschungslemma II Dann gibt es auch die Resolution { A 1, A 2,... A n } {D} E sub 1 ({ A 1,..., A j 1, E, A j+1,... A n }) {B} C sub 2 (sub 1 ({ A 1,..., A i 1, C, A i+1,... A j 1, E, A j+1,... A n })) wobei sogar bis auf Variablenbenennungen gilt. sub 1 sub 2 = sub 1 sub 2 Logik - Prädikatenlogik 78

Kanonische Berechnungen Definition: Seien F ein Logik-Programm und G eine Zielklausel. Eine Rechnung von F bei Eingabe von G heißt kanonisch, falls in jeder Konfigurationsüberführung (G, sub ) F (G, sub ) der Rechnung nach dem ersten (d.h. dem am weitesten links stehenden) Literal von G resolviert wird. Satz: Seien F ein Logik-Programm und G eine Zielklausel. Falls es eine erfolgreiche Rechnung R von F bei Eingabe von G gibt, so gibt es auch eine erfolgreiche kanonische Rechnung R von F bei Eingabe von G, so dass R und R die gleiche Länge haben und das gleiche Ergebnis liefern. Logik - Prädikatenlogik 79

Vollständigkeit von Strategien Definition: Eine Strategie heißt vollständig, wenn es für jedes Logik- Programm F und jede Zielklausel G, für die es eine erfolgreiche Berechnung von F bei Eingabe von G gibt, auch eine erfolgreiche Berechnung von F bei Eingabe von G mittels der Strategie gibt. Satz: Die Breitensuche ist eine vollständige Strategie. Satz: Die Tiefensuche ist keine vollständige Strategie. Logik - Prädikatenlogik 80