Kapitel 1: Berechenbarkeitstheorie Gliederung 1 - fbi.h

Werbung
Kapitel 1: Berechenbarkeitstheorie
Gliederung
1. Berechenbarkeitstheorie
2. Grundlagen
3. Grundlegende Ergebnisse aus der Komplexitätstheorie
4. Die Komplexitätsklassen P und NP
5. Die Komplexitätsklassen RP und BPP
1.1. Turing-Maschinen und die Chursche These
1.2. Entscheidbare und semi-entscheidbare Sprachen
1.3. Ausblick: Grenzen formaler Methoden
1/3, Folie 1
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Zielstellung
 eine interessante Sprache kennen lernen, die nicht semi-entscheidbar ist
•
hierzu ist ein wenig „auszuholen“
... interessieren uns dafür, ob man die Menge der wahren
arithmetischen Formeln algorithmisch in den Griff bekommt
 Beispiele für arithmetische Formeln
•
F(x) = ∃y ∃z ( ¬(y = 1) ∧ ¬(z = 1) ∧ ¬(y = x) ∧ ¬(z = x) ∧ (y*z = x) )
... F ist für ein x genau dann wahr, wenn x keine Primzahl ist
•
F‘ = ∀x ( F(x) ⇒ ∃x‘ ( ¬(x‘ = 0) ∧ ¬F(x←x+x‘) ) )
... F‘ ist genau dann wahr, wenn es unendlich viele Primzahlen gibt
1/3, Folie 2
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Einordnung
 Weshalb interessant?
•
aus Sicht der Mathematik
•
Herangehensweise: axiomatische Methode
•
formuliere allgemein anerkannte wahre Aussagen (/* Axiome */)
•
verwende diese Axiome und wohl definierte (formale) Regeln,
um weitere (hoffentlich „interessante“) wahre Aussagen zu
beweisen
... diese Herangehensweise hat Grenzen (/* es genügt bereits, daß man
sich mit Zahlentheorie (über den natürlichen Zahlen) beschäftigt */)
... jede rekursiv aufzählbare Axiomatisierung der Zahlentheorie besitzt
wahre Aussagen, die nicht beweisbar sind (/* Gödelscher Unvollständigkeitssatz */)
1/3, Folie 3
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Einordnung
 Weshalb interessant?
•
aus Sicht der Informatik
•
automatisches Beweisen (/* Dienstleistung für die Mathematik */)
... Verwendung formaler Methoden
1/3, Folie 4
•
Programmverifikation (/* Korrektheit von Programmen */)
•
Künstliche Intelligenz (/* Agentensysteme, Planung */)
•
IT-Sicherheit (/* Nachweis sicherheitskritischer Eigenschaften */)
•
...
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Einordnung
 Herangehensweise - Programmverfikation
•
es geht um die Frage, ob ein Computerprogramm das tut, was es soll,
d.h. ob es bestimmte Anforderungen erfüllt (/* diese Frage wird sogar
lebenswichtig, wenn Computer in sicherheitsrelevanten Bereichen wie
z.B. bei der Steuerung von Verkehrsmitteln oder in der Medizin
eingesetzt werden */)
•
Einsatz von formalen Methoden, um systematisch obige Frage zu
beantworten (/* Anwendung der axiomatischen Methode */)
... wenn bei der Präzisierung der Anforderungen Aussagen über
natürliche Zahlen eine Rolle spielen (/* und das wird fast immer der
Fall sein */), haben diese Ansätze ihre Grenzen
... selbst, wenn die präzisierten Anforderungen erfüllt sind, kann es
sein, das man das nicht formal beweisen kann
1/3, Folie 5
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Grundlagen
 zur Verfügung stehende Ausdrucksmittel
