Vorlesung “Logik” Sommersemester 2011 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Vorlesung “Logik”
Sommersemester 2011
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
239
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
240
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
241
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
242
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
243
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
244
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
245
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
246
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
247
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
248
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prozedurale Interpretation der Resolution
Prozedurale Interpretation
Sei F mit Zielklausel G = G0 ein Hornklauselprogramm mit einer
SLD-Resolutionsherleitung (wie zuvor beschrieben). Wir schreiben
(Gi , sub i ) `F (Gi+1 , sub i s),
falls Gi+1 der Resolvent von Gi und einer Programmklausel Ki+1
ist, wobei die Variablen in Ki+1 so umbenannt wurden, dass Gi
und Ki+1 keine gemeinsamen Variablen haben.
Außerdem ist s der bei der Resolution entstehende allgemeinste
Unifikator.
Barbara König
Logik
249
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prozedurale Interpretation der Resolution
Definition (Rechnung)
Sei F ein Logikprogramm mit Zielklausel G .
Die Rechnung eines Hornklauselprogramms ist eine (endliche oder
unendliche) Folge der Form
(G , []) `F (G1 , sub 1 ) `F (G2 , sub 2 ) `F . . .
Wenn es sich um eine endliche Rechnung handelt und das letzte
Paar die Form (, sub) hat, dann heißt die Rechnung erfolgreich
und sub angewandt auf G heißt das Rechenergebnis.
Barbara König
Logik
250
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prozedurale Interpretation der Resolution
Bemerkungen:
Gegenüber herkömmlichen SLD-Resolutionen werden hier
noch zusätzlich die Unifikatoren mitgeführt.
Rechnungen können nicht-deterministisch sein und es kann
daher mehrere mögliche Rechenergebnisse geben.
Barbara König
Logik
251
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prozedurale Interpretation der Resolution
Satz von Clark
Sei F ein Logik-Programm und G =?− A1 , . . . , Ak eine Zielklausel.
Korrektheit: Falls es eine erfolgreiche Rechnung von F mit
Zielklausel G und Ergebnissubstitution sub gibt, dann
ist jede Grundinstanz von (A1 ∧ · · · ∧ An )sub eine
Folgerung von F .
Vollständigkeit: Falls jede Grundinstanz von (A1 ∧ · · · ∧ An )sub 0
Folgerung von F ist, so gibt es eine erfolgreiche
Rechnung von F mit Zielklausel G mit dem Ergebnis
sub, so dass für eine geeignete Substitution s gilt:
(A1 ∧ · · · ∧ An )sub 0 = (A1 ∧ · · · ∧ An )sub s
Barbara König
Logik
252
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Die Idee der Ermittlung eines Rechenergebnisses führt zur
Definition einer Programmiersprache basierend auf
Hornklauselprogrammen: PROLOG (entwickelt Anfang der
siebziger Jahre).
Dabei beschreiben die Programmklauseln das eigentlich Programm
und die Zielklausel die zu bearbeitenden Anfrage.
PROLOG ist, genau wie funktionale Programmiersprachen, eine
deklarative Programmiersprache. Das heißt, es wird nicht so sehr
beschrieben, wie etwas berechnet wird, sondern was berechnet
werden soll.
Barbara König
Logik
253
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Imperativ
Zustandsorientiert: Zustand eines Programms besteht aus
Programmzähler und Belegung der Variablen (+ Heap)
Programm besteht aus Befehlen, die diesen Zustand
transformieren.
Sprachen: FORTRAN, ALGOL, Pascal, Ada, C, Java
Deklarativ
Beschreibung einer Lösung durch Bedingungen, ohne genau zu
spezifizieren, wie diese Lösung berechnet werden soll.
Sprachen: Logik-Programmiersprachen: PROLOG;
funktionale Sprachen: ML, OCaml, Haskell, Scheme, Lisp
Barbara König
Logik
254
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Beispiel: Hausbau
Hausbau (imperativ): Hebe zunächst den Keller aus. Baue dann
eine Süd-, Ost-, West- und Nordwand. Setze
anschließend ein Dach auf die Wände.
Hausbau (deklarativ): Ein Haus besteht aus einem Keller, der von
vier Wänden umgeben ist, auf denen sich das Dach
befindet.
Barbara König
Logik
255
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Syntax von PROLOG:
Variablen werden mit Grossbuchstaben geschrieben:
X, Y, Z, . . .
Prädikat- und Funktionssymbole werden mit Kleinbuchstaben
dargestellt.
Außerdem werden Programm- und Zielklauseln wie oben
beschrieben notiert.
Barbara König
Logik
256
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
PROLOG-Interpreter: wir verwenden GNU Prolog
(http://www.gprolog.org/)
Wichtige Kommandos:
Aufruf
> gprolog
Datei laden (z.B. eltern.pl)
| ?- [eltern].
compiling eltern.pl for byte code...
eltern.pl compiled, 36 lines read 3874 bytes written, 11 ms
(1 ms) yes
Barbara König
Logik
257
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Zielklausel eingeben
| ?- onkel(X,christine).
X = boris ?
Mit ; werden weitere Antwortsubstitutionen gesucht.
Barbara König
Logik
258
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele für PROLOG-Programme
Beispiel: Verwandtschaftsbeziehungen
Nehmen Sie an, dass Verwandtschaftsbeziehungen wie “x ist
Mutter von y ” und “x ist Vater von y ” definiert sind.
Außerdem ist von jeder Person bekannt, ob sie männlich oder
weiblich ist.
Geben Sie Programmklauseln an, die abgeleitete
Verwandtschaftsbeziehungen wie “Elter”, “Grossmutter”,
“Grossvater”, “Geschwister”, “Onkel” und “Tante” herleiten
können.
Barbara König
Logik
259
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele für PROLOG-Programme
Verwandtschaftsbeziehungen
elter(X,Y) :- vater(X,Y).
elter(X,Y) :- mutter(X,Y).
grossmutter(X,Y) :- mutter(X,Z),elter(Z,Y).
grossvater(X,Y) :- vater(X,Z),elter(Z,Y).
geschwister(X,Y) :- elter(Z,X),elter(Z,Y),X\==Y.
onkel(X,Y) :- elter(Z,Y),geschwister(Z,X),maennlich(X).
tante(X,Y) :- elter(Z,Y),geschwister(Z,X),weiblich(X).
Barbara König
Logik
260
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele für PROLOG-Programme
Dadurch, dass PROLOG-Programme nicht aus konkreten
Handlungsanweisungen bestehen, können ganz verschiedene Arten
von Anfragen an das gleiche Programm gestellt werden.
Beispiel Addition:
add(X,null,X).
add(X,s(Y),s(Z)) :- add(X,Y,Z).
?- add(s(s(s(null))),s(s(null)),X).
X = s(s(s(s(s(null))))) ? ;
?- add(s(s(s(null))),Y,s(s(s(s(s(null)))))).
Y = s(s(null)) ?
Bei der zweiten Anfrage wird eigentlich eine Subtraktion
durchgeführt.
Barbara König
Logik
261
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele für PROLOG-Programme
Zebra-Rätsel (Teil 1)
1
There are five houses in a row.
2
The Englishman lives in the red house.
3
The Spaniard owns the dog.
4
Coffee is drunk in the green house.
5
The Ukrainian drinks tea.
6
The green house is immediately to the right of the ivory house.
7
The Old Gold smoker owns snails.
8
Kools are smoked in the yellow house.
9
Milk is drunk in the middle house.
10
The Norwegian lives in the first house.
Barbara König
Logik
262
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele für PROLOG-Programme
Zebra-Rätsel (Teil 2)
11
The man who smokes Chesterfields lives in the house next to
the man with the fox.
12
Kools are smoked in the house next to the house where the
horse is kept.
13
The Lucky Strike smoker drinks orange juice.
14
The Japanese smokes Parliaments.
15
The Norwegian lives next to the blue house.
Who owns the zebra? Who drinks water?
Barbara König
Logik
263
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Effizienzgesichtspunkte in PROLOG
In PROLOG wird bei der Unifikation im allgemeinen nicht der
sogenannte Occurs-Check durchgeführt. Das heißt, falls eine
Variable x durch einen Term t ersetzt wird, wird zuvor nicht
überprüft, ob x in t vorkommt (siehe Unifikationsalgorithmus).
Grund: Ein Occurs-Check wäre zu aufwändig.
Barbara König
Logik
264
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Effizienzgesichtspunkte in PROLOG
In Fällen, in denen der Occurs-Check scheitern würde, terminiert
der PROLOG-Interpreter entweder nicht . . .
p(X,f(X)).
?- p(Y,Y).
oder es werden sogenannte zyklische (oder unendliche) Terme
erzeugt.
Barbara König
Logik
265
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Effizienzgesichtspunkte in PROLOG
(G , [])
@@
@@
@@
@@
Rechnungen eines
Hornklauselprogramms können sich
nicht-deterministisch verzweigen.
Dabei entsteht ein Berechnungsbaum,
dessen Zweige unendlich lang sein
können.
(G1 , sub 1 )
(G10 , sub 1 )
(G2 , sub 2 )
(, sub 2 )
Problem: Wenn ein unendlicher Zweig
verfolgt wird, dann kann es passieren,
dass die Auswertung nicht terminiert,
obwohl es (andere) terminierende
Rechnungen gibt.
(G3 , sub 3 )
~~
~~
~
~
~~
..
.
Barbara König
Logik
266
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Effizienzgesichtspunkte in PROLOG
Lösungsmöglichkeiten:
Breitensuche
arbeite den Berechnungsbaum schichtenweise ab.
Wird in PROLOG aus Effizienzgründen nicht durchgeführt, da es
sonst in vielen Fällen zu lange dauert, bis die erste Lösung
gefunden ist.
Tiefensuche
Wird in Prolog durchgeführt.
Problem: nichtterminierende Berechnungen (siehe vorherige Folie)
Abbruch solcher Berechnungen und Abschneiden von Teilen des
Suchbaums durch den Cut (!).
Barbara König
Logik
267
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Effizienzgesichtspunkte in PROLOG
Beispiel für eine nicht-terminierende Berechnung aufgrund
Tiefensuche:
p(X) :- p(f(X)).
p(a).
?- p(X).
Ein Umstellen der Programmklauseln führt zu einer erfolgreichen
Rechnung:
p(a).
p(X) :- p(f(X)).
?- p(X).
X = a ? ;
Barbara König
Logik
268
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
269
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
270
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
271
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
272
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
273
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
274
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
275
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
276
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
277
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
278
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
279
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
280
Herunterladen