Vorlesung
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Bernhard Beckert
Institut für Informatik
Sommersemester 2007
B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 1 / 261
Dank
Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von
Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal)
Ihnen beiden gilt mein herzlicher Dank.
– Bernhard Beckert, April 2007
B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 2 / 261
Teil V
1 Determinierte Turing-Maschinen (DTMs)
2 Varianten von Turing-Maschinen
3 Indeterminierte Turing-Maschinen (NTMs)
4 Universelle determinierte Turing-Maschinen
5 Entscheidbar/Aufzählbar
6 Determinierte Turing-Maschinen entsprechen Typ 0
7 Unentscheidbarkeit
Beispiel einer nicht berechenbaren Funktion:
Busy Beaver
Definition 15.1 (Busy Beaver)
Die FunktionBB:N→Nsei wie folgt definiert
n7→f(n):=die maximale Anzahl an Einsen, die einehal- tendeDTM mit maximal nZuständen auf ei- nem leeren Band erzeugen kann
Beispiel einer nicht berechenbaren Funktion:
Busy Beaver
BB wächst extrem schnell
Exakte Werte vonBB(n)fürn≥4 nicht bekannt.
BB(4)≥4098 BB(5)≥1,29∗10865
Theorem 15.2 (BB ist nicht berechenbar) BB wächst zu stark um berechenbar zu sein:
Es gibt keine DTM, die BB berechnet.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 238 / 261
Beispiel einer nicht berechenbaren Funktion:
Busy Beaver
Beweis (erster Teil)
Man kann immer mindestens ein|mehr erzeugen, wenn man einen weiteren Zustand zur Verfügung hat:
man benennt den Haltezustand um inqneuund geht in den richtigen Haltezustandhnur, wenn man inqneuein Blank # gelesen hat. Zusätzlich ersetzt man das Blank durch|).
Wenn man ein|liest, geht man nach rechts und bleibt inqneu. Damit haben wir bewiesen:
BBwächst streng monoton.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 239 / 261
Beispiel einer nicht berechenbaren Funktion:
Busy Beaver
Beweis (zweiter Teil)
Angenommen, es gäbe eine DTMBB, dieBBberechnet.
Sie haben0Zustände.
Wir betrachten folgende zusammengesetzten Maschine:
zuerst schreibt siemEinsen auf das leere Band dann führt sieBBaus
Diese Maschine kommt mitn0+bm2c+10 Zuständen aus Sei nunmso groß, dass
m>n0+bm 2c+10
Dann schreibt die neue MaschineBB(m)Einsen auf das Band und arbeitet
Beispiel einer nicht berechenbaren Funktion:
Busy Beaver
Intuitive Ursache des Widerspruchs BBselbst hat fixe Größe,
Sie muss mehr Einsen schreiben können als jede Maschine ihrer Größe.
Also muss sie insbesondere mehr Einsen schreiben als sie selbst Widerspruch
Göderlisierung von DTMs
Definition 15.3 (Göderlnummern von DTMs) DTMn werden als Gödelzahlen kodiert:
DTMs können als Gödelwörter dargestellt werden.
Die Buchstaben der Gödelwörter können in Ziffern kodiert wrden, um Gödelnummern zu bekommen.
Notation:gˆ(M)für die Gödelnummer der DTMM.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 242 / 261
Göderlisierung von DTMs
Definition 15.4 (Jede Zahl ist Gödelnummer)
Jede natürliche Zahlnsoll Gödelnummer einer DTMMnsein.
Wir definieren Mn:=
M, fallsgˆ(M) =n Mhalt falls 6 ∃M gˆ(M) =n
Mhalt ist eine TM, die sofort anhält und weiter nichts tut.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 243 / 261
Halteproblem
Definition 15.5 (Allgemeines Halteproblem)
Dasallgemeine Halteproblemist die Frage, ob die DTM mit Gödelnummern bei Eingabeihält.
Es entspricht der Sprache
H
allg:={hn,ii |Mnhält bei Eingabei}.Halteproblem
Definition 15.6 (Spezielles Halteproblem)
Dasspezielle Halteproblemist die Frage, ob die DTM mit Gödelnummern bei Eingabenhält.
Es entspricht der Sprache
H
:={n|Mnhält bei Eingaben}.Halteproblem
Definition 15.7 (Null-Halteproblem)
DasNull-Halteproblemist die Frage, ob die DTM mit Gödelnummernbei leerer Eingabe hält.
Es entspricht der Sprache
H
0:={n|Mnhält bei leerer Eingabe}Manchmal auch:
“bei Eingabe 0” anstatt “bei leerer Eingabe”.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 246 / 261
Leerheitsproblem
Definition 15.8 (Leerheitsproblem)
DasLeerheitsproblemist die Frage, ob die DTM mit Gödelnummernbei keinerEingabe ausΣ∗hält.
Es entspricht der Sprache
E
:={n|Mnhält bei keiner Eingabe ausΣ∗}.B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 247 / 261
Totalitätsproblem
Definition 15.9 (Totalitätsproblem)
DasTotalitätsproblemist die Frage, ob die DTM mit Gödelnummernbei jederEingabe ausΣ∗hält.
Es entspricht der Sprache
T
:={n|Mnhält bei jeder Eingabe ausΣ∗}.Gleichheitsproblem
Definition 15.10 (Gleichheitsproblem)
DasGleichheitsproblemist die Frage, ob die DTM mit Gödelnummerndie gleiche Sprache überΣakzeptiert wie die DTM mit Gödelnummerm.
Es entspricht der Sprache
E
q:={hn,mi | Mnakzeptiert die gleiche Sprache überΣwieMm}.Entscheidbarkeitsproblem
Definition 15.11 (Entscheidbarkeitsproblem)
DasEntscheidbarkeitsproblemist die Frage, ob die DTM mit Gödelnummer neine entscheidbare Sprache überΣakzeptiert.
Es entspricht der Sprache
E
nt:={n| Mnakzeptiert eineentscheidbare Sprache überΣ}.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 250 / 261
Unentscheidbarkeit des Halteproblems
Satz 15.12 (Halteproblem ist unentscheidbar) Das spezielle Halteproblem
H
ist unentscheidbar.B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 251 / 261
Unentscheidbarkeit des Halteproblems
Beweis (A. Turing)
Beweis durch Widerspruch mit einemDiagonalisierungsargument.
Angenommen, es gebe eine DTMH, die das spezielle Halteproblem entscheidet.
Konstruiere eine neue Maschine ausH: WennH„Y“ antwortet,
geht sie in eine Endlosschleife (termniniert nicht).
WennMn„N“ antwortet, terminiert sie.
Die neue Maschine habe Gödelnummern.
Unentscheidbarkeit des Halteproblems
Beweis (A. Turing), Forts.
Was machtMnbei Eingaben?
FallsMnbei Eingabenterminiert, dann antwortetHauf Eingabenmit „N“, dann terminiertMnauf Eingabe vonnnicht Widerspruch!
FallsMnbei Eingabennicht terminiert, dann antwortetHauf Eingabenmit „Y“, dann terminiertMnauf Eingabe vonn Widerspruch!
Akzeptierbarkeit des Halteproblems
Satz 15.13 (Akzeptierbarkeit von
H
)Das spezielle Halteproblem
H
ist aufzählbar. D. h. die SpracheH
={n| Mnhält bei Eingabe n} ist akzeptierbar.Beweis
Akzeptieren durch Simulation vonMnmit Hilfe der universellen DTM.
Korollar
Das Komplement von
H
ist nicht aufzählbar.B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 254 / 261
Reduktion von Problemen
Wie zeigt man, daß ein Problem unentscheidbar ist?
Reduktion (informell)
Wir geben einetotale, berechenbare Funktionf angeben, die eine Instanzp1vonP1
in eine Instanzp2vonP2umwandelt,
und zwar so, daß die Antwort zup1„ja“ ist gdw die Antwort zup2„ja“ ist.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 255 / 261
Reduktion von Problemen
Definition 15.14 (Reduktion) SeienL1,L2Sprachen überN. L1wird aufL2reduziert,
L1L2
gdw
es gibt eine TM-berechenbare Funktionf :N→N, so daß gilt:
∀n∈N n∈L1gdwf(n)∈L2 .
Reduktion von Problemen
Lemma 15.15
Ist L1L2, und ist L1unentscheidbar, so ist auch L2unentscheidbar.
Reduktion von Problemen
Beweis.
Angenommen,L2ist entscheidbar.
SeiM2eine Turing-Maschine, dieL2entscheidet.
WegenL1L2gibt es eine Funktionf:N→N∈TM mit n∈L1gdwf(n)∈L2.
SeiMf eine DTM, dief berechnet.
Dann kann man daraus die MaschineM1:=MfM2konstruieren, für die gilt:
M1, gestartet mit Inputn, hält mith,#Y#, fallsf(n)∈L2, d.h. wennn∈L1
ist.
M1, gestartet mit Inputn, hält mith,#N#, fallsf(n)6∈L2, d.h. wennn6∈L1 ist.
Die MaschineM1entscheidet alsoL1, ein Widerspruch.
B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 258 / 261
Unentscheidbarkeit
Satz 15.16 (Unentscheidbarkeit von
H
0) Das Null-HalteproblemH
0={n| Mnhält bei Eingabe0} ist unentscheidbar.B. Beckert – Grundlagen d. Theoretischen Informatik: Unentscheidbarkeit SS 2007 259 / 261
Unentscheidbarkeit
Beweis
Gegeben eine TMMn.
Kombiniere diese mit einer DTM, dienaufs Band schreibt.
f(n)sei definiert als die Gödelnummer dieser neuen Maschine.
Mf(n)terminiert auf Eingabe von 0 gdw
Mnterminiert auf Eingabe vonn Damit:
Reduktion des speziellen Halteproblems auf das Null-Halteproblem.
(f ist total und berechenbar!) Also:
Unentscheidbarkeit des Null-Halteproblems folgt aus Unentscheidbarkeit des speziellen Halteproblems
Unentscheidbarkeit
Weitere unentscheidbare Probleme
Ähnlich kann man per Reduktion die Unentscheidbarkeit der folgenden Probleme zeigen: