1.5 Turing-Berechenbarkeit

Ähnliche Dokumente
2.4 Kontextsensitive und Typ 0-Sprachen

Berechenbarkeit. Script, Kapitel 2

Einführung in die Theoretische Informatik

LOOP-Programme: Syntaktische Komponenten

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst

Theoretische Informatik SS 03 Übung 3

11.1 Kontextsensitive und allgemeine Grammatiken

Theoretische Informatik I (Grundzüge der Informatik I)

Formale Sprachen und Automaten

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Mächtigkeit von WHILE-Programmen

8. Turingmaschinen und kontextsensitive Sprachen

Formale Sprachen. Script, Kapitel 4. Grammatiken

Theoretische Informatik 2

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Rekursiv aufzählbare Sprachen

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Theoretische Informatik 1

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Theoretische Informatik. Alphabete, Worte, Sprachen

Ausgewählte unentscheidbare Sprachen

Zusammenfassung Grundzüge der Informatik 4

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Theoretische Informatik 1

Einführung in die Theoretische Informatik

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

Syntax von LOOP-Programmen

Theoretische Informatik Mitschrift

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Theoretische Informatik II

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Wortproblem für kontextfreie Grammatiken

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Einführung in die Informatik

BuK 2000 Lösungen Übungen

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Motivation natürliche Sprachen

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

Theoretische Informatik Testvorbereitung Moritz Resl

Einführung in die Theoretische Informatik

Theorie der Informatik

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Theorie der Informatik

Theoretische Informatik

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Theoretische Grundlagen der Informatik

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Was bisher geschah: Formale Sprachen

Grundlagen der Theoretischen Informatik

Theoretische Informatik SS 03 Übung 4

Informatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005

Rekursive Funktionen Basisfunktionen

Grundlagen der Theoretischen Informatik

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Sprachen und Automaten. Tino Hempel

Einführung in die Theoretische Informatik

Berechenbarkeits- und Komplexitätstheorie

(Prüfungs-)Aufgaben zu formale Sprachen

Grundlagen der Theoretischen Informatik

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

Automaten und Formale Sprachen

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4

Deterministische endliche Automaten - Wiederholung

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Script, Kapitel 4. Grammatiken

Def.: Die Menge der LOOP-Programme ist induktiv wie folgt definiert:

Die Ackermannfunktion

Kontextsensitive und Typ 0 Sprachen

Grundlagen der Theoretischen Informatik

Grundbegriffe der Informatik Tutorium 2

Berechenbarkeit und Komplexität Endliche Automaten

DKA und dkfs (mit Übungen)

Theoretische Informatik II

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Theoretische Informatik 1

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Theoretische Informatik I

2. Berechnungsmächtigkeit von Zellularautomaten. Ziele Simulation von Schaltwerken Simulation von Turingmaschinen

9 Theoretische Informatik und Compilerbau

Übung Theoretische Grundlagen

Transkript:

A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine arbeitet auf Wörtern, d.h. auf Ketten von Buchstaben (oder Zeichen) über einem endlichen Zeichenvorrat (Alphabet). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 78 / 309

