12.07.2015 Aufrufe

4. Varianten des Turingmaschinen-Konzeptes

4. Varianten des Turingmaschinen-Konzeptes

4. Varianten des Turingmaschinen-Konzeptes

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

ITERATIVE ANWEISUNGEN II: while-SCHLEIFENIn höheren Programmiersprachen werden Sprünge (und Fallunterscheidungen)durch Schleifen ersetzt. Im Folgenden führen wirsolch ein höhere Programmiersprache für das <strong>Turingmaschinen</strong>konzeptein (die sog. Turingoperatoren), die auf while-Schleifenbasiert.Iteration von f nach einem Test t : D → {0, 1}:Iter t (f)(s) = f ns (s),wobei n s das kleinste n mit t(f n (s)) = 1 ist, falls solch ein nexistiert, und Iter t (f)(s)↑ andernfalls.Wir erinnern hierzu zunächst an das Schleifenkonzept.D.h. f wird so oft ausgeführt, bis t erstmals positiv ist. Dabeiwird vor jeder Ausführung von f getestet, ob t gilt; ist t bereitszu Beginn positiv, wird also f nie ausgeführt (while-Schleife):Iter t (f)(s)ˆ= while t(s) = 0 do s := f(s)ITERATIVE ANWEISUNGEN I: for -SCHLEIFENTURINGOPERATOREN (TOs)n-fache Iteration Iter(f, n) = f n einer Operation f : D → D:Iter(f, 0)(s) = f 0 (s) = sIter(f, n + 1)(s) = f n+1 (s) = f(f n (s)) = f(Iter(f, n)(s)),D.h. es wird zu Beginn bereits festgelegt, wie oft f ausgeführtwird (klassische for -Schleife):Iter(f, n)(s)ˆ= for i = 1 to n do s := f(s)Auf Schleifen basierende <strong>Turingmaschinen</strong>-Programme definieren wir mit Hilfesog. Turingoperatoren.Solch ein Operator ist eine partielle TM-Speichertransformation basierendauf Verkettung und Iteration der elementaren TM-Operationen (Druck- undBewegungsbefehle), wobei die elementaren TM-Tests (Steht a auf dem Arbeitsfeld?)als Stoppkriterien bei den Iterationen dienen.Da die Speicherstruktur einer TM nur von deren Bandalphabet Γ abhängt,sprechen wir von Turingoperatoren P über Γ. Jeder solcher Operator P isteine partielle FunktionP : TB Γ → TB Γ ,wobei TB Γ = BI Γ × Z die Menge der Turingbänder über dem Bandalphabet Γsei.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!