Vorlesung “Logik” Sommersemester 2012 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Vorlesung “Logik”
Sommersemester 2012
Universität Duisburg-Essen
Barbara König
Übungsleitung: Christoph Blume
Barbara König
Logik
1
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Wir betrachten sogenannte Hornklauseln, bei denen höchstens ein
Literal positiv ist (analog zu den aussagenlogischen Hornformeln).
Das führt zu einfacheren Resolutionsbeweisen, die im wesentlichen
die Form von Ketten haben. Die dabei entstehenden
Substitutionen kann man aufsammeln und als Lösung präsentieren.
Auf dieser Idee basieren Logik-Programmiersprachen, wie
beispielsweise PROLOG.
Barbara König
Logik
230
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
Beispiel: wir betrachten folgende Formalisierung der Addition
F
= ∀x A(x, null, x) ∧
∀x∀y ∀z (A(x, y , z) → A(x, s(y ), s(z)))
Dabei ist A ein dreistelliges Prädikatsymbol mit der Bedeutung:
A(x, y , z) genau dann, wenn x + y = z.
Außerdem ist s eine einstellige Funktion, die die
Nachfolgerfunktion (successor function) darstellen soll. Eine
natürlich Zahl n soll so dargestellt werden:
s n (null) = s(s(. . . (s( null)) . . . ))
| {z }
n mal
Des weiteren soll die Konstante null die 0 repräsentieren.
Barbara König
Logik
231
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Wir wollen nun überprüfen, ob die Formel
G = ∃u A(s(s(s(null))), s(s(null)), u)
aus dieser Formel ableitbar ist. D.h., gibt es ein u für das gilt
3 + 2 = u?
Wir negieren und skolemisieren die Formel F → G und erhalten
folgende Klauselmenge:
{{A(x, null, x)}, {¬A(x, y , z), A(x, s(y ), s(z))},
{¬A(s(s(s(null))), s(s(null)), u)}}
Dabei heißt die aus G entstandene Klausel Zielklausel.
Barbara König
Logik
232
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Bemerkungen:
Bei der Resolution dieser Klauseln reicht es aus, immer mit
mindestens einer Klausel zu resolvieren, die nur aus negativen
Literalen besteht. Wir beginnen die Resolution also mit der
Zielklausel.
Dabei entstehen als Resolventen wiederum nur Klauseln, die
nur aus negativen Literalen bestehen.
Barbara König
Logik
233
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
{¬A(s(s(s(null))), s(s(null)), u)}
{¬A(x, y , z), A(x, s(y ), s(z))}
{¬A(s(s(s(null)))), s(null), z}
{¬A(x, y , z 0 ), A(x, s(y ), s(z 0 ))}
{¬A(s(s(s(null)))), null, z 0 }
{A(x, null, x)}
hhh
hhhh sub1 =
h
h
h
h
hhhh [u/s(z), x/s(s(s(null))), y /s(null)]
hhhh
h
h
h
hhh
hhhhsub =
hhhh
2
h
h
h
hhh [z/s(z 0 ), x/s(s(s(null))), y /null]
h
h
h
hhhh
hhhh
h
hhhh
hhhh sub3 =
h
h
h
hh
hhhh[z 0 /s(s(s(null))), x/s(s(s(null)))]
hhhh
h
h
h
h
hhhh
Barbara König
Logik
234
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Wir sammeln alle Substitutionen auf, wenden sie auf u an und
erhalten:
u sub 1 sub 2 sub 3 = s(z) sub 2 sub 3
= s(s(z 0 )) sub 3
= s(s(s(s(s(null)))))
Das heißt, die leere Klausel kann abgeleitet werden, wenn man u
durch s 5 (null) ersetzt. Das ist aber genau das Ergebnis der
Addition 3 + 2.
Diesen Prozess nennt man auch Antwortgenerierung.
Barbara König
Logik
235
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Hornklauseln
Definition (Hornklauselprogramm, Teil 1)
Ein Hornklauselprogramm oder Logikprogramm ist eine
Klauselmenge, in der jede Klausel höchstens ein positives Literal
enthält. Die Klauseln werden folgendermaßen klassifiziert:
Tatsachenklauseln: Klauseln der Form {P} mit einem positiven
Literal P.
PROLOG-Schreibweise: P.
Prozedurklauseln: Klauseln der Form {P, ¬Q1 , . . . , ¬Qk }, die
Folgerungen darstellen.
PROLOG-Schreibweise: P :− Q1 , . . . , Qk (:− steht
für ←)
Barbara König
Logik
236
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Hornklauseln
Definition (Hornklauselprogramm, Teil 2)
Tatsachen- und Prozedurklauseln nennt man auch
Programmklauseln. Sie stellen das eigentliche Logikprogramm dar.
Logikprogramme werden aufgerufen durch sogenannte Zielklauseln:
Zielklausel: eine Klausel der Form {¬Q1 , . . . , ¬Qk }, entspricht
dem negierten Berechnungsziel
PROLOG-Schreibweise: ?− Q1 , . . . , Qk
Barbara König
Logik
237
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
SLD-Resolution
Folgende Form der Resolution funktioniert speziell für
Hornklauseln:
Definition (SLD-Resolution)
K1
qqq
q
q
q
G1
K2
qqq
qqq
G
Eine SLD-Resolutionsherleitung
der leeren Klausel hat die rechts
abgebildete Form, wobei G die
Zielklausel ist, G1 , G2 , . . . nur aus
negativen Literalen bestehen und
K1 , . . . , Kn Programmklauseln
sind.
G2
..
.
Kn
sss
s
s
ss
Die Abkürzung SLD steht für “linear resolution with selection
function for definite clauses”
Barbara König
Logik
238
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
SLD-Resolution
Satz (Vollständigkeit der SLD-Resolution)
Sei F mit Zielklausel G ein unerfüllbares Hornklauselprogramm.
Dann gibt es für F eine SLD-Resolutionsherleitung der leeren
Klausel.
Barbara König
Logik
239
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Es gibt noch viele weitere Logiken, neben der Aussagenlogik und
der Prädikatenlogik 1. Stufe.
Prädikatenlogik 2. Stufe
Quantifikation über Mengen (einstellige Prädikate) und Relationen
(mehrstellige Prädikate) wird erlaubt.
Barbara König
Logik
240
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Beispiel: Das Induktionsaxiom für die natürlichen Zahlen N0 ist nur
in Prädikatenlogik 2. Stufe ausdrückbar:
Für jede Menge M von natürlichen Zahlen gilt: wenn M die 0
enthält und für jede in M enthaltene Zahl n auch deren Nachfolger
n + 1 in M enthalten ist, dann sind bereits alle natürlichen Zahlen
in M enthalten.
∀M 0 ∈ M ∧ ∀n(n ∈ M → n + 1 ∈ M) → ∀n(n ∈ M)
Barbara König
Logik
241
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Weitere Bemerkungen zur Prädikatenlogik 2. Stufe:
Das Unerfüllbarkeits- bzw. Gültigkeitsproblem für Logiken
höherer Stufe (insbesondere für die Prädikatenlogik 2. Stufe),
ist nicht mehr semi-entscheidbar.
Daraus folgt auch, dass solche Logiken höherer Stufe keinen
Kalkül (wie den Resolutionskalkül) haben können. Denn aus
einem Kalkül, der es ermöglicht, alle wahren Formeln
abzuleiten, kann man immer ein Semi-Entscheidungsverfahren
gewinnen.
Barbara König
Logik
242
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Die Nicht-Existenz eines solchen (vollständigen) Kalküls für
die Arithmetik ist die Aussage des (Ersten) Gödelschen
Unvollständigkeitssatzes (1931). Für die Mathematik bedeutet
das: “Es gibt wahre Aussagen, die nicht beweisbar sind.”
Unterhaltsame Lektüre zu diesem Thema:
Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal
Golden Braid
In deutscher Übersetzung: Douglas R. Hofstadter: Gödel,
Escher, Bach: Ein endloses geflochtenes Band
Barbara König
Logik
243
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Modallogiken
Annahme, dass es mehrere mögliche Welten gibt. In manchen
dieser Welten können Aussagen wahr sein, in anderen nicht.
Beispiele für Aussagen der Modallogik:
“Möglicherweise regnet es.”
“Notwendigerweise sind alle Kreise rund.”
Barbara König
Logik
244
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Für die Informatik besonders wichtig ist eine bestimmte
Modallogik, die sogennante Temporallogik:
Temporallogik
Hier werden die möglichen Welten als Momente im Ablauf der Zeit
interpretiert. Das heißt, man kann Aussagen über zeitliche
Abfolgen machen.
Beispiele für Aussagen der Temporallogik:
“Irgendwann geschieht A.”
“Das Ereignis B tritt unendlich oft ein.”
Die am häufigsten benutzten Temporallogiken sind: CTL
(Computation Tree Logic), LTL (Linear Time Logic), modaler
µ-Kalkül
Barbara König
Logik
245
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Dreiwertige Logiken
Enhalten neben den Wahrheitswerten 0, 1 auch den Wahrheitswert
1
2 (= vielleicht).
Einsatz: in der Programmanalyse. Bei Approximation eines System
durch ein einfacheres System kann manchmal nicht mit Sicherheit
gesagt werden, ob bestimmte Systemübergänge möglich sind oder
nicht möglich sind. Diesen wird dann der Wahrheitswert 21
zugeordnet.
Auch für das Ergebnis einer Programmanalyse kann gelten:
geforderte Eigenschaft gilt, gilt nicht oder gilt vielleicht.
Barbara König
Logik
246
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Die klassische Logik ist in folgendem Sinne monoton: wenn zu
einer Menge von Axiomen ein weiteres hinzukommt, dann kann
man immer noch mindestens die gleichen Aussagen ableiten.
Monotonie: Aus der Gültigkeit von F → H folgt immer auch die
Gültigkeit von F ∧ G → H.
Barbara König
Logik
247
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Nicht-monotone Logik
Bei nicht-monotone Logiken kann diese Bedingung verletzt sein,
d.h., durch zusätzliches Wissen kann eine Folgerung ungültig
werden.
Beispiel:
Wir wissen, dass Tweety ein Vogel ist. Dann kann man daraus
folgern, dass Tweety fliegen kann.
Zusätzlich erfahren wir nun, dass Tweety ein Pinguin ist.
Dann kann man diese Folgerung nicht mehr aufrechterhalten.
Einsatz: in Expertensystemen
Barbara König
Logik
248
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Fuzzy Logic
Approximiertes Schließen, eine Aussage kann nur zu einem
gewissen Prozentsatz “wahr” sein.
Einsatz: Haushaltsgeräte, Fehlerkorrektur
Barbara König
Logik
249
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Intuitionistische Logik
Grob: nur das, was man konstruieren kann, existiert.
Widerspruchsbeweise sind nicht erlaubt.
Insbesondere: P ∨ ¬P (Satz vom ausgeschlossenen Dritten) ist
nicht automatisch eine gültige Formel.
Bemerkung: Dadurch wird die Logik zunächst schwächer und
weniger Aussagen sind beweisbar. Die Forderung der
Konstruierbarkeit kann aber für die Herleitung von
Berechnungsvorschriften verwendet werden.
Barbara König
Logik
250
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Zuletzt noch eine Zusammenfassung der weiteren Anwendungen
der Logik in der Informatik:
Modellierung und Spezifikation: Eindeutige Beschreibung von
komplexen Systemen
Verifikation: Beweisen, dass ein Programm das gewünschte
Verhalten zeigt
Schaltkreisentwurf: Schaltkreise lassen sich als logische
Formeln darstellen
Entwurf und Optimierung von Schaltungen
Datenbanken: Formulierung von Anfragen an Datenbanken
Abfragesprache SQL (Structured query language)
Künstliche Intelligenz: Schlussfolgerungen automatisieren,
insbesondere in Expertensystemen
Barbara König
Logik
251
Herunterladen