Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ... Skript in PDF - Theoretische Informatik - Technische Universität ...
88 KAPITEL 3. TURINGMASCHINEN 4. L ∗ . Dieser Beweis ist analog zu 3. Zunächst prüft M, ob das Eingabeband leer ist und akzeptiert gegebenenfalls. Ansonsten erzeugen wir auf Band 2, statt nur einer Zahl i allein, alle möglichen aufsteigenden Listen (i0, i1, . . . , ir) von Zahlen mit 0 = i0 < i1 < i2 < · · · < ir = n wobei r = 1, . . .,n. Band 3 simuliert M: wir kopieren erst s1s2 . . .si1 auf Band 3 und, falls die Simulation in einem finalen Zustand von M hält, si1+1si1+2 . . . si2 auf Band 3 und, falls die Simulation wieder in einem finalen Zustand hält, si2+1 . . . si3 auf Band 3 usw. Falls alle Simulationen in finalen Zuständen von M halten, wird die Eingabe von M akzeptiert. Falls irgendeine der Simulationen in einem nichtfinalen Zustand hält, beginnt eine neue Etappe (mit der nächsten Liste auf Band 2). Wenn alle Listen auf Band 2 durchgegangen worden sind, ohne dass bis dahin M akzeptiert hat, hält M in einem nichtfinalen Zustand. Bemerkung 3. Die Bezeichnung ” rekursiv aufzählbar“ für die von TM akzeptierten Sprachen stammt von einer anderen Weise, wie TM angewendet werden können: zur Erzeugung von Sprachen. Wir beginnen mit dem leeren Band, also mit der Konfiguration (q0, ###) und lassen die TM berechnen (bis sie hält, oder unendlich lange, falls sie nie hält). Alle Konfigurationen, die den finalen Zustand qF haben, werden durchsucht und das Wort w rechts vom Lesekopf wird notiert; die Konfiguration hat also die Form (qF , vsw) (v ∈ Σ ∗ , s ∈ Σ), und wir notieren w. Die Sprache aller Wörter w, die so auf dem Band erzeugt werden, wird mit G(M) bezeichnet. Formale Definition: G(M) = {w; w ∈ Σ ∗ und es existieren v ∈ Σ ∗ und s ∈ Σ mit (q0, ###) ⊢ ∗ (qF , vsw)} Wir nennen G(M) die von M aufgezählte Sprache. Beispiel 4. Die TM M = ({q0, q1, qF }, {|}, δ, q0, qF) mit den Übergangsregeln (q0, |) → (q1, L) (q0, #) → (q0, |) (q1, |) → (qF,L) (q1, #) → (q1, |) (qF,#) → (q0, |) berechnet die leere Eingabe wie folgt: (q0, ###) ⊢ (q0, #|#) ⊢ (q1, #|#) ⊢ (q1, #||#) ⊢ (qF,#||#) also || ∈ G(M) ⊢ (q0, #|||#) ⊢ (q1, #|||#) ⊢ (q1, #||||#) ⊢ (qF,#||||#) also |||| ∈ G(M) ⊢ (q0, #|||||#) . . Wir sehen, dass M die Sprache aller positiven geraden Zahlen aufzählt. Satz 2. Jede Sprache G(M), die von einer Turingmaschine M aufgezählt wird, ist rekursiv aufzählbar. Beweis. Wir konstruieren eine 2-Band Turingmaschine M ′ , die die Sprache G(M) akzeptiert. Band 1 ist ein read-only-Eingabeband. Auf Band 2 wird die Maschine
3.3. ENTSCHEIDBARE PROBLEME UND REKURSIVE SPRACHEN 89 M simuliert (mit einem zu Beginn leeren Band 2). Jedesmal, wenn M ihren finalen Zustand erreicht, überprüft die Maschine M ′ , ob das Wort rechts des Kopfes auf Band 2 mit der Eingabe auf Band 1 übereinstimmt. Falls ja, hält M ′ und akzeptiert. Falls nein, geht die Simulation auf Band 2 weiter. Dann gilt L(M ′ ) = G(M). Satz 3. Jede rekursiv aufzählbare Sprache L kann durch eine Turingmaschine aufgezählt werden, d.h. hat die Form L = G(M) für eine Turingmaschine M. Beweis. 1. Für jede rekursive Sprache L zeigen wir, dass L von einer TM aufgezählt werden kann. Wir haben also eine Turingmaschine M0 mit L = L(M0), die auf jede Eingabe hält. Wir konstruieren eine 4-Band-TM M, die die Sprache L aufzählt (und dann simulieren wir M mit einer 1-Band-TM). . . . . . . k−mal . . . . . . Band 1: L(M0) wird aufgezählt Band 2: Schrittzähler Band 3: Alle Wörter der Länge ≤ k über Σ werden erzeugt Band 4: Simuliert M0 mit Eingabe aus Band 3 Am Anfang sind alle Bänder leer. Die Maschine M schreibt in Etappe Nummer k die Zahl k auf Band 2 (am Anfang ist k = 0) und erzeugt auf Band 3 systematisch alle Wörter s1 . . . sn über Σ mit n ≤ k. Jedes Wort s1 . . . sn auf Band 3 wird von M auf Band 4 kopiert, und anschließend simuliert M auf Band 4 die Maschine M0 mit dieser Eingabe. Falls s1 . . .sn von M0 akzeptiert wird, wird das Wort auf Band 1 kopiert, der Kopf wird ein Feld links von s1 gestellt und der Zustand zu qF geändert. Danach wird Band 1 wieder gelöscht. Falls s1 . . . sn nicht akzeptiert wird, wird das nächste Wort auf Band 3 erzeugt, oder, falls schon alle geprüft wurden, die nächste Etappe (k := k + 1 auf Band 2) wird begonnen. Es ist klar, dass die Maschine M auf Band 1 die Sprache L(M0) aufzählt. 2. Für jede rekursiv aufzählbare (aber nicht notwendigerweise rekursive) Sprache zeigen wir, dass L von einer TM aufgezählt werden kann. Der Unterschied zum Fall 1. ist der, dass M0 hier nicht immer halten muss. Wir lösen dieses Problem, indem wir die Simulation von M0 immer nur für höchstens k Schritte (wobei k der Inhalt des Bandes 2 ist) erlauben. Das heißt: falls M0 auf die Eingabe aus Band 3 in höchstens k Schritten hält und akzeptiert, aktivieren wir den Kopf auf Band 1 wie oben. Falls M0 entweder in höchstens k Schritten hält und nicht akzeptiert, oder nach k Schritten noch nicht gehalten hat, gehen wir zum nächsten Wort auf Band 3 (oder zur nächsten Etappe) über.
- 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 18 und 19: 84 KAPITEL 3. TURINGMASCHINEN (q0,
- Seite 20 und 21: 86 KAPITEL 3. TURINGMASCHINEN 3. Di
- 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
- Seite 68 und 69: 134 KAPITEL 6. KOMPLEXITÄT VON ALG
- Seite 70 und 71: 136 KAPITEL 6. KOMPLEXITÄT VON ALG
3.3. ENTSCHEIDBARE PROBLEME UND REKURSIVE SPRACHEN 89<br />
M simuliert (mit e<strong>in</strong>em zu Beg<strong>in</strong>n leeren Band 2). Jedesmal, wenn M ihren f<strong>in</strong>alen<br />
Zustand erreicht, überprüft die Masch<strong>in</strong>e M ′ , ob das Wort rechts des Kopfes auf<br />
Band 2 mit der E<strong>in</strong>gabe auf Band 1 übere<strong>in</strong>stimmt. Falls ja, hält M ′ und akzeptiert.<br />
Falls ne<strong>in</strong>, geht die Simulation auf Band 2 weiter. Dann gilt L(M ′ ) = G(M).<br />
Satz 3. Jede rekursiv aufzählbare Sprache L kann durch e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e aufgezählt<br />
werden, d.h. hat die Form L = G(M) für e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e M.<br />
Beweis. 1. Für jede rekursive Sprache L zeigen wir, dass L von e<strong>in</strong>er TM aufgezählt<br />
werden kann. Wir haben also e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e M0 mit<br />
L = L(M0),<br />
die auf jede E<strong>in</strong>gabe hält. Wir konstruieren e<strong>in</strong>e 4-Band-TM M, die die Sprache<br />
L aufzählt (und dann simulieren wir M mit e<strong>in</strong>er 1-Band-TM).<br />
. . .<br />
. . .<br />
<br />
k−mal<br />
<br />
. . .<br />
. . .<br />
Band 1: L(M0) wird aufgezählt<br />
Band 2: Schrittzähler<br />
Band 3: Alle Wörter der Länge ≤ k über Σ<br />
werden erzeugt<br />
Band 4: Simuliert M0 mit E<strong>in</strong>gabe aus Band 3<br />
Am Anfang s<strong>in</strong>d alle Bänder leer. Die Masch<strong>in</strong>e M schreibt <strong>in</strong> Etappe Nummer<br />
k die Zahl k auf Band 2 (am Anfang ist k = 0) und erzeugt auf Band 3<br />
systematisch alle Wörter s1 . . . sn über Σ mit n ≤ k.<br />
Jedes Wort s1 . . . sn auf Band 3 wird von M auf Band 4 kopiert, und anschließend<br />
simuliert M auf Band 4 die Masch<strong>in</strong>e M0 mit dieser E<strong>in</strong>gabe. Falls<br />
s1 . . .sn von M0 akzeptiert wird, wird das Wort auf Band 1 kopiert, der Kopf<br />
wird e<strong>in</strong> Feld l<strong>in</strong>ks von s1 gestellt und der Zustand zu qF geändert. Danach<br />
wird Band 1 wieder gelöscht. Falls s1 . . . sn nicht akzeptiert wird, wird das<br />
nächste Wort auf Band 3 erzeugt, oder, falls schon alle geprüft wurden, die<br />
nächste Etappe (k := k + 1 auf Band 2) wird begonnen.<br />
Es ist klar, dass die Masch<strong>in</strong>e M auf Band 1 die Sprache L(M0) aufzählt.<br />
2. Für jede rekursiv aufzählbare (aber nicht notwendigerweise rekursive) Sprache<br />
zeigen wir, dass L von e<strong>in</strong>er TM aufgezählt werden kann. Der Unterschied zum<br />
Fall 1. ist der, dass M0 hier nicht immer halten muss. Wir lösen dieses Problem,<br />
<strong>in</strong>dem wir die Simulation von M0 immer nur für höchstens k Schritte (wobei<br />
k der Inhalt des Bandes 2 ist) erlauben. Das heißt: falls M0 auf die E<strong>in</strong>gabe<br />
aus Band 3 <strong>in</strong> höchstens k Schritten hält und akzeptiert, aktivieren wir den<br />
Kopf auf Band 1 wie oben. Falls M0 entweder <strong>in</strong> höchstens k Schritten hält<br />
und nicht akzeptiert, oder nach k Schritten noch nicht gehalten hat, gehen<br />
wir zum nächsten Wort auf Band 3 (oder zur nächsten Etappe) über.