Handout - Institut für Theoretische Informatik - Technische ...
Handout - Institut für Theoretische Informatik - Technische ... Handout - Institut für Theoretische Informatik - Technische ...
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
- Seite 33 und 34: 3. Turingmaschinen 3.2 Die Chomsky-
- Seite 35 und 36: 3. Turingmaschinen 3.2 Die Chomsky-
- Seite 37 und 38: 3. Turingmaschinen 3.3 Abschlußeig
- Seite 39 und 40: 3. Turingmaschinen 3.4 Turing-berec
- Seite 41 und 42: 3. Turingmaschinen 3.4 Turing-berec
- Seite 43 und 44: 3. Turingmaschinen 3.4 Turing-berec
- Seite 45 und 46: 3. Turingmaschinen 3.4 Turing-berec
- Seite 47 und 48: 4. Church-Turing-These Kapitel 4 Di
- Seite 49 und 50: RAM 4. Church-Turing-These 4.1 RAM
- Seite 51 und 52: 4. Church-Turing-These 4.1 RAM Beim
- Seite 53 und 54: 4. Church-Turing-These 4.1 RAM 4.1.
- Seite 55 und 56: 4. Church-Turing-These 4.1 RAM 4.1.
- Seite 57 und 58: 4. Church-Turing-These 4.1 RAM Bewe
- Seite 59 und 60: 4. Church-Turing-These 4.2 Rekursiv
- Seite 61 und 62: 4. Church-Turing-These 4.2 Rekursiv
- Seite 63 und 64: 4. Church-Turing-These 4.2 Rekursiv
- Seite 65 und 66: 4. Church-Turing-These 4.2 Rekursiv
- Seite 67 und 68: 4. Church-Turing-These 4.2 Rekursiv
- Seite 69 und 70: 4. Church-Turing-These 4.2 Rekursiv
- Seite 71 und 72: 4. Church-Turing-These 4.2 Rekursiv
- Seite 73 und 74: 4. Church-Turing-These 4.2 Rekursiv
- Seite 75 und 76: 4. Church-Turing-These 4.2 Rekursiv
- Seite 77 und 78: 5. Unentscheidbare Probleme Kapitel
- Seite 79 und 80: 5. Unentscheidbare Probleme 5.1 Uni
- Seite 81 und 82: 5. Unentscheidbare Probleme 5.1 Uni
- Seite 83: 5. Unentscheidbare Probleme 5.1 Uni
- Seite 87 und 88: 5. Unentscheidbare Probleme 5.2 Das
- Seite 89 und 90: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 91 und 92: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 93 und 94: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 95 und 96: 5. Unentscheidbare Probleme 5.3 Wei
- Seite 97 und 98: 5. Unentscheidbare Probleme 5.4 Sat
- Seite 99 und 100: 5. Unentscheidbare Probleme 5.4 Sat
- Seite 101 und 102: 6. Komplexität von Algorithmen Kap
- Seite 103 und 104: 6. Komplexität von Algorithmen 6.0
- Seite 105 und 106: 6. Komplexität von Algorithmen 6.0
- Seite 107 und 108: 6. Komplexität von Algorithmen 6.1
- Seite 109 und 110: 6. Komplexität von Algorithmen 6.1
- Seite 111 und 112: 6. Komplexität von Algorithmen 6.1
- Seite 113 und 114: 6. Komplexität von Algorithmen 6.1
- Seite 115 und 116: 6. Komplexität von Algorithmen 6.1
- Seite 117 und 118: 6. Komplexität von Algorithmen 6.1
- Seite 119 und 120: 6. Komplexität von Algorithmen 6.1
- Seite 121 und 122: 6. Komplexität von Algorithmen 6.2
- Seite 123 und 124: 6. Komplexität von Algorithmen 6.2
- Seite 125 und 126: 6. Komplexität von Algorithmen 6.2
- Seite 127 und 128: 6. Komplexität von Algorithmen 6.2
- Seite 129 und 130: 6. Komplexität von Algorithmen 6.3
- Seite 131 und 132: 6. Komplexität von Algorithmen 6.3
- Seite 133 und 134: 6. Komplexität von Algorithmen 6.4
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