Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ... Skript in PDF - Theoretische Informatik - Technische Universität ...
84 KAPITEL 3. TURINGMASCHINEN (q0, aabbcc, #) ⊢ (q0, aabbcc, x) ⊢ (q0, aabbcc, x#) ⊢ (q0, aabbcc, xx) ⊢ (q0, aabbcc, xx#) ⊢ (q0, aabbcc, xx#) ⊢ (q0, aabbcc, xx#) ⊢ (q0, aabbcc, xx#) ⊢ (q0, aabbcc#, xx#) ⊢ (qF , aabbcc#, xx#) und wird akzeptiert. Die Eingabe aabcc wird wie folgt berechnet: (q0, aabcc, #) ⊢ (q0, aabcc, x) ⊢ (q0, aabcc, x#) ⊢ (q0, aabcc, xx) ⊢ (q0, aabcc, xx#) ⊢ (q0, aabcc, xx) ⊢ (q0, aabcc, xx#) und wird nicht akzeptiert. Bemerkung 3. Simulation einer 2-Band-TM durch eine 1-Band-TM Sei M = (Q, Σ, δ, q0, F) eine 2-Band-TM. Wir konstruieren eine 1-Band-TM mit zusätzlichem Gedächtnis, M, die die Maschine M Schritt für Schritt simuliert. Das Band von M ist 4-spurig: Band 1 Band 2 a a b a a 0 1 0 ⇑ ⇑ Maschine M . . . a a b a a # # # # . . . . . . # # # ⇑ # # # # # . . . . . . 0 1 0 # # # # # # . . . . . . ⇑ # # # # # # # # . . . Maschine M Band 1 der Maschine M wird auf die Spur 1 von M kopiert, die Kopfposition des Kopfes von Band 1 steht auf der Spur 2. Analog wird Band 2 auf Spur 3 von M kopiert und die Kopfposition des Bandes auf Spur 4. Das Eingabealphabet von M ist also Σ = (Σ ∪ {#}) × {⇑, #} × (Σ ∪ {#}) × {⇑, #} − {(#, #, #, #)}, wobei (#, #, #, #) das Blank-Symbol ist. Die Zustände von M und M sind dieselben. Die Maschine M muss sich die letzten von Kopf 1 und Kopf 2 gelesenen Symbole merken, also hat sie ein zusätzliches Gedächtnis der Form (s1, s2, x), wobei si ∈ Σi ∪ {#} das aktuelle Symbol von Band i (= 1, 2) der Turingmaschine M ist und x ∈ {l, r} aussagt, ob Kopf 2 (also das Symbol ⇑ auf Spur 4)links oder rechts von Kopf 1 (dem Symbol ⇑ auf Spur 2) steht. 1. Anfang der Simulation: Auf Spur 1 steht die Eingabe v1v2 . . . vn von M, die Spuren 2 - 4 sind leer. Wir schreiben je ein ⇑ auf die Spuren 2 und 4 unter v1 von Spur 1. SPUR 1 SPUR 2 SPUR 3 SPUR 4 . . . # v1 v2 . . . vn # . . . . . . # ⇑ # . . . . . . . . . # # # . . . . . . . . . # ⇑ # . . . . . .
3.3. ENTSCHEIDBARE PROBLEME UND REKURSIVE SPRACHEN 85 2. Berechnungsschritt: Am Anfang der Simulation einers Schrittes von M steht der Kopf von M unter dem Symbol ⇑ auf Spur 2. Das gerade gelesene Symbol von Spur 1 wird als s1 im zusätzlichen Gedächtnis gespeichert. Danach sucht der Kopf von M das Symbol ⇑ auf Spur 4: entweder stehen die beiden Symbole ⇑ untereinander, sonst suchen wir links bzw. rechts, falls im zusätzlichen Gedächtnis x = l bzw. x = r steht. Sobald ⇑ gefunden ist, wird das gerade gelesene Symbol von Spur 3 als s2 gespeichert. Aufgrund des Zustandes q von M und des Paares (s1, s2) im zusätzlichen Gedächtnis werden jetzt die Kopfpositionssymbole auf den Spuren 3 und 4 so bewegt, wie die Maschine M die Köpfe bewegt, und die Symbole auf den Spuren 1 und 3 werden so überschrieben, wie M die Symbole auf beiden Bändern überschreibt. (Das geschieht in endlich vielen Schritten der Kopfbewegung von M.) Die Eingabe x ∈ {l, r} im Gedächtnis wir aktualisiert und der Kopf wird nach ⇑ auf Spur 2 bewegt. 3. Ende der Simulation: Die Maschine M hält genau dann, wenn eine Haltekonfiguration von M erreicht wird. Und M akzeptiert genau dann, wenn M akzeptiert. Satz 1. Für jede k-Band-TM gibt es eine (1-Band-) TM, die dieselbe Sprache akzeptiert. Beweis. Für k = 2 folgt der Beweis aus der gerade beschriebenen Simulation und dem Fakt, dass eine 4-spurige TM mit zusätzlichem Gedächtnis durch eine TM simuliert werden kann (siehe Kapitel 3.2.2). Für k > 2 ist der Beweis analog und wird dem Leser überlassen. 3.3 Entscheidbare Probleme und rekursive Sprachen Wie oben erwähnt, repräsentiert eine TM eine formale Darstellung des Begriffs eines Algorithmus, indem sie eine beliebige Eingabe berechnet (und entweder akzeptiert oder nicht). Die Frage ist, ob wir nur terminierende Algorithmen betrachten dürfen, oder ob wir auch Algorithmen erlauben, die unendlich lange berechnen. Im Berechnungsmodell der TM entsprechen den terminierenden Algorithmen die TM, die auf jede Eingabe halten. Das bedeutet, dass das Nichtakzeptieren immer dadurch erfolgt, dass die TM in einem nichtfinalen Zustand hält. Die allgemeineren, nicht terminierenden Algorithmen werden von allgemeinen TM repräsentiert. Probleme, die ein terminierender Algorithmus löst, heißen entscheidbar. Die entsprechenden formalen Sprachen werden entweder entscheidbar oder rekursiv genannt. Die allgemeineren Sprachen heißen semientscheidbar oder (aus Gründen, die wir später erklären) rekursiv aufzählbar: Definition. Eine Sprache L heißt rekursiv oder entscheidbar, falls es eine Turingmaschine M gibt, die L akzeptiert und auf jede Eingabe hält. Eine Sprache L heißt rekursiv aufzählbar oder semientscheidbar, falls es eine Turingmaschine M gibt, die L akzeptiert. Beispiel 1. Die folgenden Sprachen sind rekursiv, denn die oben konstruierten TM halten auf jede Eingabe: 1. Die Sprache aller durch 5 teilbaren Zahlen (siehe Beispiel 1 in Abschnitt 3.1). 2. Die Sprache aller Primzahlen (siehe Beispiel 3 in Abschnitt 3.2.4).
- Seite 1: THEORETISCHE INFORMATIK Vorlesungss
- Seite 4 und 5: ii INHALTSVERZEICHNIS 3.4 Nichtdete
- Seite 6 und 7: iv INHALTSVERZEICHNIS
- Seite 8 und 9: 74 KAPITEL 3. TURINGMASCHINEN hat h
- Seite 10 und 11: 76 KAPITEL 3. TURINGMASCHINEN Die B
- Seite 12 und 13: 78 KAPITEL 3. TURINGMASCHINEN Diese
- Seite 14 und 15: 80 KAPITEL 3. TURINGMASCHINEN ist.
- Seite 16 und 17: 82 KAPITEL 3. TURINGMASCHINEN 3.2.5
- Seite 20 und 21: 86 KAPITEL 3. TURINGMASCHINEN 3. Di
- Seite 22 und 23: 88 KAPITEL 3. TURINGMASCHINEN 4. L
- Seite 24 und 25: 90 KAPITEL 3. TURINGMASCHINEN 3.4 N
- Seite 26 und 27: 92 KAPITEL 3. TURINGMASCHINEN 1. Di
- Seite 28 und 29: 94 KAPITEL 3. TURINGMASCHINEN sie k
- Seite 30 und 31: 96 KAPITEL 3. TURINGMASCHINEN falls
- Seite 32 und 33: 98 KAPITEL 4. CHURCHSCHE THESE Zeil
- Seite 34 und 35: 100 KAPITEL 4. CHURCHSCHE THESE 0.
- Seite 36 und 37: 102 KAPITEL 4. CHURCHSCHE THESE 4.2
- Seite 38 und 39: 104 KAPITEL 4. CHURCHSCHE THESE Bei
- Seite 40 und 41: 106 KAPITEL 4. CHURCHSCHE THESE [uq
- Seite 42 und 43: 108 KAPITEL 4. CHURCHSCHE THESE Bew
- Seite 44 und 45: 110 KAPITEL 4. CHURCHSCHE THESE Alg
- Seite 46 und 47: 112 KAPITEL 4. CHURCHSCHE THESE All
- Seite 48 und 49: 114 KAPITEL 4. CHURCHSCHE THESE Bem
- Seite 50 und 51: 116 KAPITEL 4. CHURCHSCHE THESE Sei
- Seite 52 und 53: 118 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 54 und 55: 120 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 56 und 57: 122 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 58 und 59: 124 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 60 und 61: 126 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 62 und 63: 128 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 64 und 65: 130 KAPITEL 5. UNENTSCHEIDBARE PROB
- Seite 66 und 67: 132 KAPITEL 6. KOMPLEXITÄT VON ALG
84 KAPITEL 3. TURINGMASCHINEN<br />
(q0, aabbcc, #) ⊢ (q0, aabbcc, x)<br />
⊢ (q0, aabbcc, x#)<br />
⊢ (q0, aabbcc, xx)<br />
⊢ (q0, aabbcc, xx#)<br />
⊢ (q0, aabbcc, xx#)<br />
⊢ (q0, aabbcc, xx#)<br />
⊢ (q0, aabbcc, xx#)<br />
⊢ (q0, aabbcc#, xx#)<br />
⊢ (qF , aabbcc#, xx#)<br />
und wird akzeptiert. Die E<strong>in</strong>gabe aabcc wird wie folgt berechnet:<br />
(q0, aabcc, #) ⊢ (q0, aabcc, x)<br />
⊢ (q0, aabcc, x#)<br />
⊢ (q0, aabcc, xx)<br />
⊢ (q0, aabcc, xx#)<br />
⊢ (q0, aabcc, xx)<br />
⊢ (q0, aabcc, xx#)<br />
und wird nicht akzeptiert.<br />
Bemerkung 3. Simulation e<strong>in</strong>er 2-Band-TM durch e<strong>in</strong>e 1-Band-TM<br />
Sei M = (Q, Σ, δ, q0, F) e<strong>in</strong>e 2-Band-TM. Wir konstruieren e<strong>in</strong>e 1-Band-TM mit<br />
zusätzlichem Gedächtnis, M, die die Masch<strong>in</strong>e M Schritt für Schritt simuliert. Das<br />
Band von M ist 4-spurig:<br />
Band 1<br />
Band 2<br />
a a b a a<br />
0 1 0<br />
⇑<br />
⇑<br />
Masch<strong>in</strong>e M<br />
. . . a a b a a # # # # . . .<br />
. . . # # # ⇑ # # # # # . . .<br />
. . . 0 1 0 # # # # # # . . .<br />
. . . ⇑ # # # # # # # # . . .<br />
Masch<strong>in</strong>e M<br />
Band 1 der Masch<strong>in</strong>e M wird auf die Spur 1 von M kopiert, die Kopfposition des<br />
Kopfes von Band 1 steht auf der Spur 2. Analog wird Band 2 auf Spur 3 von M<br />
kopiert und die Kopfposition des Bandes auf Spur 4. Das E<strong>in</strong>gabealphabet von M<br />
ist also<br />
Σ = (Σ ∪ {#}) × {⇑, #} × (Σ ∪ {#}) × {⇑, #} − {(#, #, #, #)},<br />
wobei (#, #, #, #) das Blank-Symbol ist.<br />
Die Zustände von M und M s<strong>in</strong>d dieselben. Die Masch<strong>in</strong>e M muss sich die letzten<br />
von Kopf 1 und Kopf 2 gelesenen Symbole merken, also hat sie e<strong>in</strong> zusätzliches<br />
Gedächtnis der Form (s1, s2, x), wobei si ∈ Σi ∪ {#} das aktuelle Symbol von Band<br />
i (= 1, 2) der Tur<strong>in</strong>gmasch<strong>in</strong>e M ist und x ∈ {l, r} aussagt, ob Kopf 2 (also das<br />
Symbol ⇑ auf Spur 4)l<strong>in</strong>ks oder rechts von Kopf 1 (dem Symbol ⇑ auf Spur 2)<br />
steht.<br />
1. Anfang der Simulation: Auf Spur 1 steht die E<strong>in</strong>gabe v1v2 . . . vn von M, die<br />
Spuren 2 - 4 s<strong>in</strong>d leer. Wir schreiben je e<strong>in</strong> ⇑ auf die Spuren 2 und 4 unter v1<br />
von Spur 1.<br />
SPUR 1<br />
SPUR 2<br />
SPUR 3<br />
SPUR 4<br />
. . . # v1 v2 . . . vn # . . .<br />
. . . # ⇑ # . . .<br />
. . .<br />
. . . # # # . . .<br />
. . .<br />
. . . # ⇑ # . . .<br />
. . .