Handout - Institut für Theoretische Informatik - Technische ...

Handout - Institut für Theoretische Informatik - Technische ... Handout - Institut für Theoretische Informatik - Technische ...

iti.cs.tu.bs.de
von iti.cs.tu.bs.de Mehr von diesem Publisher
05.11.2013 Aufrufe

5. Unentscheidbare Probleme 5.1 Universelle Turingmaschine Der Einfachheit halber konzipieren wir M U als 3-Band-Maschine. Diese kann gemäß unserer Überlegungen in Kapitel 3 auch als 1-Band-Maschine realisiert werden; erst für diese ist dann der Code c(M U ) verfügbar. Auf B 0 steht zunächst die Eingabe c(M)w . Der vordere Teil c(M) wird nach B 1 verschoben und einem Syntaxcheck unterzogen. Damit verbleibt die Eingabe w für M auf B 0 , das ab jetzt die Rolle des einzigen Bandes von M spielt. Auf B 2 wird über den aktuellen Zustand q i von M mittels i + 1 Nullen buchgeführt; zunächst wird hier eine Null geschrieben. Die Simulation von M liest zunächst auf B 0 ein Symbol aus {#, 0, 1} . In Verbindung mit der Zustandsinformation wird auf B 2 nichtdeterministisch nach einem passenden Übergang auf B 1 gesucht. Gibt es keinen solchen, so hält M U , wobei genau dann der Finalzustand von M U anzunehmen ist, wenn 0 n auf B 2 steht. Andernfalls wird gemäß der rechten Seite der Zustandsindex auf B 2 angepaßt, die entsprechende Aktion auf B 0 ausgeführt, und der Kopf auf B 1 am Rand des Codes c(M) geparkt. Jürgen Koslowski (TU-BS) Theoretische Informatik 2 SS 2012 84 / 215

5. Unentscheidbare Probleme 5.2 Das Halteproblem 5.2 Das Halteproblem In Kapitel 3 war L halt := { c(M)w : M TM, die bei Eingabe w hält } erwähnt worden, aber erst jetzt ist die Binärcodierung von TM’n verfügbar. Problem: Bei deterministischen Maschinen läßt jede Eingabe höchstens eine Berechnung zu, somit ist klar, was mit “ M hält bei Eingabe w ” gemeint ist. Aber wie steht’s mit nichtdeterministischen Maschinen? Lösung: Wie in Kapitel 3 gesehen, besitzt jede nTM M eine sog. Determinisierung M ′ , die M simuliert. Zwar war M ′ als 4-Band Maschine beschrieben worden, aber diese kann systematisch in eine STM M d transformiert werden. Beobachtung 0: M d bzw. M ′ hält genau dann bei Eingabe w , wenn w ∈ L(M) oder jeder Berechnungspfad für w terminiert, ohne zu akzeptieren. Beobachtung 1: Die Funktion c(M) ↦→ c(M d ) ist Turing-berechenbar. Jürgen Koslowski (TU-BS) Theoretische Informatik 2 SS 2012 85 / 215

5. Unentscheidbare Probleme 5.1 Universelle Turingmaschine<br />

Der Einfachheit halber konzipieren wir M U<br />

als 3-Band-Maschine. Diese<br />

kann gemäß unserer Überlegungen in Kapitel 3 auch als 1-Band-Maschine<br />

realisiert werden; erst <strong>für</strong> diese ist dann der Code c(M U<br />

) verfügbar.<br />

Auf B 0 steht zunächst die Eingabe c(M)w .<br />

Der vordere Teil c(M) wird nach B 1 verschoben und einem<br />

Syntaxcheck unterzogen. Damit verbleibt die Eingabe w <strong>für</strong> M auf<br />

B 0 , das ab jetzt die Rolle des einzigen Bandes von M spielt.<br />

Auf B 2 wird über den aktuellen Zustand q i von M mittels i + 1<br />

Nullen buchgeführt; zunächst wird hier eine Null geschrieben.<br />

Die Simulation von M liest zunächst auf B 0 ein Symbol aus<br />

{#, 0, 1} . In Verbindung mit der Zustandsinformation wird auf B 2<br />

nichtdeterministisch nach einem passenden Übergang auf B 1 gesucht.<br />

Gibt es keinen solchen, so hält M U<br />

, wobei genau dann der<br />

Finalzustand von M U<br />

anzunehmen ist, wenn 0 n auf B 2 steht.<br />

Andernfalls wird gemäß der rechten Seite der Zustandsindex auf B 2<br />

angepaßt, die entsprechende Aktion auf B 0 ausgeführt, und der Kopf<br />

auf B 1 am Rand des Codes c(M) geparkt.<br />

Jürgen Koslowski (TU-BS) <strong>Theoretische</strong> <strong>Informatik</strong> 2 SS 2012 84 / 215

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!