•
Konstanten:
0,1,2, ...
•
Variablen:
x1,x2,x3, ...
•
Relationen:
=
•
Operatoren:
+, * (/* zweistellige Operatoren */)
•
Quantoren:
∃,∀
•
Konnektoren: ¬,∨,∧
(/* zweistellige Relation */)
die Konstanten 0,1,2, ... können als Abkürzungen für 0,S(0),S(S(0)), ...
aufgefasst werden(/* d.h. man benötigt de facto eine Konstante und
einen einstelligen Operator */)
1/3, Folie 6
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Grundlagen
 Begriff: (arithmetischer) Term
•
Jede Konstante ist ein Term.
•
Jede Variable ist ein Term.
•
Wenn t1 und t2 Terme sind, so sind auch t1 + t2 sowie t1 * t2 Terme.
 Begriff: (arithmetische) Formel
1/3, Folie 7
•
Wenn t1 und t2 Terme sind, so ist (t1 = t2) eine Formel.
•
Wenn F und G Formeln sind, so sind auch ¬F, (F∨G) sowie (F∧G)
Formeln.
•
Wenn x eine Variable und F eine Formel ist, so sind auch ∃x F und ∀x F
Formeln.
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Grundlagen
 Begriff: Belegung
•
Eine Belegung φ ist eine Abbildung von der Menge der Variablen in
die Menge der Konstanten.
•
Erweiterung auf Terme:
•
φ(n) = n, wobei n eine Konstante ist
•
φ((t1 + t2)) = φ(t1) + φ(t2), wobei t1 und t2 Terme sind
•
φ((t1 * t2)) = φ(t1) * φ(t2), wobei t1 und t2 Terme sind
... Interpretation im Standardmodell der natürlichen Zahlen (/* in dem es die
Konstanten 0,1,2, ... gibt und die Operatoren + und * wie üblich interpretiert
werden */)
... die Aussagen, die im Standardmodell notwendigerweise wahr sein
müssen, kann man auch mit Hilfe von Axiomen (/* den Peano-Axiomen */)
beschreiben
1/3, Folie 8
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Grundlagen
 Abkürzung
•
F(x/n) bezeichnet die Formel, die aus F entsteht, in dem alle freien
Vorkommen der Variablen x durch die Konstante n ersetzt werden.
... ein Vorkommen von x in F heißt gebunden, falls x in einer Teilformel von F der Form ∃x G und oder ∀x G vorkommt
... andernfalls heißt das Vorkommen von x frei
1/3, Folie 9
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Grundlagen
 Begriff: wahre (arithmetische) Formeln
1/3, Folie 10
•
Die Formel (t1 = t2) ist wahr, falls φ(t1) = φ(t2) für alle Belegungen φ gilt.
•
Die Formel ¬F ist wahr, falls F nicht wahr ist.
•
Die Formel (F∨G) ist wahr, falls F wahr ist oder G wahr ist.
•
Die Formel (F∧G) ist wahr, falls F wahr ist und G wahr ist.
•
Die Formel ∃x F ist wahr, falls es eine Konstante n gibt, so daß F(x/n)
wahr ist.
•
Die Formel ∀x F ist wahr, falls für alle Konstanten n gilt, daß die Formel
F(x/n) wahr ist
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Zentrale Fragestellung
 ... umgangsprachlich
Bekommt man die Menge aller wahren arithmetischen Formeln algorithmisch
in den Griff?
 ... formal
•
es sei MF die Sprache aller arithmetischen Formeln
•
es sei MWF die Sprache aller wahren arithmetischen Formeln
Ist die Sprache MWF entscheidbar?
Ist die Sprache MWF semi-entscheidbar?
... beide Fragen sind mit NEIN zu beantworten !!!
1/3, Folie 11
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Einordnung
 Vorüberlegung
•
es sei F ∈ MF (/* d.h. F ist eine (arithmetische) Formel */)
Dann gilt entweder F ∈ MWF oder ¬F ∈ MWF (/* entweder ist F eine wahre
(arithmetische) Formel oder ¬F ist eine wahre (arithmetische) Formel */).
... das liegt daran, daß (arithmetische) Formeln im Standardmodell
der natürlichen Zahlen interpretiert werden
 Konsequenz