Ein Alphabet Σ ist eine endliche, nicht-leere Menge, deren Elemente Buchstaben, Zeichen oder Symbole genannt werden. Beispiele: Σ 1 := {a, b} Σ 2 := {(,),+,,,/, a} Σ 3 := {0, 1,#} Durch Hintereinanderschreiben von Zeichen erhält man Wörter. n 1 : Σ n = Wörter der Länge n über Σ ε = Wort der Länge 0 (leeres Wort) Σ + := Σ n nicht-leere Wörter über Σ n 1 Σ := Σ + {ε} Wörter über Σ Beispiele: Σ 2 1 Σ 1 = {aa, ab, ba, bb} = {ε, a, b, aa, ab, ba, bb, aaa,} Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 79 / 309

Für w Σ ist w die Länge von w: ε = 0 w = n für alle w Σ n, n 1. Für w Σ und a Σ ist w a die a-länge von w: ε a = 0 wb a = w a für b a wa a = w a + 1 Beachte: u Σ m v Σ n : uv Σ m+n u Σ m : εu = u = uε u, v, w Σ : (uv)w = u(vw) (Σ,,ε) ist Halbgruppe mit neutralem Element ε (d.h. ein Monoid) Jedes w Σ lässt sich eindeutig als Folge von Zeichen aus Σ schreiben. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 80 / 309

Lemma 1.25 Seien u, v, x, y Σ mit uv = xy. Dann gilt genau einer der drei folgenden Fälle: (1.) u = x und u = x und v = y. (2.) u > x, und es gibt ein z Σ + mit u = xz und y = zv. (3.) u < x, und es gibt ein z Σ + mit x = uz und v = zy. Abkürzende Schreibweise: u 0 = ε, u 1 = u und u n+1 = u n u für alle u Σ, n 1. Mit R : Σ Σ wird die Spiegelungsfunktion (engl.: reversal) bezeichnet: ε R = ε,(ua) R = au R für alle u Σ und a Σ. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 81 / 309

Eine Teilmenge L von Σ heißt eine Formale Sprache über Σ. Beispiele: (1.) L 1 := { w Σ 1 w ist eine ungerade Zahl} (2.) L 2 := { korrekt geklammerte arithmetische Ausdrücke über Σ 2 } z.b.: (a a) a+a/(a+a) a L 2 (((a))) L 2 ((a+) a( L 2 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 82 / 309

Turingmaschine (TM) unendliches Band a b c # 0 1 1 0 Lese-/Schreibkopf endliche Kontrolleinheit Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 83 / 309

Definition 1.26 Eine Turingmaschine (TM) ist gegeben durch ein 7-Tupel M = (Z,Σ,Γ,δ, z 0,, E): Z endliche Zustandsmenge Σ Eingabealphabet Γ Σ Arbeitsalphabet z 0 Z Startzustand Γ Σ Blank (Leerzeichen) E Z Endzustände δ : ((Z E) Γ) (Z Γ {L, R, N}) Überführungsfunktion Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 84 / 309

Rechenschritte von M: δ(z 1, a) = (z 1, b, L): 1 0 a b c z 1 1 0 b b c z 1 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 85 / 309

δ(z 2, a) = (z 2, b, R): 1 0 a b c z 2 1 0 b b c z 2 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 86 / 309

δ(z 3, a) = (z 3, b, N): 1 0 a b c z 3 1 0 b b c z 3 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 87 / 309

Definition 1.27 Eine Konfiguration der TM M ist ein Wort k Γ ZΓ +. k deckt den von verschiedenen Teil des Bandes ab. Beispiele: 10z 1 abc, 1z 1 0bbc, 10z 2 abc, 10bz 2 bc, 10z 3 abc, 10z 3 bbc Startkonfiguration für Eingabe x Σ + : z 0 x Startkonfiguration für Eingabe ε : z 0 Haltekonfiguration: uzv mit z E. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 88 / 309

Definition 1.28 (Berechnungsrelation :) a 1 a m z cb 2 b n falls δ(z, b 1 ) = (z, c, N) (m 0, n 1) a a 1 a m zb 1 b n 1 a m cz b 2 b n falls δ(z, b 1 ) = (z, c, R) (m 0, n 2) a 1 a m 1 z a m cb 2 b n falls δ(z, b 1 ) = (z, c, L) (m 1, n 1) Sonderfälle: a 1 a m zb 1 a 1 a m cz falls δ(z, b 1 ) = (z, c, R). zb 1 b n z cb 2 b n falls δ(z, b 1 ) = (z, c, L). bezeichnet den reflexiv-transitiven Abschluss von, d.h. k k gdw. m 0 k 0,,k m : k = k 0 k 1 k m = k Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 89 / 309

Eine Rechnung von M bei Eingabe x Σ ist eine Folge z 0 x = k 0 k 1 k 2. Eine Rechnung kann endlich oder unendlich sein. Eine erfolgreiche Rechnung von M bei Eingabe x Σ ist eine endliche Rechnung z 0 x = k 0 k 1 k 2 k m 1 k m, sodass k m eine Haltekonfiguration ist. T(M) = { x Σ erfolgreiche Rechnung von M mit Eingabe x } ist die von M akzeptierte Sprache. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 90 / 309

Beispiel TM für binäres +1 : M = ({z 0, z 1, z 2, z e },{0, 1},{0, 1, },δ, z 0,,{z e }) mit δ(z 0, 0) = (z 0, 0, R), δ(z 0, 1) = (z 0, 1, R), δ(z 0, ) = (z 1,, L) δ(z 1, 0) = (z 2, 1, L), δ(z 1, 1) = (z 1, 0, L), δ(z 1, ) = (z e, 1, N) δ(z 2, 0) = (z 2, 0, L), δ(z 2, 1) = (z 2, 1, L), δ(z 2, ) = (z e,, R) Beispielrechnung: z 0 101 1z 0 01 10z 0 1 101z 0 10z 1 1 1z 1 00 z 2 110 z 2 110 z e 110, also z 0 101 z e 110. Bezeichnung für diese TM: Band := Band +1 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 91 / 309

Definition 1.29 Eine Funktion f : Σ Σ heißt Turing-berechenbar, wenn es eine Turingmaschine M gibt, sodass für alle x, y Σ gilt: f(x) = y gdw. z 0 x M z ey (z e E). Ist f(x) undefiniert, so ist die Rechnung von M, die mit der Startkonfiguration z 0 x beginnt, unendlich, d.h., M hält ausgehend von z 0 x nicht an! Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 92 / 309

Beispiele: (1) Die Funktion bin_plus1: {0, 1} {0, 1} ist Turing-berechenbar. (2) Die Funktion R : Σ Σ w w R ist Turing-berechenbar. (3) Die Funktion 2 : Σ Σ w ww ist Turing-berechenbar. bin(n) bin(n+1) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 93 / 309

Definition 1.30 Sei A Σ. Die Menge A heißt entscheidbar, wenn ihre charakteristische Funktion χ A Turing-berechenbar ist: χ A (w) = { 1, falls w A, 0, falls w A. Beispiel: Die Menge A = { w {a, b} w ist gerade } ist entscheidbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 94 / 309

Definition 1.31 Sei A Σ. Die Menge A heißt semi-entscheidbar, wenn die folgende Funktion χ A Turing-berechenbar ist: χ A (w) = { 1, falls w A, undefiniert, falls w A. Die Turingmaschine zur Berechnung von χ A hält also ausgehend von der Startkonfiguration z 0 w (w Σ ) genau dann an, wenn w A ist. Lemma 1.32 Jede entscheidbare Menge ist semi-entscheidbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 95 / 309

Definition 1.33 Eine Funktion f : N k N heißt Turing-berechenbar, wenn es eine Turingmaschine M gibt, sodass für alle n 1,,n k, m N gilt: f(n 1,,n k ) = m gdw. z 0 bin(n 1 )#bin(n 2 )##bin(n k ) M z ebin(m) (z e E). Ist f(n 1,,n k ) undefiniert, dann hält M ausgehend von der Startkonfiguration z 0 bin(n 1 )#bin(n 2 )##bin(n k ) nicht an! Beispiel: Die Funktion +1: N N n n+1 ist Turing-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 96 / 309

Eine Mehrband-Turingmaschine mit k 2 Bändern: a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 b 10 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 endliche Kontrolle δ : (Z Γ k ) (Z Γ k {L, R, N} k ) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 97 / 309

Beispiel: Eine 2-Band-Turingmaschine zur Berechnung der Spiegelungsfunktion M = ({z 0, z 1, z 2, z 3, z e },{a, b},{a, b, },δ, z 0,,{z e }) mit: δ z 0 z 1 z 2 z 3 (a, a) (a, b) (a, ) (z 1, a,, R, N) (z 1, a,, R, N) (z 2,, a, L, R) (b, a) (b, b) (b, ) (z 1, b,, R, N) (z 1, b,, R, N) (z 2,, b, L, R) (, a) (z 3,, a, N, L) (, b) (z 3,, b, N, L) (, ) (z e,,, N, N) (z 2,,, L, N) (z 3,,, N, L) (z e,,, N, R) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 98 / 309

Eingabe: w = aab Startkonfiguration: Band 1 a a b Band 2 z 0 Beschreibung: (z 0 aab, z 0 ) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 99 / 309

Rechnung: (z 0 aab, z 0 ) M (az 1 ab, z 1 ) M (aaz 1 b, z 1 ) M (aabz 1, z 1 ) M (aaz 2 b, z 2 ) M (az 2 a, bz 2 ) M (z 2 a, baz 2 ) M (z 2, baaz 2 ) M (z 3, baz 3 a ) M (z 3, bz 3 aa ) M (z 3, z 3 baa ) M (z 3, z 3 baa ) M (z e, z e baa ) Haltekonfiguration: Band 1 b a a z e Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 100 / 309

Satz 1.34 Zu jeder Mehrband-TM M gibt es eine (Einband-) Turingmaschine M, die dieselbe Funktion berechnet wie M. Beweis: Mehrband-Turingmaschine M mit k Bändern: a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 Band 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 Band 2 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 Band 3 Zustand: z Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 101 / 309

Einband-TM M : a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 * b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 * c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 * Band mit 2k Spuren Arbeitsalphabet: Γ := Γ (Γ { }) 2k Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 102 / 309

Arbeitsweise von M : Startkonfiguration: z 0 w (w Σ ) 1. Phase: w * * * 2. Phase: M simuliert M schrittweise. 3. Phase: Ergebnis von Spur 1 auf das gesamte Band kopieren. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 103 / 309

Ist M eine 1-Band-TM, so ist M(i, k) (i k) die k-band-tm, die auf Band i M simuliert, wobei alle anderen Bänder unverändert bleiben. Beispiele: (i) Band := Band+1(i, k). Schreibweise: Band i := Band i + 1 (ii) Band i := Band i 1. (iii) Band i := 0. (iv) Band i := Band j. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 104 / 309

Hintereinanderschalten von TMen M i = (Z i,σ,γ i,δ i, z i,, E i ), i = 1, 2 M : start M 1 M 2 stop M = (Z 1 Z 2,Σ,Γ 1 Γ 2,δ, z 1,, E 2 ) mit δ := δ 1 δ 2 {(z e, a, z 2, a, N) z e E 1, a Γ 1 }. Beispiele: (i) start Band := Band + 1 Band := Band + 1 Band := Band + 1 stop Schreibweise: Band := Band + 3 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 105 / 309

Kapitel 1: Berechenbarkeitstheorie (ii) start M z e 1 M 1 stop M 2 z e2 stop (iii) Band = 0? : Z := {z 0, z 1, ja,nein}, E = {ja,nein}, δ : (z 0, a) (nein, a, N) für a 0 (z 0, 0) (z 1, 0, R) (z 1, a) (nein, a, L) für a (z 1, ) (ja,, L) Hieraus: Band i=0? Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 106 / 309

(iv) start Band i = 0? M nein ja stop Schreibweise: WHILE Band i 0 DO M. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 107 / 309

Beobachtung: Die Turingmaschinen bilden eine einfache Programmiersprache: Die Funktionen +c und c (c N) sowie f(x 1,,x n ) = x i (1 i n) sind TM-berechenbar. Diese Sprache enthält einfache Wertzuweisungen. Sie enthält einfache Abfragen und while-schleifen. Das Hintereinanderschalten von Programmen ist möglich. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 108 / 309

Satz 1.35 Turingmaschinen können WHILE-Programme simulieren, d.h. jede WHILE-berechenbare Funktion ist auch Turing-berechenbar. Satz 1.36 Jede Turingmaschine kann durch ein GOTO-Programm simuliert werden, d.h. jede Turing-berechenbare Funktion ist auch GOTO-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 109 / 309

Beweis: Sei M = (Z,Σ,Γ,δ, z 1,, E) eine TM, die die Funktion f : N k N berechnet. Für alle n 1,,n k N: f(n 1,,n k ) ist definiert: z 1 bin(n 1 )#bin(n 2 )##bin(n k ) M z ebin(f(n 1,,n k )) f(n 1,,n k ) ist nicht definiert: z 1 bin(n 1 )#bin(n 2 )##bin(n k ) M M M GOTO-Programm M zur Simulation von M: M 1 : P 1 ; M 2 : P 2 ; M 3 : P 3 P 1 : (n 1,,n k ) Darstellung der Konfiguration z 1 bin(n 1 )##bin(n k ) in x, y, z. P 2 : schrittweise Simulation von M auf x, y, z. P 3 : Endwerte von x, y, z f(n 1,,n k ). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 110 / 309

Kodierung von TM-Konfigurationen Z = {z 1,,z k }, Γ = {a 1,,a m }, b > Γ Konfiguration: a i1 a i2 a ip z l a j1 a j2 a jq Kodierung: x = (i 1 i 2 i p ) b y = (j q j 2 j 1 ) b z = l p mit (i 1 i p ) b := i µ b p µ und (j q j 1 ) b := µ=1 q ν=1 j ν b ν 1 Beispiel Γ = {a 1, a 2, a 3, a 4 }, b = 5: Konfiguration: a 1 a 2 a 1 z 2 a 3 a 4 Kodierung: x = (a 1 a 2 a 1 ) 5 = 1 5 2 + 2 5 1 + 1 5 0 = 36 y = (a 4 a 3 ) 5 = 4 5 1 + 3 5 0 = 23 z = 2 P 1 und P 3 : elementare arithmetische Operationen. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 111 / 309

Beispiel: Eingabe: (10, 6). Kodierung: 0 a 1, 1 a 2, # a 3, a 4 und b = 5. Eingabekonf.: z 1 bin(10)#bin(6) = z 1 1010#110 = z 1 a 2 a 1 a 2 a 1 a 3 a 2 a 2 a 1. WHILE-Programm P 1 : z 1; x 0; y 0; WHILE x 2 0 DO x 3 (x 2 MOD 2)+1; x 2 x 2 DIV 2; y y 5+x 3 END; y y 5+3; WHILE x 1 0 DO x 3 (x 1 MOD 2)+1; x 1 x 1 DIV 2; y y 5+x 3 END; Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 112 / 309

GOTO-Programm M 2 : P 2 M 2 : a := y MOD b; IF (z = 1) AND (a = 1) THEN GOTO M 1,1 ; IF (z = 1) AND (a = 2) THEN GOTO M 1,2 ;. IF (z = k) AND (a = m) THEN GOTO M k,m ; M 1,1 : Programmstück zur Simulation von δ(z 1, a 1 ) GOTO M 2 ;. M k,m : Programmstück zur Simulation von δ(z k, a m ) GOTO M 2 ; Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 113 / 309

Simulation eines TM-Schritts: δ(z i, a j ) = (z i, a j, L): a i1 a ip z i a }{{}}{{} j a j2 a jq }{{} x z y M a i1 a ip 1 }{{} x z i a }{{} ip a j a j2 a jq }{{} z y GOTO-Programmstück: z := i ; y := y DIV b; y := y b + j ; y := y b +(x MOD b); x := x DIV b; Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 114 / 309

Übersicht GOTO WHILE TM µ-rekursiv LOOP prim. rekursiv Die Ackermannfunktion a(.,.) ist WHILE-berechenbar und total, aber sie ist nicht LOOP-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 115 / 309