Turing-Maschine Definition

Ähnliche Dokumente
Rekursive Funktionen Basisfunktionen

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

Ausgewählte unentscheidbare Sprachen

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

Berechenbarkeit. Script, Kapitel 2

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Theoretische Informatik

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

Berechenbarkeit und Komplexität

LOOP-Programme: Syntaktische Komponenten

Berechenbarkeits- und Komplexitätstheorie

Theoretische Informatik SS 03 Übung 3

Wie viel Mathematik kann ein Computer?

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen

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

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

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

Explizite Formeln für rekursiv definierte Folgen

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

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

Klausur zur Vorlesung Mathematische Logik

Lösungen zu Aufgabenblatt 7P

11.1 Kontextsensitive und allgemeine Grammatiken

ε δ Definition der Stetigkeit.

Theoretische Informatik Kap 2: Berechnungstheorie

Berechenbarkeitsmodelle

Abschluss unter Operationen

Theoretische Informatik II

2. Algorithmen. 2.1 Typen von Algorithmen: Entscheidungs-, Aufzählungs- und Berechnungsverfahren. 2.2 Anforderungen an Algorithmen

Welcher der folgenden Sätze ist eine Aussage, welcher eine Aussageform, welcher ist keines von beiden:

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Surjektive, injektive und bijektive Funktionen.

Kurseinheit 1 Einleitung, Rekursive und rekursiv-aufzählbare Mengen

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

Einführung in die Theoretische Informatik

Grundlagen der Theoretischen Informatik

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Reduzierbarkeit und das Post'sche Korrespondenzproblem

Die Church-Turing-These

Primitiv rekursive und µ-rekursive Funktionen

Theoretische Informatik 1

Einführung in die Theoretische Informatik

Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen

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

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

Grundlagen der Theoretischen Informatik

Formale Sprachen und Automaten

Theoretische Grundlagen der Informatik

Vorkurs: Mathematik für Informatiker

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

1 Angeordnete Körper. 1.1 Anordnungen und Positivbereiche

Theoretische Informatik

Formale Sprachen und Automaten

Regulär variierende Funktionen

Theoretische Informatik 1

Vorsemesterkurs Informatik

Zusammenfassung Grundzüge der Informatik 4

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

Theoretische Informatik 2

Grundlagen der Theoretischen Informatik

THEORETISCHE INFORMATIK

Die Abbildung (x 1 ;x 2 ) 7! (x 1 ;x 2 ; 1) ist eine Einbettung von R 2 in P 2 (als Mengen). Punkte mit z 6= 0 sind endliche" Punkte mit inhomogenen K

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

Primitiv rekursive und µ-rekursive Funktionen

2 Die Dimension eines Vektorraums

8. Turingmaschinen und kontextsensitive Sprachen

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

Folgerungen aus dem Auflösungsatz

Übungen zu Partielle Differentialgleichungen, WS 2016

Rekursiv aufzählbare Sprachen

7 Der kleine Satz von Fermat

Formale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz

Einführung in die Informatik Algorithms

2.4 Kontextsensitive und Typ 0-Sprachen

Mitschrift BFS WS 13/14

Inhaltsverzeichnis INHALTSVERZEICHNIS 1

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

Grundlagen der Mathematik

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Das Banach-Tarski-Paradox

4. Induktives Definieren - Themenübersicht

Prinzipielle Grenzen der Berechenbarkeit

Berechenbarkeits- und Komplexitätstheorie

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Zusammenstellung von Fragen der Vordiplomsprüfung Theoretische Informatik (Kurse 1653/54)

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

C orthogonal und haben die Länge 1). Dann ist die Länge von w = x u + y v gegeben durch w 2 Def. = w,w =

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 2. ALGORITHMEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2014

40 Lokale Extrema und Taylor-Formel

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

Automaten, Spiele und Logik

16 Vektorfelder und 1-Formen

Transkript:

Turing-Maschine Definition Definition: Eine Turing-Maschine ist ein Quintupel M = (X, Z, z 0, Q, δ), wobei - X und Z Alphabete sind, - z 0 Z und Q Z gelten, - δ eine Funktion von (Z \ Q) (X { }) in Z (X { }) {R, L, N} ist, und / X gilt. Theoretische Informatik, Berechenbarkeit und Algorithmen 29