Wenn die Sprache MWF semi-entscheidbar ist, dann ist die Sprache MWF
auch entscheidbar.
1/3, Folie 12
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Hintergrund
 Ausdrucksmächtigkeit arithmetischer Formeln
•
es sei M irgendeine Turing-Maschine, die als Eingaben Wörter aus
{ 0,1 }* und als Ergebnisse Wörter aus { 0,1 }* berechnen
•
es sei eine cod(.) eine berechenbare Funktion, mit der man jeder
Zeichenkette aus { 0,1 }* auf eineindeutige Art und Weise eine
natürliche Zahl zuordnen kann
Dann gibt es eine arithmetische Formel F ∈ MF mit den freien Variablen x
und y, so daß für alle Wörter u, u‘ ∈ { 0,1 }* die folgenden Aussagen
äquivalent sind:
1.
2.
M berechnet bei Eingabe u das Ergebnis u‘.
F‘ ist eine wahre arithmetische Aussage, wobei F‘ aus F
entsteht indem x durch cod(u) und y durch cod(u‘) ersetzt wird.
... M ist unter Verwendung von F arithmetisch repräsentierbar
1/3, Folie 13
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Zentrales Ergebnis
 ... der zu beweisende Satz
Die Sprache MWF ist nicht entscheidbar.
... demzufolge ist die Sprache MWF auch nicht semi-entscheidbar
1/3, Folie 14
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Unentscheidbarkeit der Sprache MWF
 Beweis (/* Reduktion */)
•
es seien Σ = { 0,1 } und L ⊆ Σ* eine Sprache die semi-entscheidbar,
aber nicht entscheidbar ist
•
außerdem sei M eine Turing-Maschine für L (/* d.h. M kann benutzt
werden um zu zeigen, daß M semi-entscheidbar ist */)
•
ferner sei F die arithmetische Formel mit den freien Variablen x und y,
die die Turing-Maschine M repäsentiert
•
wir suchen eine Turing-Maschine R die folgendes leistet:
•
auf jeder Eingabe w ∈ Σ* berechnet R ein Ergebnis w‘ ∈ Σ*
•
falls w ∈ L, so ist w‘ ∈ MWF
•
falls w ∉ L, so ist w‘ ∉ MWF
... wir gehen davon aus, daß Formeln aus MF als Zeichenketten
über dem Alphabet { 0,1 } repräsentiert werden
1/3, Folie 15
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Unentscheidbarkeit der Sprache MWF
 Beweis (cont.)
•
es sei w ∈ Σ*
•
dann arbeitet R bei Eingabe von w wie folgt
•
•
•
offenbar gilt: w ∈ L gdw. M bei Eingabe von w das Ergebnis 1 berechnet
•
da F die Turing-Maschine M arithmetisch repräsentiert, gilt deshalb:
•
1/3, Folie 16
R bestimmt cod(w) und cod(1)
R berechnet das Ergebnis F‘ (/* = w‘ */), wobei F‘ die
Formel ist, die entsteht, wenn in F die freie Variable x
durch cod(w) und die freie Variable y durch cod(1)
ersetzt wird
w ∈ L gdw. F‘ ∈ MWF
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Kapitel 1: Berechenbarkeitstheorie
Einordnung
 Konsequenzen
•
was wir gerade bewiesen haben, ist unter dem Namen Gödelscher
Unvollständigkeitssatz bekannt ...
Jedes formale Beweissystem, das zumindest eine Theorie der natürlichen
Zahlen (/* mit Addition und Multiplikation */) enthält, ist notwendigerweise
unvollständig, d.h. es gibt wahre Aussagen, die nicht beweisbar sind.
... das ist ein generelles Problem für jedes Gebiet, in dem man Dinge
präzise formulieren will (/* wenn der Gegenstandsbereich hinreichend
komplex ist, gibt es Aussagen, von denen man nicht nachweisen kann,
ob sie richtig oder falsch sind */)
1/3, Folie 17
© 2008 Prof. Steffen Lange
-
HDa/FbI
-
Komplexitätstheorie
Herunterladen