Wir sagen, dass eine Turing-Maschine tödlich ist, wenn für jede Startkonfiguration anhält (insbesondere können der Bandinhalt und der Anfangszustand beliebig sein). Wird jede rekursive Sprache von einer sterblichen Turing-Maschine erkannt? (dh wenn es ein TM gibt, das akzeptiert , gibt es auch ein tödliches TM, das L akzeptiert )
computability
Marcin Kotowski
quelle
quelle
Antworten:
Hier sind zwei Ergebnisse, die in Charles E. Hughes "Unentscheidbarkeit der endlichen Konvergenz für Verkettungs-, Einfüge- und Bounded-Shuffle-Operatoren" zitiert wurden :
Satz 3 : Die Klasse der sterblichen Turingmaschinen ist genau die Klasse der Turingmaschinen mit konstanter Laufzeit.
st für alle Erstkonfigurationen C , M stoppt in nicht mehr als s Schritten }Co n s t T= { M| ∃ s C M s }
Ich denke also , dass wir folgendes ableiten: Da eine tödliche Turingmaschine , lassen M ' , s die entsprechende konstante Zeit TM und seine Laufzeit sein. Die von M über dem Alphabet Σ = { 0 , 1 } erkannte Sprache ist genau:M M′, s M Σ = { 0 , 1 }
Die Klasse der Sprachen, die von sterblichen Turing-Maschinen erkannt wird, ist also eine angemessene Untergruppe der Klasse der regulären Sprachen. Zum Beispiel können Sie mit jeder konstanten Zeit TM täuschen.L = { ( 0 | 1 )∗1∗}
Interessant wird es, wenn wir versuchen, zu entscheiden, ob eine Turing-Maschine tödlich ist, weil wir mit willkürlichem (endlichem) Anfangsband und Zustand konfrontiert sind.
Satz 4 : Die Menge der sterblichen Turing-Maschinen ist rekursiv aufzählbar.
quelle
Ich denke, dort ist. Wir müssen für jedes L und M, das es akzeptiert, festlegen, dass alle seine Züge auf einem Band aufgezeichnet werden und nach jedem "Hauptschritt" überprüft wird, ob alle seine Schritte bis zu diesem Punkt wirklich gültig waren. Im Folgenden gebe ich eine Skizze darüber, wie eine solche Maschine hergestellt werden sollte (die einige kleinere Fehler enthalten könnte, aber die Hauptidee sollte in Ordnung sein).
Man bezeichne eine Maschine, die L durch T akzeptiert. Nun beschreiben wir M. Zuerst kopieren wir x auf ein separates Speicherband. Wann immer T sich dann bewegt, schreiben wir es nach x auf dieses Speicherband. Danach kopieren wir den gesamten Inhalt der Bänder von T in einige zusätzliche Arbeitsbänder und prüfen, ob T von der Startkonfiguration nach den auf dem Speicherband aufgezeichneten Schritten wirklich in seinen aktuellen Zustand gelangen würde. Wenn nicht, halten wir an. Wenn ja, fahren wir fort.
quelle