Logik fЭr Informatiker

Werbung
Logik für Informatiker
Viorica Sofronie-Stokkermans
e-mail: [email protected]
1
Logik in der Informatik
Was ist Logik?
2
Logik in der Informatik
Was ist Logik?
• Mathematisch?
3
Logik in der Informatik
Was ist Logik?
• Mathematisch?
• Unverständlich?
4
Logik in der Informatik
Was ist Logik?
• Mathematisch?
• Unverständlich?
• Reine Theorie ohne praktischen Nutzen?
5
Logik in der Informatik
Was ist Logik?
• Mathematisch?
ja
• Unverständlich?
• Reine Theorie ohne praktischen Nutzen?
6
Logik in der Informatik
Was ist Logik?
• Mathematisch?
ja
• Unverständlich?
hoffentlich nein
• Reine Theorie ohne praktischen Nutzen?
7
Logik in der Informatik
Was ist Logik?
• Mathematisch?
ja
• Unverständlich?
hoffentlich nein
• Reine Theorie ohne praktischen Nutzen?
nein: Verifikation von Hardware, Software, Protokollen
Sprachverarbeitung und Wissensrepräsentation
Abfragensprachen für Datenbanken; ...
8
Formale Logik
Ziel
• Formalisierung und Automatisierung rationalen Denkens
• Rational richtige Ableitung von neuem Wissen aus gegebenem
Rolle der Logik in der Informatik
• Anwendung innerhalb der Informatik
Spezifikation, Programmentwicklung, Programmverifikation
• Werkzeug für Anwendungen außerhalb der Informatik
Künstliche Intelligenz, Wissensrepräsentation
9
Formale Logik
Ziel
• Formalisierung und Automatisierung rationalen Denkens
• Rational richtige Ableitung von neuem Wissen aus gegebenem
Rolle der Logik in der Informatik
• Anwendung innerhalb der Informatik
Spezifikation, Programmentwicklung, Programmverifikation
• Werkzeug für Anwendungen außerhalb der Informatik
Künstliche Intelligenz, Wissensrepräsentation
10
Modellierung
11
Modellierung
Abstraktion
12
Modellierung
Abstraktion
13
Modellierung
Adäquatheit des Modells
Wenn formulierbare Aussage wahr im Modell, dann entsprechende Aussage
wahr in Wirklichkeit
14
Beispiel: Aufzug
oben
mitte
unten
15
Beispiel: Aufzug
oben
oben
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
mitte
unten
unten
16
Beispiel: Aufzug
oben
oben
mitte
mitte
Aufzug mitte
Oben gedruckt
F.nach oben
unten
unten
17
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
oben
Aufzug mitte
Unten gedruckt
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
F.nach unten
unten
v(AufzugOben) = wahr
unten
v(AufzugMitte) = wahr
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr
v(UntenGedrückt) = wahr
v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
18
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
oben
Aufzug mitte
Unten gedruckt
mitte
Aufzug oben
Mitte gedruckt
F.nach unten
Aufzug mitte
F.nach unten
unten
v(AufzugOben) = wahr
unten
v(AufzugMitte) = wahr
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr
v(UntenGedrückt) = wahr
v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
19
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
oben
Aufzug mitte
Unten gedruckt
mitte
Aufzug oben
Mitte gedruckt
F.nach unten
Aufzug mitte
F.nach unten
unten
unten
unten
Aussagen beziehen sich auf Strukturen
(Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch
auswertbar
20
Formale Logik
• Syntax
welche Formeln?
• Semantik
Modelle (Strukturen)
Wann ist eine Formel wahr (in einer Struktur)?
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
21
Aussagenlogik
Die Welt besteht aus Fakten
22
Aussagenlogik: Syntax
Die Welt besteht aus Fakten
Bausteine: Atomare Aussagen
23
Aussagenlogik: Syntax
Die Welt besteht aus Fakten
Bausteine: Atomare Aussagen
Beispiele: Aufzug ist oben:
AufzugOben
Mittlerer Knopf gedrückt:
MitteGedrückt
24
Aussagenlogik: Syntax
Die Welt besteht aus Fakten
Bausteine: Atomare Aussagen
Beispiele: Aufzug ist oben:
AufzugOben
Mittlerer Knopf gedrückt:
MitteGedrückt
Verknüpft mit logischen Operatoren
und
oder
impliziert
nicht
∧
∨
→
¬
25
Aussagenlogik: Syntax
Komplexe Aussagen:
Beispiele:
Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte
MitteGedrückt → ¬AufzugMitte
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
26
Aussagenlogik: Semantik
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
wahr in:
oben
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
unten
27
Aussagenlogik: Semantik
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
falsch in:
oben
mitte
Aufzug mitte
Unten gedruckt
F.nach unten
unten
28
Aussagenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
Syllogismen:
P
P→Q
Q
29
Aussagenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
Syllogismen:
P
P→Q
Q
AufzugUnten
AufzugUnten → ¬AufzugOben
¬AufzugOben
30
Aussagenlogik: Deduktionsmechanismus
Deduktionsmechanismus im allgemeinen
Kalkül
In dieser Vorlesung:
• Wahrheitstafeln
• Logische Umformung
• Resolutionskalkül
• Tableaukalkül
• DPLL
31
Prädikatenlogik
Aussagenlogik: Die Welt besteht aus Fakten
32
Prädikatenlogik
Aussagenlogik: Die Welt besteht aus Fakten
... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft
33
Prädikatenlogik
Aussagenlogik: Die Welt besteht aus Fakten
... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft
Beispiele:
• Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für
jeden Mensch.
• Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade”
erfordert eine Formel für jede Zahl.
34
Prädikatenlogik
Reichere Struktur
• Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
35
Prädikatenlogik
Reichere Struktur
• Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
• Relationen (Eigenschaften)
rot, rund, prim, mehrstöckig, ...
ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
=, ≥, ...
36
Prädikatenlogik
Reichere Struktur
• Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
• Relationen (Eigenschaften)
rot, rund, prim, mehrstöckig, ...
ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
=, ≥, ...
• Funktionen
+, Mitte von, Vater von, Anfang von, ...
37
Beispiel: Tante Agatha
Eine kleine Logelei:
Jemand, der in Schloss Dreadbury wohnt, hat Tante
Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles
waren die einzigen Bewohner von Schloss Dreadbury. Ein
Mörder hasst immer sein Opfer und ist niemals reicher als
sein Opfer. Charles hasst niemanden, den Tante Agatha
gehasst hat. Agatha hat jeden gehasst außer ihrem Butler.
Der Butler hasst jeden, der nicht reicher ist als Tante
Agatha. Der Butler hasst jeden, den Tante Agatha gehasst
hat. Niemand hasst jeden. Agatha war nicht der Butler.
Wer hat Tante Agatha ermordet?
38
Beispiel: Tante Agatha
Zuerst formalisieren wir das Problem:
Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha
ermordet.
E
◮
x (schlossbewohner(x) ∧ ermordet(x, a))
Agatha, ihr Butler und ihr Neffe Charles waren die einzigen
Bewohner von Schloss Dreadbury.
A
◮
x (schlossbewohner(x) ↔ (x = a ∨ x = b ∨ x = c))
39
Beispiel: Tante Agatha
Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein
Opfer.
A
A
◮
x, y (ermordet(x, y ) → hasst(x, y ))
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
Charles hasst niemanden, den Tante Agatha gehasst hat.
A
◮
x (hasst(c, x) → ¬ hasst(a, x))
Agatha hat jeden gehasst außer ihrem Butler.
A
◮
¬ hasst(a, x) ↔ x = b)
x (¬
40
Beispiel: Tante Agatha
Der Butler hasst jeden, der nicht reicher ist als Tante Agatha.
A
◮
¬ reicher(x, a) → hasst(b, x))
x (¬
Der Butler hasst jeden, den Tante Agatha gehasst hat.
A
◮
x (hasst(a, x) → hasst(b, x))
Niemand hasst jeden.
E A
◮
x
¬ hasst(x, y ))
y (¬
Agatha war nicht der Butler.
◮
¬a=b
41
Prädikatenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
Syllogismen:
A
A
x(P(x) → Q(x))
x(Q(x) → R(x))
A
x(P(x) → R(x))
42
Beispiel: Tante Agatha
Nun können wir aus den Formeln neue Formeln ableiten.
Beispielweise so:
ermordet(x, y ) → hasst(x, y )
hasst(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
¬hasst(a, y ) → y = b
ermordet(c, y ) → y = b
43
Beispiel: Tante Agatha
Nun können wir aus den Formeln neue Formeln ableiten.
Beispielweise so:
ermordet(x, y ) → hasst(x, y )
hasst(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
¬hasst(a, y ) → y = b
ermordet(c, y ) → y = b
ermordet(c, y ) → y = b
¬(a = b)
¬ermordet(c, a)
44
Beispiel: Tante Agatha
Damit wissen wir schon, dass Charles nicht der Mörder ist.
Die weitere Berechnung ist aber mühsam.
Glücklicherweise können wir die Arbeit einem automatischen
Theorembeweiser überlassen.
45
Das Prinzip
Problem
L
osung
Beshreibung der Situation
Charles ermordete Agatha
in Shlo Dreadbury
Der Butler ermordete Agatha
Agatha beging Selbstmord
Wer hat Agatha ermordet?
T
ater unbekannt
21
Das Prinzip
z. B. naturlihe Sprahe
Problem
L
osung
Formeln
Lo
sung
prazise Beshreibung
22
Das Prinzip
Problem
L
osung
1
Formeln
Lo
sung
1. Formalisierung: von Problemen zu Formeln
manhmal automatish m
oglih
23
Das Prinzip
Problem
L
osung
Formeln
Lo
sung
2
2. Formalisiertes Problem lo
sen
in der Praxis entstehen sehr viele neue Formeln
Computerunterstu
tzung ist notwendig
(aber auh dann ist die Anzahl der Formeln das Hauptproblem)
24
Das Prinzip
Problem
L
osung
3
Formeln
Lo
sung
3. Lo
sung zuru
ku
bersetzen
wieder m
ogliherweise automatish
25
Beispiel 2: Siherheitsprotokolle
Ziel: zwei Personen (Alie und Bob) wollen miteinander
kommunizieren
u
ber ein unsiheres Daten- oder Telefonnetz,
siher, d. h., ohne da ein Eindringling (Charlie) mith
oren
oder sih als Alie oder Bob ausgeben kann.
Hilfsmittel: Vershlusselung
Alie und Bob vereinbaren einen gemeinsamen Shlu
ssel
und nutzen ihn, um ihr Gesprah zu vershlusseln.
Nur wer den Shlu
ssel kennt, kann das Gesprah ent-
shlusseln.
26
Beispiel 2: Siherheitsprotokolle
Ziel: zwei Personen (Alie und Bob) wollen miteinander
kommunizieren
u
ber ein unsiheres Daten- oder Telefonnetz,
siher, d. h., ohne da ein Eindringling (Charlie) mith
oren
oder sih als Alie oder Bob ausgeben kann.
Hilfsmittel: Vershlusselung
Alie und Bob vereinbaren einen gemeinsamen Shlu
ssel
und nutzen ihn, um ihr Gesprah zu vershlusseln.
Nur wer den Shlu
ssel kennt, kann das Gesprah ent-
shlusseln.
27
Beispiel 2: Siherheitsprotokolle
Problem: wie kommen die Gesprahspartner an den gemeinsamen
Shlussel?
 bergabe kommt niht immer in Frage.
Perso
nlihe U
Wird der gemeinsame Shlu
ssel uber das Netz
unvershlusselt vershikt, konnte Charlie ihn abfangen oder
austaushen.
Annahme: es gibt eine sihere Shlu
sselzentrale, mit
der Alie und Bob jeweils einen gemeinsamen Shlussel
vereinbart haben.
28
Beispiel 2: Siherheitsprotokolle
Das folgende Shlusselaustaushverfahren wurde 1993 von den
beiden Kryptographen Neuman und Stubblebine vorgeshlagen:
Shritt 1:
Alie shikt (oen) Identikation und Zufallszahl an Bob.
29
Beispiel 2: Siherheitsprotokolle
Shritt 2:
Bob leitet Nahriht weiter an Shlusselzentrale ( Trust\).
"
30
Beispiel 2: Siherheitsprotokolle
Shritt 3:
Trust shikt Nahriht an Alie. Darin: ein neuer gemeinsamer
Shlussel, einmal fur Alie und einmal fur Bob vershlusselt.
31
Beispiel 2: Siherheitsprotokolle
Shritt 4:
Alie leitet den neuen gemeinsamen Shlussel weiter an Bob.
32
Beispiel 2: Siherheitsprotokolle
Shritt 5:
Alie und Bob konnen nun mit dem gemeinsamen Shlussel
kommunizieren.
33
Beispiel 2: Siherheitsprotokolle
Ist das Verfahren siher?
Wir ubersetzen das Problem wieder in Formeln und lassen sie
von einem Theorembeweiser untersuhen.
34
Beispiel 2: Siherheitsprotokolle
Zuerst formalisieren wir die Eigenshaften des Protokolls:
Wenn Alie/Bob/Trust eine Nahriht in einem bestimmten
Format bekommt, dann shikt er/sie eine andere Nahriht
ab.
Wenn eine Nahriht u
bermittelt wird, kann Charlie sie
mithoren.
Wenn Charlie eine vershlu
sselte Nahriht bekommt und
den passenden Shlussel hat, kann er sie entshlusseln.
Wenn Charlie eine Nahriht hat, dann kann er sie an
Alie/Bob/Trust abshiken.
:::
35
Beispiel 2: Siherheitsprotokolle
Dann formalisieren wir das Problem:
Kann Charlie an einen Shlussel kommen, den Bob fur siher
halt?
Wir bekommen ungefahr 20 Formeln und geben sie in einen
Theorembeweiser ein.
Dieser antwortet nah 1 Sekunde ja\!
"
Warum?
36
Beispiel 2: Siherheitsprotokolle
Dann formalisieren wir das Problem:
Kann Charlie an einen Shlussel kommen, den Bob fur siher
halt?
Wir bekommen ungefahr 20 Formeln und geben sie in einen
Theorembeweiser ein.
Dieser antwortet nah 1 Sekunde ja\!
"
Warum?
37
Beispiel 2: Siherheitsprotokolle
Dann formalisieren wir das Problem:
Kann Charlie an einen Shlussel kommen, den Bob fur siher
halt?
Wir bekommen ungefahr 20 Formeln und geben sie in einen
Theorembeweiser ein.
Dieser antwortet nah 1 Sekunde ja\!
"
Warum?
38
Beispiel 2: Siherheitsprotokolle
Was kann passieren?
Charlie fangt die letzte Nahriht von Alie ab.
39
Beispiel 2: Siherheitsprotokolle
Was kann passieren?
Charlie shikt eine veranderte Nahriht an Bob.
40
Beispiel 2: Siherheitsprotokolle
Was kann passieren?
Bob entshlusselt die Nahriht und denkt, sie komme von Alie.
41
Beispiel 2: Siherheitsprotokolle
Was kann passieren?
Bob startet Kommunikation mit Alie : : :
42
Beispiel 2: Siherheitsprotokolle
Was kann passieren?
:::
aber spriht in Wirklihkeit mit Charlie.
43
Beispiel 2: Siherheitsprotokolle
Der Fehler ist tatsahlih leiht zu beheben.
Mit ein wenig Erfahrung erkennt man aus der Ausgabe des
Theorembeweisers, wie es geht.
44
Prädikatenlogik: Deduktionsmechanismus
In dieser Vorlesung:
• Resolutionskalkül
• Tableaukalkül
46
Das ganze Bild
Probleme
(Beschreibung in natürlicher Sprache)
Formalisierung
Logische Sprache: Syntax
Aussagenlogik /
Prädikatenlogik
Formel
Modelle: Semantik
Kalkül
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
Korrektheit
47
Das ganze Bild
Probleme
(Beschreibung in natürlicher Sprache)
Formalisierung
Modellierung
Logische Sprache: Syntax
Aussagenlogik /
Prädikatenlogik
Formel
Modelle: Semantik
Kalkül
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
Korrektheit
48
Das ganze Bild
Probleme
(Beschreibung in natürlicher Sprache)
Formalisierung
Logische Sprache: Syntax
Aussagenlogik /
(automatische)
Prädikatenlogik
Deduktion
Formel
Modelle: Semantik
Kalkül
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
Korrektheit
49
Inhalt der Vorlesung
• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
50
Inhalt der Vorlesung
• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
• 2. Aussagenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux; DPLL
51
Inhalt der Vorlesung
• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
• 2. Aussagenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux; DPLL
• 3. Prädikatenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux
52
Inhalt der Vorlesung
• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
• 2. Aussagenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux; DPLL
• 3. Prädikatenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux
• 4. Weitere Aussichten
- Nichtklassische Logiken; Logiken höherer Stufe
- Anwendungen: z.B. Datenbanken oder Verifikation
53
Einführung: Zusammenfassung
• Ziel und Rolle der Formalen Logik in der Informatik
• Modellierung, Adäquatheit der Modellierung
• Wesentliche Komponenten für jede Logik: Syntax, Semantik,
Deduktionsmechanismus (Kalkül)
• Beispiel Aussagenlogik: Syntax, Semantik, Syllogismen
• Beispiel Prädikatenlogik: Syntax, Semantik, Syllogismen
• The Whole Picture:
– Formel in der “wahren Welt” / (semantisch) gültige Formel,
gültige Formel / ableitbare Formel
– Vollständigkeit und Korrektheit von Kalkülen
54
Herunterladen