Betrachten Sie das Problem, eine Eingabe-Turing-Maschine zu nehmen und festzustellen, ob die endgültige Zelle a ist oder nach der Berechnung wird angehalten. In Fällen, in denen etwas anderes geschrieben wird oder nicht angehalten wird, dürfen Sie eine Antwort geben (aber Sie müssen anhalten und auf alle Eingaben eine Antwort geben).
Ist dieses Problem unentscheidbar? Mein Bauch sagt, dass es sein sollte, aber ich kann keine Reduzierung des Halteproblems finden. Bei einer Turing-Maschine, die möglicherweise anhält oder nicht, können wir die Maschine so einrichten, dass sie mit a endet für den Fall, dass es anhält, aber im ununterbrochenen Fall mit nichts fertig werden kann, könnte das Orakel einfach sagen in diesem Fall, ohne herausfinden zu müssen, ob die Maschine tatsächlich anhält.
Beachten Sie, dass eine Reduzierung in die andere Richtung einfach ist. Wenn Sie das Problem des Anhaltens lösen können, geben Sie ein TM ein, das entweder mit endet oder ersetzen wir die -Schreibschritt mit einer Endlosschleife zum Erstellen eines neuen TM. Wenn das neue TM anhält, sagen wir "es schreibt a"und wenn es nicht aufhört, sagen wir", schreibt es a ". Diese Antwort ist garantiert richtig, solange das TM tatsächlich mit a anhält oder , damit wir das ursprüngliche Problem lösen können.
haltify
kann das Ergebnis von auswählengood()
und ist in beiden Fällen selbstkonsistent, kehrt aber trotzdem zurück, weil (durch Voodoo-Magie)haltify(good)
angehalten wird, so dass es sich nicht um eine Endlosschleife handelt, sondern vielmehr um eine Einschränkung des Antworten. (In Wirklichkeit besteht der Weg zur Implementierunghaltify
nur darin, das Argument auszuführen. In diesem Fall werden beidegood
undevil
durch Divergenz vor Widersprüchen bewahrt, aber dann müssen wir natürlich zulassenhaltify
, dass wir auseinander gehen, was den Punkt