1.5 Turing-Berechenbarkeit

Ähnliche Dokumente
Mächtigkeit von WHILE-Programmen

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

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

Zusammenfassung Grundzüge der Informatik 4

Wortproblem für kontextfreie Grammatiken

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

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

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

Theoretische Grundlagen der Informatik

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

Formale Sprachen. Script, Kapitel 4. Grammatiken

Vorlesung Theoretische Informatik

Theoretische Informatik 2

Theorie der Informatik

Grundlagen der Theoretischen Informatik

5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

3. Ziel der Vorlesung

Formelsammlung theoretische Informatik I

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Theoretische Informatik 1

TEIL III: FORMALE SPRACHEN

Algorithmen und Programmierung

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

1 Vom Problem zum Programm

Grundbegriffe der Informatik

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Einführung in die Theoretische Informatik

Grundlagen der theoretischen Informatik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Mathematische Maschinen

Theoretische Informatik SS 04 Übung 1

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Algorithmen II Vorlesung am

Theoretische Informatik I

Formale Sprachen und Grammatiken

Grundbegriffe der Informatik

Informatik I. Lutz Donnerhacke PGP:db c1c 6311 ef09 d819 e029 65be bfb6 c9cb

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Theoretische Informatik

Theoretische Informatik

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

THEORETISCHE INFORMATIK

Reguläre Sprachen Endliche Automaten

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

Programmiersprachen und Übersetzer

Grammatiken und die Chomsky-Hierarchie

Endlicher Automat (EA)

Sprachen/Grammatiken eine Wiederholung

Einführung in die Informatik I

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Informatik I WS 07/08 Tutorium 24

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/ / 206

Theoretische Informatik

Reguläre Ausdrücke. Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher

ARBEITSBLATT ZU FORMALEN SPRACHEN

Theoretische Informatik 2

Theoretische Informatik

Kostenmaße. F3 03/04 p.188/395

Syntax (= Satzgefüge), vgl. auch Grammatik

1 Syntax von Programmiersprachen

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

Entwurf von Algorithmen - Kontrollstrukturen

IT-Basics 2. DI Gerhard Fließ

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundbegriffe der Informatik

Endliche Automaten. Endliche Automaten 1 / 108

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Aufgabentypen die in der Klausur vorkommen

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.

Tutorium zur theoretischen Informatik Übungsblatt 4 ( )

Theoretische Informatik 1 + 2

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt

7. Formale Sprachen und Grammatiken

Theorie der Informatik (CS206) Fortsetzung LOOP-Programme, primitiv-rekursive Funktionen

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Theoretische Informatik

Mathematische Grundlagen der Informatik 2

Grafische Interaktionssysteme/ dynamische Visualisierung des endlichen Automaten

8 Diskrete Optimierung

REG versus CF. Theorem REG ist echt in CF enthalten.

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

VBA-Programmierung: Zusammenfassung

Der Kurs bestand aus zwei Teilen. Mit welchem Teil wollen Sie anfangen? Ich habe mich für Teil A entschieden.

Sprachbeschreibung und Erweiterung

Theoretische Informatik

Karlsruher Institut für Technologie Institut für Algebra und Geometrie

Theoretische Grundlagen der Informatik

Kapitel 2: Formale Sprachen Gliederung

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Grundlagen der Theoretischen Informatik, SoSe 2008

Die Komplexitätsklassen P und NP

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

δ(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 / 140

δ(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 / 140

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, 10z 2 abc, 10z 3 abc, 1z 1 0bbc, 10bz 2 bc, 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 / 140

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 zb 1...b n z cb 2...b n falls δ(z, b 1 ) = (z, c, R). 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 / 140

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 / 140

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), Beispielrechnung: δ(z 2, 1) = (z 2, 1, L), δ(z 2, ) = (z e,, R) 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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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)... 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! (z e E). Beispiel: Die Funktion +1: N N n n + 1 ist Turing-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 96 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

(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 / 140

(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 / 140

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 / 140

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 / 140

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 / 140

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 / 140

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 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 / 140

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 / 140

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 z i a }{{}}{{} ip a j a j2...a jq }{{} x 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 / 140

Ü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 / 140