Unterabschnitte
Die Sprache
des Halteproblems ist
Die Sprache
für das spezielle Halteproblem ist
Die Sprache H des Halteproblems ist unentscheidbar, d.h. es gibt keine Turingmaschine die H entscheidet.
Wir erstellen eine Tabelle.
- Auf der x-Achse tragen wir jede mögliche Eingabe auf, die ein Algorithmus haben kann.
- Auf der y-Achse tragen wir alle möglichen Algorithmen auf13.
Jede Halteproblemtabellenzelle enthält ein
- ,,JA'': Wenn der angegebene Algorithmus für die Eingabe terminiert.
- ,,NEIN'': Wenn der angegebene Algorithmus für die Eingabe nicht terminiert, d.h endlos läuft.
Der Halteproblemalgorithmus muß sich komplementär zur Tabelle verhalten. Wenn
- Der Algorithmus terminiert, also ein ,,JA'' dort steht, muß er endlos laufen.
- Der Algorithmus endlos läuft, also ein ,,NEIN'' dort steht, muß er verwerfen.
Nun betrachten wir das Komplement der Diagonalen der Tabelle. Da der Halteproblemalgorithmus irgendwann selbst in der Tabelle auftaucht
14, muß er selbst entscheiden, ob er anhält. Wenn der der Halteproblemalgorithmus endlos läuft, muß er gleichzeitig terminieren, wenn er terminiert, muß er endlos laufen
15.
Wir können eine universelle Turingmaschine
konstruieren, die die Turingmaschine
simuliert. Der Algorithmus, den
ausführt, soll überprüft werden, ob er bei der enthaltenen Eingabe terminiert. Die Turingmaschine
akzeptiert, sobald der
die Berechnung beendet hat. Wenn aber
endlos läuft, dann akzeptiert auch
nie.
Semientscheidbarkeit
Die Sprache des speziellen Halteproblems lautet:
Definitionen:
- ist die DTM von der angenommen wird, daß sie die Sprache entscheidet.
- ist die DTM des Halteproblemalgorithmusses:
- Läuft endlos, so akzeptiert .
- Akzeptiert , so läuft endlos.
Sei
. D.h. der Halteproblemalgorithmus wird auf sich selbst angewendet.
1.Fall:
|
läuft endlos |
|
akzeptiert |
|
|
|
hält an |
|
Widerspruch! |
2.Fall:
|
akzeptiert |
|
läuft endlos |
|
|
|
läuft endlos |
|
Widerspruch! |
L heißt auf K reduzierbar (), wenn es eine Funktion gibt, so daß gilt
d.h. daß es eine totale Übergangsfunktion gibt, die aus jeder Eingabe für L eine Eingabe für K macht und daß L und K für die gleiche (für K vorher transformierte) Eingabe akzeptieren, verwerfen oder endlos laufen.
- Ein Algorithmus für L wird erstellt, indem ein Algorithmus K benutzt wird.
- Weiterhin kann auch L als ein Spezialfall von K betrachtet werden. Dies ist keine Reduktion mehr, sondern eine Einbettung in das Problem K.
Beispiele für den ersten Punkt:
Beispiele für den letzten Punkt:
- Das spezielle Halteproblem wird in das allgemeine Halteproblem eingebettet. Hiermit zeigen wird, daß auch das allgemeine Halteproblem unentscheidbar ist.
- wird auf zurückgeführt. ist ein Spezialfall von . Somit gilt diese polynomielle Reduktion, da wir sogar überhaupt gar keine Umformung durchführen müssen.
K entscheidbar
L entscheidbar
K semientscheidbar
L semientscheidbar
K unentscheidbar
L unentscheidbar
Wir zeigen, daß das spezielle Halteproblem auf das Halteproblem reduzierbar ist
. Offenbar kann man das spezielle Halteproblem mit der Funktion
in das allgemeine Halteproblem überführen (da die DTM
ja auf sich selbst angewendet wird). Somit ist dann genauso wie das spezielle Halteproblem auch das allgemeine Halteproblem unentscheidbar, da das spezielle Halteproblem ein Spezialfall des allgemeinen Halteproblem ist
16 . Wir erhalten: Die Sprache H
ist unentscheidbar.
Die Sprache
(das Komplement des Halteproblems)
ist nicht semientscheidbar.
- Zunächst beinhaltet die Komplementsprache auch alle Worte, die nicht der Form
sind. Diese schließen wir jedoch aus.
- Das spezielle Halteproblem war unentscheidbar (haben wir bewiesen), d.h. daß es keine DTM gibt, die H' entscheidet, mit anderen Worten, es gibt keine DTM, die alle Wörter verwirft.
- Das Komplement des speziellen Halteproblems ist noch schärfer. Da das Verhalten der DTM17 genau umgedreht sein muß, ist es nicht sicher, ob die DTM alle Wörter
akzeptiert.
nicht semientscheidbar
Angenommen
ist semientscheidbar. Wir definieren eine DTM
, so daß gilt:
Unsere DTM
akzeptiert oder läuft nur endlos. Verwerfen tut sie nicht.
Sei
.
Wir setzen weiterhin
:
Es gilt:
|
|
|
|
|
Berechnung für akzeptierend |
|
hält bei der Eingabe an |
|
|
Widerspruch
Fußnoten
- ... auf13
- Jeder Algorithmus ist formulierbar in endlich vielen Programmzeilen.
- ... auftaucht14
- Der Halteproblemalgorithmus ist ein Algorithmus und in der Tabelle sind alle Algorithmen aufgelistet.
- ... laufen15
- In der Tabelle müßten ein ,,J'' und ein ,,N'' gleichzeitig stehen.
- ... ist16
- Wir machen hier nicht den Rückschluß, daß man ein unbekanntes Problem L auf ein bekanntes Problem K zurückführt, sondern wir sehen das spezielle Halteproblem als einen Spezialfall des Halteproblems an. Deshalb schreiben wir , obwohl H eigentlich noch gar nicht bekannt ist.
- ... DTM17
- Diese gibt es eigentlich gar nicht, aber wir nehmen einfach mal an, daß es sie gibt.