Turing-Maschine Konfiguration Definition: Eine Konfiguration K der Turing-Maschine M = (X, Z, z 0, Q, δ) ist ein Tripel K = (w 1, z, w 2 ), wobei w 1 und w 2 Wörter über X { } sind und z Z gilt. Eine Anfangskonfiguration liegt vor, falls w 1 = λ und z = z 0 gelten. Eine Endkonfiguration ist durch z Q gegeben. Theoretische Informatik, Berechenbarkeit und Algorithmen 30

Turing-Maschine Konfigurationsüberführung Definition: M 1 = (w 1, z, w 2 ) und K 2 = (v 1, z, v 2 ) seien Konfigurationen von M. Wir sagen, dass K 1 durch M in K 2 überführt wird (und schreiben dafür K 1 = K 2 ), wenn eine der folgenden Bedingungen erfüllt ist: v 1 = w 1, w 2 = xu, v 2 = x u, δ(z, x) = (z, x, N) oder w 1 = v, v 1 = vx, w 2 = xu, v 2 = u, δ(z, x) = (z, x, R) oder w 1 = vy, v 1 = v, w 2 = xu, v 2 = yx u, δ(z, x) = (z, x, L) für gewisse x, x, y X { } und u, v (X { }). Theoretische Informatik, Berechenbarkeit und Algorithmen 31

Turing-Maschine induzierte Funktion Definition: Sei M = (X, Z, z 0, Q, δ) eine Turing-Maschine. Die durch M induzierte Funktion f M aus X in X ist wie folgt definiert: f M (w) = v gilt genau dann, wenn es für die Anfangskonfiguration K = (λ, z 0, w) eine Endkonfiguration K = (v 1, q, v 2 ), natürliche Zahlen r, s und t und Konfigurationen K 0, K 1,..., K t derart gibt, daß r v s = v 1 v 2 und gelten. K = K 0 = K 1 = K 2 =... = K t = K Theoretische Informatik, Berechenbarkeit und Algorithmen 32

Turing-Maschine Beispiel 1 M 1 = ({a, b}, {z 0, q, z a, z b }, z 0, {q}, δ) δ z 0 z a z b (q,, N) (q, a, N) (q, b, N) a (z a,, R) (z a, a, R) (z b, a, R) b (z b,, R) (z a, b, R) (z b, b, R) f M1 (x 1 x 2... x n ) = x 2 x 3... x n x 1 Theoretische Informatik, Berechenbarkeit und Algorithmen 33

