Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.2. MODIFIKATIONEN VON TURINGMASCHINEN 81<br />
Die Masch<strong>in</strong>e entscheidet <strong>in</strong> jedem Schritt abhängig vom Zustand und dem Inhalt<br />
beider Spuren (1) was der nächste Zustand wird und (2) ob sich der Kopf bewegt<br />
oder beide Spuren gleichzeitig überschrieben werden.<br />
E<strong>in</strong>e 2-Spur-TM ist eigentlich e<strong>in</strong>e TM im vorher def<strong>in</strong>ierten S<strong>in</strong>ne, deren Bandalphabet<br />
aus Paaren (s1, s2), mit s1 ∈ Σ1 und s2 ∈ Σ2, geformt wird. Die e<strong>in</strong>zige<br />
Ausnahme ist das Paar (#, #), das jetzt als Blank-Symbol dient. Also ist e<strong>in</strong>e 2-<br />
Spur-TM e<strong>in</strong>fach e<strong>in</strong>e TM mit dem E<strong>in</strong>gabealphabet<br />
Σ = Σ1 × Σ2 − {(#, #)}.<br />
Analoges gilt für k-spurige Masch<strong>in</strong>en, die auf der i-ten Spur Symbole aus Σi tragen<br />
(i = 1, . . .,k): das s<strong>in</strong>d also die ” normalen“ TM mit E<strong>in</strong>gabealphabet<br />
Σ = Σ1 × Σ2 × · · · × Σk − {(#, #, . . .,#)}<br />
und mit dem Blanksymbol (#, #, . . . , #).<br />
Beispiel 3. Primzahltest<br />
Wir zeigen, wie man e<strong>in</strong>e 3-spurige TM konstruiert, die die Sprache L aller Primzahlen<br />
(<strong>in</strong> b<strong>in</strong>ärer Darstellung) akzeptiert. Hiermit kann man auch gut die Idee<br />
von Tur<strong>in</strong>g illustrieren, dass jeder Algorithmus mit e<strong>in</strong>er TM automatisiert werden<br />
kann. Wir verwenden hier den primitiven Algorithmus, der jede Zahl n durch<br />
alle Testzahlen 2, 3, 4, . . ., n − 1 teilt und n akzeptiert, falls alle Divisionen e<strong>in</strong>en<br />
positiven Rest ergeben.<br />
EINGABESPUR<br />
TESTZAHLSPUR<br />
HILFSSPUR<br />
. . . 1 0 1 1 1<br />
. . .<br />
. . . 1 0 1<br />
. . .<br />
. . . 1 0 1 1 1<br />
⇑<br />
. . .<br />
q0<br />
Die Spuren der TM s<strong>in</strong>d (1) E<strong>in</strong>gabespur, die während der Berechnung unverändert<br />
bleibt, (2) Testzahlspur, die am Anfang mit 1 beschriftet wird und <strong>in</strong> jedem Berechnungsdurchgang<br />
um e<strong>in</strong>s vergrößert wird (sodass <strong>in</strong> dem ersten Berechnungsdurchgang<br />
durch 2 dividiert wird, im zweiten mit 3, usw.) und (3) e<strong>in</strong>e Hilfsspur. Wir<br />
schreiben am Anfang also die gegebene Zahl n = 1, 2, 3, . . . auf Spur 1, die Zahl 1<br />
auf Spur 2 und nichts auf Spur 3. Der Initialzustand q0 überprüft (durch Vergleich<br />
mit Spur 2), ob auf Spur 1 e<strong>in</strong>e Zahl n ≥ 2 steht. Im Fall von n = 0 oder n = 1,<br />
wird der Zustand q0 zu<br />
q−, e<strong>in</strong>em nicht-f<strong>in</strong>alen Haltezustand<br />
verändert. (Also werden 0 und 1 nicht akzeptiert.) Falls n ≥ 2 ist, werden Berechnungsdurchgänge<br />
rekursiv durchgeführt, die man wie folgt beschreiben kann:<br />
Anfang e<strong>in</strong>es Berechnungsdurchganges: Spur 1 wird auf Spur 3 kopiert. Die Zahl<br />
auf Spur 2 wird um 1 vergrößert. Die Spuren 1 und 2 werden verglichen und falls<br />
die Zahlen gleich s<strong>in</strong>d, wird der Zustand zu<br />
q+, e<strong>in</strong>em f<strong>in</strong>alen Haltezustand<br />
geändert (die E<strong>in</strong>gabe wird also akzeptiert, denn ke<strong>in</strong>e Zahl kle<strong>in</strong>er n, die n teilt,<br />
wurde gefunden).<br />
Rumpf e<strong>in</strong>es Berechnungsdurchganges: Die Zahl von Spur 3 wird durch die auf Spur<br />
2 dividiert (z.B. durch wiederholte Subtraktion).<br />
Ende e<strong>in</strong>es Berechnungsdurchganges: Jetzt steht auf Spur 3 der Rest der E<strong>in</strong>gabe<br />
modulo der Testzahl. Falls der Rest 0 ist, wird der Zustand zu q− verändert. Falls<br />
der Rest positiv ist, wird der Kopf nach l<strong>in</strong>ks zum ersten Symbol 1 von Spur 1<br />
geschoben und e<strong>in</strong> neuer Berechnungsdurchgang beg<strong>in</strong>nt.<br />
Es ist leicht e<strong>in</strong>zusehen, dass sich diese <strong>in</strong>formale Beschreibung der Tur<strong>in</strong>gmasch<strong>in</strong>e<br />
relativ e<strong>in</strong>fach durch e<strong>in</strong>e formal def<strong>in</strong>ierte TM realisieren lässt.