Turing-Maschine Beispiel 2 M 2 = ({a, b}, {z 0, z 1, q}, z 0, {q}, δ), δ z 0 z 1 (z 0,, N) (q,, N) a (z 1, a, R) (z 0, a, R) b (z 1, b, R) (z 0, b, R) f M2 (x 1 x 2... x n ) = { x1 x 2... x n n ungerade nicht def iniert sonst. Theoretische Informatik, Berechenbarkeit und Algorithmen 34

Turing-Maschine Beispiel 3 M 3 = ({a, b, c, d}, {z 0, z 1, z 2, z 3, q, z a, z b }, z 0, {q}, δ) δ z 0 z 1 z 2 z 3 z a z b (z 0,, N) (z 1,, N) (z 3,, L) a (z 0, a, N) (z 1, a, N) (z 2, a, R) (z a,, L) (z a, a, L) (z a, b, L) b (z 0, b, N) (z 1, b, N) (z 2, b, R) (z b,, L) (z b, a, L) (z b, b, L) c (z 1, c, R) (z 1, c, N) (z 2, c, N) d (z 0, d, N) (z 2, d, R) (z 2, d, N) (z 3, d, N) (q, a, N) (q, b, N) f M3 (w) = { cx1 x 2... x n für w = cdx 1 x 2... x n, x i {a, b}, 1 i n, n 1 undef iniert sonst Theoretische Informatik, Berechenbarkeit und Algorithmen 35

Turing-Maschine Beispiel 4 (Nachfolgerfunktion) M + = ({0, 1, 2,..., 9}, {z 0, +, q}, z 0, {q}, δ) δ z 0 + (+,, L) (q, 1, N) 0 (z 0, 0, R) (q, 1, N) 1 (z 0, 1, R) (q, 2, N) 2 (z 0, 2, R) (q, 3, N) 3 (z 0, 3, R) (q, 4, N) 4 (z 0, 4, R) (q, 5, N) 5 (z 0, 5, R) (q, 6, N) 6 (z 0, 6, R) (q, 7, N) 7 (z 0, 7, R) (q, 8, N) 8 (z 0, 8, R) (q, 9, N) 9 (z 0, 9, R) (+, 0, L) Theoretische Informatik, Berechenbarkeit und Algorithmen 36

Turing-Maschine Normalform und Lemma Lemma: Zu jeder Turing-Maschine M = (X, Z, z 0, Q, δ) gibt es eine Turing-Maschine M = (X {, #}, Z, z 0, {q }, δ ) mit { fm (w) für w X f M (w) = nicht def iniert sonst derart, dass jede Endkonfiguration von M die Form (λ, q, v) hat (d.h. die Maschine M hat genau einen Stopzustand, stoppt nur auf Wörtern über X und stoppt stets über dem ersten Buchstaben des Ergebnisses v). Lemma: Sind f 1 : X X und f 2 : X X zwei Turing-berechenbare Funktionen, so ist auch deren Komposition f : X X mit f(w) = f 2 (f 1 (w)) eine Turing-berechenbare Funktion. Theoretische Informatik, Berechenbarkeit und Algorithmen 37

k-band-turing-maschine Definition Definition: Eine k-band-turing-maschine ist ein 6-Tupel M = (k, X, Z, z 0, Q, δ), wobei k 1 eine natürliche Zahl ist, X, Z, z 0 und Q wie bei einer Turing- Maschine definiert sind, δ eine Funktion (Z \ Q) (X { }) k+1 Z (X { }) k+1 {R, L, N} k+1 {R, N} ist und / X gilt. Theoretische Informatik, Berechenbarkeit und Algorithmen 38

k-band-turing-maschine Konfiguration Definition: Sei M eine k-band-turing-maschine. Eine Konfiguration von M ist ein 2k + 5-Tupel (z, w e, w e, w 1, w 1, w 2, w 2,..., w k, w k, w a, w a), wobei z Z, w e, w e, w a, w a (X { }) und w i, w i (X { }) für 1 i k gelten. Eine Konfiguration heißt Anfangskonfiguration, falls z = z 0, w e = w a = w 1 = w 2 = = w k = λ und w a = w 1 = w 2 = = w k = gelten. Eine Konfiguration heißt Endkonfiguration, falls z in Q liegt. Theoretische Informatik, Berechenbarkeit und Algorithmen 39

k-band-turing-maschine induzierte Funktion Definition: Sei M eine k-band-turing-maschine. Die durch M induzierte Funktion f M aus X in X ist wie folgt definiert: f M (w) = v gilt genau dann, wenn es für die Anfangskonfiguration K = (z 0, λ, w, λ,, λ,,..., λ, ) eine Endkonfiguration K = (q, w e, w e, w 1, w 1w 2, w 2,..., w k, w k, w a, w a), und Konfigurationen K 0, K 1,..., K t derart gibt, dass gelten. K = K 0 = K 1 = K 2 =... = K t = K und v = w a w a Theoretische Informatik, Berechenbarkeit und Algorithmen 40

k-band-turing-maschine Beispiel M = (2, {a, b}, Z = {z 0, z 1, z 2, q}, z 0, Q = {q}, δ) (a1) δ(z 0, x,, ) = (z 0, x, x,, R, R, R, N) für x X, (a2) δ(z 0,,, ) = (z 1,,,, N, L, L, N), (a3) δ(z 1,, x, y) = (z 1, x, y,, N, L, N, N) für x, y X, (a4) δ(z 1,,, y) = (z 2,, y,, N, R, N, N) für y X, (a5) δ(z 2,, x, x) = (z 2, x, x,, N, R, L, N) für x X, (a6) δ(z 2,, x, y) = (q, x, y, b, N, N, N, N) für x, y X, x y, (a7) δ(z 2,,, ) = (q,,, a, N, N, N, N), (a8) δ(z, x, y, v) = (z, y, v,, N, N, N, N) sonst f M (w) = { a w ist Palindrom b sonst Theoretische Informatik, Berechenbarkeit und Algorithmen 41

Turing-Berechenbarkeiten Definition: Eine Funktion f heißt Turing-berechenbar, wenn es eine Turing-Maschine M mit f = f M gibt. Definition: Eine Funktion f heißt k-turing-berechenbar, wenn es eine k-band-turing- Maschine M mit f = f M gibt. Satz: Zu jeder k-band-turing-maschine M gibt es eine Turing-Maschine M derart, dass f M = f M gilt. Theoretische Informatik, Berechenbarkeit und Algorithmen 42

Registermaschinen versus k-band-turing-maschinen dec(n) Dezimaldarstellung von n Satz: Sei M eine Registermaschine M mit f M : N n N. Dann gibt es eine 3-Band- Turing-Maschine M, deren Eingabealphabet außer den Ziffern 0,1,2,... 9 noch das Trennsymbol # und das Fehlersymbol F enthält und deren induzierte Funktion f M (w) = { dec(fm (m 1, m 2,..., m n )) w = dec(m 1 )#dec(m 2 )... #dec(m n ) F sonst gilt (auf einer Eingabe, die einem Zahlentupel entspricht, verhält sich M wie M und gibt bei allen anderen Eingaben eine Fehlermeldung). Theoretische Informatik, Berechenbarkeit und Algorithmen 43

Turing-Maschinen versus partiell-rekursive Funktionen I M = (X, Z, z 0, Q, δ) Turing-Maschine X Z = und X Z = {a 1, a 2,..., a p } ψ : (X Z) N vermöge ψ(a i1 a i2... a in ) = n j=0 i j(p + 1) n j, a ij (X Z) ψ eineindeutige Abbildung von (X Z) + auf Menge aller natürlichen Zahlen, in deren (p + 1)-adischer Darstellung keine 0 vorkommt Satz: Seien M eine Turing-Maschine und ψ die zugehörige Kodierung. Dann ist die Funktion f : N N mit f(ψ(w)) = ψ(f M (w)) partiell-rekursiv. Theoretische Informatik, Berechenbarkeit und Algorithmen 44

Turing-Maschinen versus partiell-rekursive Funktionen II w = b 1 b 2... b n, b i X Z für 1 i n, w (X Z) Lg(ψ(w)) = w = min{m : (p + 1) m > ψ(w)}, P rod(ψ(w), ψ(w )) = ψ(ww ) = ψ(w)(p + 1) Lg(ψ(w )) + ψ(w ), Anfang(ψ(w), i) = ψ(b 1 b 2... b i ) = ψ(w) div (p + 1) n 1, Ende(ψ(w), i) = ψ(b i b i+1... b n ) = ψ(w) mod (p + 1) n i+1, Elem(ψ(w), i) = ψ(b i ) = Ende(Anfang(ψ(w), i), 1) g(x) erste Position in x (X Z), an der Element aus Z min{i Elem(x, i) Z} r(x) = Anfang(x, g(x) 2), s(x) = P rod(elem(x, g(x) 1), Elem(x, g(x)), Elem(x, g(x) + 1)), t(x) = Ende(x, g(x) + 2) Theoretische Informatik, Berechenbarkeit und Algorithmen 45

Turing-Maschinen versus partiell-rekursive Funktionen III K = u azbv mit a, b X, u, v X, z Z r(ψ(k)) = ψ(u ) s(ψ(k)) = ψ(azb), t(ψ(k)) = ψ(v ), (ψ(k 1 )) = { ψ(k2 ) K 1 = azb, a, b X, z Z, K 1 = K 2 nicht def iniert sonst K = u azbv = u K 1 v = u K 2 v = K ψ(k ) = P rod(ψ(u ), (ψ(azb)), ψ(v )), = P rod(r(k), (s(k)), t(k)) Theoretische Informatik, Berechenbarkeit und Algorithmen 46

Turing-Maschinen versus partiell-rekursive Funktionen IV 1. Aus w ergibt sich die Anfangskonfiguration K 0 = z 0 w. 2. Funktion mit (ψ(k)) = ψ(k ) für K = K D(x, 0) = x, D wird definiert durch D(x, n + 1) = (D(x, n)) D(ψ(K), n) = ψ(k ), wenn K mittels n-facher direkter Überführung aus K entsteht { h sei Funktion mit h(x) = 0 x = ψ(k) für eine Endkonfiguration K 1 sonst h (x, y) = h(d(x, y)), (µy)[h ] liefert Anzahl der Überführungen bis Endkonfiguration erreicht ist D(ψ(K 0 ), (µy)[h ]) liefert ψ(k) der Endkonfiguration K 3. Aus ψ(k) ermitteln wir das Wort auf dem Band. Theoretische Informatik, Berechenbarkeit und Algorithmen 47

Zusammenfassung Satz: Für eine Funktion f sind die folgenden Aussagen gleichwertig: f ist durch ein LOOP/WHILE-Programm berechenbar. f ist partiell-rekursiv. f ist durch eine Registermaschine berechnenbar. f ist bis auf Konvertierung der Zahlendarstellung durch eine Turing-Maschine berechenbar. f ist bis auf Konvertierung der Zahlendarstellung durch eine k-band-turing-maschine berechenbar. Folgerung: Es gibt Funktionen, die nicht Turing-berechenbar sind. Theoretische Informatik, Berechenbarkeit und Algorithmen 48

Beschreibung von Entscheidbarkeitsproblemen Entscheidungsproblem P beschreibbar als Aussageform, d.h. Ausdruck A P (x 1, x 2,..., x n ) mit einer oder mehreren Variablen x i, der bei Ersetzen der Variablen x i durch Elemente a i aus dem Grundbereich X i in eine Aussage A P (a 1, a 2,..., a n ) überführt wird, die den Wahrheitswert wahr oder falsch annimmt durch ein Gegeben:, d.h. Belegung a 1, a 2,..., a n der Variablen, und durch die Frage: nach der Gültigkeit von A P (a 1, a 2,..., a n ). Menge M P = {(a 1, a 2,..., a n ) : A P (a 1, a 2,..., a n )} Funktion ϕ P (x 1, x 2,..., x n )) = { 1 (x1, x 2,..., x n ) M P 0 sonst Theoretische Informatik, Berechenbarkeit und Algorithmen 49

Beschreibung des Halteproblems für Turing-Maschinen A P (x, y) x stoppt bei Abarbeitung von y (wobei x ist mit einer Turing-Maschine und y mit einem Wort zu belegen sind) Gegeben: Turing-Maschine M, Wort w Frage: Gilt M stoppt bei Abarbeitung von w? Gegeben: Turing-Maschine M, Wort w Frage: Stoppt M bei Abarbeitung von w? Gegeben: Frage: Turing-Maschine M, Wort w Ist f M (w) definiert? M P = {(M, w) M stoppt auf w} { ϕ P (M, w) = 1 M stoppt auf w 0 sonst Theoretische Informatik, Berechenbarkeit und Algorithmen 50

Algorithmische Entscheidbarkeit Definition: Wir sagen, dass ein Problem P algorithmisch entscheidbar (oder kurz nur entscheidbar) ist, wenn die zum Problem gehörende charakteristische Funktion ϕ P Turing-berechenbar ist. Anderenfalls heißt P (algorithmisch) unentscheidbar. Definition: Wir sagen, dass eine Menge M (algorithmisch) entscheidbar (oder rekursiv) ist, wenn die zugehörige charakteristische Funktion ϕ M Turing-berechenbar ist. Anderenfalls heißt M (algorithmisch) unentscheidbar. Problem P genau dann entscheidbar, wenn zugehörige Menge M P entscheidbar Theoretische Informatik, Berechenbarkeit und Algorithmen 51

Berechnungsprobleme Berechnungsproblem für eine Funktion f : X Y wird nach dem Wert f(x) gefragt M f = {(x, y) : f(x) = y} Gegeben: Frage: x X und y Y Nimmt f an der Stelle x den Wert y an? ϕ f (x, y) = { 1 f(x) = y 0 sonst Bemerkung: f ist berechenbar genau dann, wenn ϕ f berechenbar genau dann, wenn M f entscheidbar ist Theoretische Informatik, Berechenbarkeit und Algorithmen 52

Unentscheidbare Probleme I Satz: Das Halteproblem für Turing-Maschinen ist unentscheidbar. Satz: Das Problem Gegeben: Frage: LOOP/WHILE-Programm Π, n N Ist Φ Π,1 (n) definiert? ist unentscheidbar. Theoretische Informatik, Berechenbarkeit und Algorithmen 53

Beweis der Unentscheidbarkeit des Halteproblems I M = (X, Z, z 0, Q, δ) Turing-Maschine x 0 =, X = {x 1, x 2,..., x n }, Z = {z 0, z 1,..., z m }, Q = {z k+1, z k+2,..., z m }, δ ij = (z i, x j, z ij, x ij, r ij ) für δ(z i, x j ) = (z ij, x ij, r ij ), 0 i k, 0 j n Beschreibung von M durch x 1, x 2,..., x n, z 0, z 1,..., z k, δ 00, δ 01,..., δ 0n, δ 10, δ 11,..., δ 1n,..., δ kn Kodierung: x j 01 j+1 0 für 0 j n, z i 01 i+1 0 2 für 0 i k, R 010 3, L 01 2 0 3, N 01 3 0 3, ( 010 4, ) 01 2 0 4,, 010 5 Theoretische Informatik, Berechenbarkeit und Algorithmen 54

Beweis der Unentscheidbarkeit des Halteproblems II Turing-Maschine M 2 a, b, z 0, z 1, ( z 0,, z 0,, N ), ( z 0, a, z 1, a, R ), ( z 0, b, z 1, b, R ), ( z 1,, q,, N ), ( z 1, a, z 0, a, R ), ( z 1, b, z 0, b, R ) Kodierung: 010, a 01 2 0, b 01 3 0, z 0 010 2, z 1 01 2 0 2, q 01 3 0 2, R 010 3, L 01 2 0 3, N 01 3 0 3, ( 010 4, ) 01 2 0 4,, 010 5 01 2 0 010 5 01 3 0 010 5 010 2 010 5 01 2 0 2 010 5 010 4 010 2 010 5 010 010 5 010 2 010 5 010 010 5 01 3 0 3 01 2 0 4 010 5 010 4 010 2 010 5 01 2 0 010 5 01 2 0 2 010 5 01 2 0 010 5 010 3 01 2 0 4 010 5 010 4 010 2 010 5 01 3 0 010 5 01 2 0 2 010 5 01 3 0 010 5 010 3 01 2 0 4 010 5 010 4 01 2 0 2 010 5 010 010 5 01 3 0 2 010 5 010 010 5 01 3 0 3 01 2 0 4 010 5 010 4 01 2 0 2 010 5 01 2 0 010 5 010 2 010 5 01 2 0 010 5 010 3 01 2 0 4 010 5 010 4 01 2 0 2 010 5 01 3 0 010 5 010 2 010 5 01 3 0 010 5 010 3 01 2 0 4 Theoretische Informatik, Berechenbarkeit und Algorithmen 55

Beweis der Unentscheidbarkeit des Halteproblems III S Menge aller Turing-Maschinen M = (X, Z, z 0, Q, δ) mit X = {0, 1}, Z = {z 0, z 1,..., z m }, Q = {z m } für ein m 1. w M Wort, das M S mittels Kodierung beschreibt Hilfssatz 1. Das Problem Gegeben: w {0, 1} Frage: Ist w Kodierung einer Turing-Maschine aus S? ist entscheidbar. f : {0, 1} { {0, 1} mit 0 w = wm für ein M S, f f(w) = M (w M ) ist nicht definiert nicht def iniert sonst Hilfssatz 2. f ist nicht Turing-berechenbar. Theoretische Informatik, Berechenbarkeit und Algorithmen 56

Unentscheidbare Probleme II Definition: i) Zwei Turing-Maschinen M 1 und M 2 heißen äquivalent, wenn f M1 = f M2 gilt. ii) Zwei LOOP/WHILE-Programme Π 1 und Π 2 heißen äquivalent, wenn Φ Π1,1 = Φ Π2,1 gilt. Satz: Das Äquivalenzproblem für Turing-Maschinen bzw. LOOP/WHILE-Programme ist unentscheidbar. Theoretische Informatik, Berechenbarkeit und Algorithmen 57

Unentscheidbare Probleme III Satz: Das 10. Hilbertsche Problem Gegeben: eine natürliche Zahl n 1, ein Polynom p(x 1, x 2,..., x n ) = c i1 i 2...i n x i 1 1 x i 2 2... x i n n in n Variablen mit ganzzahligen Koeffizienten Frage: Gibt es eine Lösung von p(x 1, x 2,..., x n ) = 0 in Z n? ist unentscheidbar. Theoretische Informatik, Berechenbarkeit und Algorithmen 58

Unentscheidbare Probleme IV Satz: Das Postsche Korrespondenzproblem Gegeben: Alphabet X mit mind. zwei Buchstaben, n 1, Menge {(u 1, v 1 ), (u 2, v 2 ),..., (u n, v n )} mit u i, v i X + für 1 i n Frage: ist unentscheidbar. Gibt es eine Folge i 1 i 2... i m mit 1 i j n für 1 j m derart, dass u i1 u i2... u im = v i1 v i2... v im gilt? Theoretische Informatik, Berechenbarkeit und Algorithmen 59