Theoretische Grundlagen der Informatik

Ähnliche Dokumente
Theoretische Grundlagen der Informatik

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

Rekursiv aufzählbare Sprachen

Berechenbarkeit. Script, Kapitel 2

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

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

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

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

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

Berechenbarkeit und Komplexität

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

Ausgewählte unentscheidbare Sprachen

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

Wie viel Mathematik kann ein Computer?

Theoretische Informatik

11.1 Kontextsensitive und allgemeine Grammatiken

Einführung in die Computerlinguistik Berechenbarkeit, Entscheidbarkeit, Halteproblem

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

Theoretische Informatik Testvorbereitung Moritz Resl

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

Theoretische Informatik 1

Theoretische Informatik SS 03 Übung 3

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Einführung in die Theoretische Informatik

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

Lösungen zur 3. Projektaufgabe TheGI1

Formale Sprachen und Automaten

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

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

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Einführung in die Theoretische Informatik

8. Turingmaschinen und kontextsensitive Sprachen

Theoretische Informatik 1

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

Einführung in die Programmierung

Formale Sprachen und Automaten

LOOP-Programme: Syntaktische Komponenten

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Theoretische Informatik 2

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

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

Algorithmen und Berechnungskomplexität II

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

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

Einführung in die Theoretische Informatik

Sprachen und Programmiersprachen

Theoretische Grundlagen der Informatik

Berechenbarkeitsmodelle

2.4 Kontextsensitive und Typ 0-Sprachen

Die Church-Turing-These

Übung Theoretische Grundlagen

Berechenbarkeits- und Komplexitätstheorie

Zusammenfassung Grundzüge der Informatik 4

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

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

Einführung in die Informatik

Theoretische Informatik Kap 2: Berechnungstheorie

Theorie der Informatik

DKA und dkfs (mit Übungen)

Prinzipielle Grenzen der Berechenbarkeit

Einführung in die Theoretische Informatik

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Reguläre Sprachen und endliche Automaten

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

Sprachen und Automaten. Tino Hempel

Algorithmen und Berechnungskomplexität II

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Kapitel 3: Berechnungstheorie Gliederung

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

Theoretische Informatik Mitschrift

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

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

Theoretische Informatik 2

Kapitel 1. Grundlagen Mengen

(Prüfungs-)Aufgaben zu formale 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

Kapitel 1. Grundlagen

Lösungsvorschläge Blatt Z1

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

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

I.2. Endliche Automaten (ohne Ausgabe)

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

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

Theoretische Grundlagen der Informatik

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Typ-3-Sprachen. Das Pumping-Lemma

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

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

Grammatiken. Einführung

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

Mächtigkeit von WHILE-Programmen

2 Die Dimension eines Vektorraums

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Theoretische Informatik 1

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Transkript:

Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am der 17. Helmholtz-Gemeinschaft November 2016 www.kit.edu

Definitionen zur TM Eine Turing-Maschine akzeptiert eine Eingabe w Σ, wenn sie nach Lesen von w in einem Zustand aus F stoppt. Sie akzeptiert eine Sprache L genau dann, wenn sie ausschließlich Wörter aus w L als Eingabe akzeptiert. Eine Sprache L Σ heißt rekursiv oder entscheidbar, wenn es eine Turing-Maschine gibt, die auf allen Eingaben stoppt und eine Eingabe w genau dann akzeptiert, wenn w L gilt. Eine Sprache L Σ heißt rekursiv-aufzählbar oder semi-entscheidbar, wenn es eine Turing-Maschine gibt, die genau die Eingaben w akzeptiert für die w L. Das Verhalten der Turing-Maschine für Eingaben w L ist damit nicht definiert. D.h., die Turing-Maschine stoppt entweder nicht in einem Endzustand oder aber stoppt gar nicht. 1 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Notation: Konfiguration Situation in der sich eine TM M := (Q, Σ, Γ, δ, s, F ) befindet wird durch die Angabe der Konfiguration codiert. Eine Konfiguration hat die Form w(q)av, wobei w, v Γ a Γ q Q Bedeutung: M befindet sich gerade im Zustand q. Der Lesekopf steht auf dem Zeichen a. Links vom Lesekopf steht das Wort w auf dem Rechenband. Rechts vom Lesekopf steht das Wort v auf dem Rechenband. 2 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Beispiel: Konfiguration 0 0, R 1 1, R 0 0, L 1 1, L s 1 1, R q 1, L q 1, L 2 q 3 0 0, R 1 1, R q 6, L 0 0, R 1 1, R, R TM akzeptiert {0 n 1 n : n 1}. Eingabe: 0011 q 7, R q 5 0, R q 4 3 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Beispiel: Konfiguration 0 0, R s 1 1, R 1 1, R q 1 q 7 3 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik 0 0, L 1 1, L, L q 1, L 2 q 3 0 0, R 1 1, R, R q 6 q 5, L 0 0, R 1 1, R, R 0, R q 4 (s)0011 0(s)011 00(s)11 001(q 1 )1 0011(q 1 ) 001(q 2 )1 00(q 3 )1 0(q 3 )01 (q 3 )001 (q 3 ) 001 (q 4 )001 (q 5 )01 0(q 6 )1 01(q 6 ) 0(q 2 )1 (q 3 )0 (q 3 ) 0 (q 4 )0 (q 5 ) (q 7 )

Definition: berechenbar / totalrekursiv Eine Funktion f : Σ Γ heißt (Turing-)berechenbar oder totalrekursiv, wenn es eine Turing-Maschine gibt, die bei Eingabe von w Σ den Funktionswert f (w) Γ ausgibt. Eine Turing-Maschine realisiert eine Funktion f : Σ Γ, falls gilt: { Ausgabe der Turing-Maschine, wenn sie bei Eingabe w stoppt f (w) = undefiniert sonst 4 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Beispiel 0 0, R 1 1, R 1 0, L 0 0, L 1 1, L s 1 1, R q, L 1 q 2 0 1, L q 3 0 0, R 1, L q 4, L q 5 0 1, L f, L Fasse die Eingabe w als binäre Zahl auf. Es sollen nur Eingaben ohne führende Nullen und die Null selbst akzeptiert werden. Addiere zur Eingabe w (0 1) eine Eins. 5 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Beispiel 0 0, R 1 1, R 1 0, L 0 0, L 1 1, L s 1 1, R q, L 1 q 2 0 1, L q 3 0 0, R 1, L q 4, L q 5 0 1, L f, L w + 1 falls w 0 1(0 1), Es gilt: f (w) = w interpretiert als Binärzahl undefiniert sonst 5 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Beispiel 0 0, R 1 1, R 1 0, L 0 0, L 1 1, L s 1 1, R q, L 1 q 2 0 1, L q 3 0 0, R 1, L q 4, L q 5 0 1, L f, L Dabei sind die Zustände jeweils für die folgenden Aufgaben verantwortlich: q 1 Bewegung des Lese-/Schreibkopfes nach rechts bis zum Eingabeende, q 2 Bildung des Übertrages, der durch die Addition von Eins zu einer bereits vorhandenen Eins entsteht, 5 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Beispiel 0 0, R 1 1, R 1 0, L 0 0, L 1 1, L s 1 1, R q, L 1 q 2 0 1, L q 3 0 0, R 1, L q 4, L q 5 0 1, L f, L Dabei sind die Zustände jeweils für die folgenden Aufgaben verantwortlich: q 3 Bewegung des Lese-/Schreibkopfes nach links, nachdem die Aufsummierung abgeschlossen ist (kein Übertrag mehr), q 4, q 5 Sonderbehandlung für den Fall der Eingabe 0, und f Endzustand. 5 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Entscheidbarkeit und Berechenbarkeit Entscheidbarkeit von Sprachen und Berechenbarkeit von Funktionen sind verwandt: Eine Turing-Maschine akzeptiert eine Sprache L, wenn sie genau auf den Eingaben w L in einem ausgezeichneten Endzustand stoppt. L ist entscheidbar, wenn es eine Turing-Maschine gibt, die auf allen Eingaben stoppt und L akzeptiert. Die Funktion f heißt berechenbar, wenn eine Turing-Maschine existiert, die f realisiert. 6 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Entscheidbarkeit und Berechenbarkeit Entscheidbarkeit von Sprachen und Berechenbarkeit von Funktionen sind verwandt: Man kann eine Turing-Maschine M, die auf allen Eingaben stoppt, so modifizieren, dass es zwei ausgezeichnete Zustände q J und q N gibt und dass M stets in einem der Zustände q J oder q N hält. Dabei stoppt sie bei der Eingabe w genau dann in q J, wenn sie w akzeptiert, ansonsten in q N. Damit ist die Sprache L genau dann entscheidbar, wenn es eine Turing-Maschine gibt, die immer in einem der Zustände {q J, q N } stoppt, wobei sie gerade für w L in q J hält. 6 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Korollar Eine Sprache L Σ ist entscheidbar genau dann, wenn ihre charakteristische Funktion χ L berechenbar ist, wobei gilt: { χ L : Σ 1 falls w L {0, 1} mit χ L (w) = 0 sonst Eine Sprache L ist semi-entscheidbar genau dann, wenn die Funktion χl berechenbar ist, wobei gilt: { χl (w) = 1 falls w L undefiniert sonst 7 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Church sche These Church sche These Die Menge der (Turing-)berechenbaren Funktionen ist genau die Menge der im intuitiven Sinne überhaupt berechenbaren Funktionen. 8 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Church sche These Church sche These Die Menge der (Turing-)berechenbaren Funktionen ist genau die Menge der im intuitiven Sinne überhaupt berechenbaren Funktionen. Interpretation Turing-Maschinen sind formale Modelle für Algorithmen. Kein Berechnungsverfahren kann algorithmisch genannt werden, wenn es nicht von einer Turing-Maschine ausführbar ist. Bemerkung The Chursch sche These ist ohne eine präzise Definition von intuitiv berechenbar nicht beweisbar. Sie ist aber in der Informatik allgemein akzeptiert. 8 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Church sche These Church sche These Die Menge der (Turing-)berechenbaren Funktionen ist genau die Menge der im intuitiven Sinne überhaupt berechenbaren Funktionen. Begründung Es existieren keine Beispiele von Funktionen, die als intuitiv berechenbar angesehen werden, aber nicht Turing-berechenbar sind. Alle Versuche, realistische Modelle aufzustellen, die mächtiger sind als Turing-Maschinen, schlugen fehl. Eine Reihe von völlig andersartigen Ansätzen, den Begriff der Berechenbarkeit formal zu fassen, wie zum Beispiel die Registermaschine, haben sich als äquivalent erwiesen. 8 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Erweiterungen der Turing-Maschine Mehrere Lese-/Schreibköpfe...... Mehrere Lese-/Schreibköpfe (n N) greifen auf das eine Eingabeband zu und werden von der endlichen Kontrolle gesteuert. Die Übergangsfunktion ist dann vom Typ δ : Q Γ n Q Γ n {L, N, R} n. Die Zustände q Q kann man als n-tupel auffassen. Es ist nötig eine Prioritätenregel für die einzelnen Köpfe anzugeben, falls mehrere auf einem Feld des Eingabebandes stehen. 9 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Erweiterungen der Turing-Maschine Mehrere Bänder Ein Lese-/Schreibkopf kann auf mehrere Eingabebänder (n N) zugreifen. Die Übergangsfunktion ist dann vom Typ δ : Q Γ {1,..., n} Q Γ {L, N, R} {1,..., n}. 9 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Erweiterungen der Turing-Maschine Mehrere Lese-/Schreibköpfe für mehrere Bänder Wir haben jetzt m Bänder und n Lese-/Schreibköpfe. Die Übergangsfunktion ist dann vom Typ δ : Q Γ n {1,..., m} n Q Γ n {L, N, R} n {1,..., m} n. 9 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Erweiterungen der Turing-Maschine Mehrdimensionale Bänder Das Eingabeband ist nun mehrdimensional und hat hier im Beispiel die Dimension zwei. Wir sprechen dann von einem Arbeitsfeld. Dabei ist δ : Q Γ Q Γ {L(eft), U(p), R(ight), D(own), N(othing)} 9 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Erweiterungen der Turing-Maschine Bemerkungen Fragestellungen der Art: Wann stoppt eine Mehrkopf-Maschine? Welcher Kopf,gewinnt, wenn mehrere Köpfe (verschiedene) Symbole an dieselbe Stelle schreiben wollen? müssen bei solchen Modifikationen noch geklärt werden. Es hat sich allerdings gezeigt, dass keine dieser Erweiterungen mehr leistet, als eine normale Turing-Maschine. Alle angegebenen Modifikationen können durch eine normale 1 Band Turing-Maschine simuliert werden. 9 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die universelle Turing-Maschine Ziel Bisher: Nur Turing-Maschinen, die eine bestimmte Aufgabe erfüllen. Jetzt: Konstruktion einer Turing-Maschine, die als Eingabe ein Programm und eine spezielle Eingabe erhält. Die Aufgabe besteht darin, das gegebene Programm auf der gegebenen speziellen Eingabe auszuführen. 10 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die universelle Turing-Maschine Wir betrachten dazu eine normierte Turing-Maschine, d.h. Q := {q 1,..., q n } Σ := {a 1,..., a k } Γ := {a 1,..., a k, a k+1,..., a l } s := q 1 F := {q 2 } Dies bedeutet keine Einschränkung in der Mächtigkeit der Turing-Maschinen: Jede beliebige Turing-Maschine kann durch eine derart normiert Turing-Maschine der obigen Form simuliert werden. Jede normierte Turing-Maschine M lässt sich eindeutig als Wort aus (0 1) kodieren. 11 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Gödelnummer Sei M := (Q, Σ, Γ, δ, s, F ) eine Turing-Maschine. Die Gödelnummer von M, bezeichnet als M, ist definiert durch folgende Kodierungsvorschrift: Kodiere δ(q i, a j ) = (q r, a s, d t ) durch 0 i 1 0 j 1 0 r 1 0 s 1 0 t, wobei d t {d 1, d 2, d 3 } und d 1 für L, d 2 für R und d 3 für N steht. Die Turing-Maschine wird dann kodiert durch: 111code 1 11code 2 11... 11code z 111, wobei code i für i = 1,..., z alle Funktionswerte von δ in beliebiger Reihenfolge beschreibt. 12 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Gödelnummer - Bemerkungen Die eigentlichen Werte der Turing-Maschine werden also (unär) durch Nullen beschrieben und die Einsen dienen als Begrenzung der Eingabewerte. Jede Turing-Maschine kann also durch ein Wort aus (0 1) kodiert werden. Umgekehrt beschreibt jedes Wort aus (0 1) (höchstens) eine Turing-Maschine. Wir vereinbaren, dass ein Wort, das keine Turing-Maschine in diesem Sinne beschreibt, (zum Beispiel ε, 0, 000) eine Turing-Maschine kodiert, die akzeptiert. Eine universelle Turing-Maschine erhält als Eingabe ein Paar ( M, w), wobei w {0, 1} ist, und sie simuliert M auf w. 13 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Gödelnummer - Beispiel Sei M = ({q 1, q 2, q 3 }, {0, 1},, {0, 1, }, δ, q 1, {q 2 }), mit δ(q 1, 1) = (q 3, 0, R) δ(q 3, 0) = (q 1, 1, R) δ(q 3, 1) = (q 2, 0, R) δ(q 3, ) = (q 3, 1, L) M zusammen mit der Eingabe 1011 ist dann: 111010010001010011000101010010011000 100100101001100010001000100101111011 14 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Definition Zu w {0, 1} sei T w die Turing-Maschine mit der Gödelnummer (GN) w, bzw. die Turing-Maschine, die akzeptiert. Es sei L(T w ) die Sprache, die von T w akzeptiert wird. 15 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Diagonalsprache Wir konstruieren die sogenannte Diagonalsprache L d, wie folgt: Betrachte die Wörter aus {0, 1} in kanonischer Reihenfolge, d.h. w i steht vor w j (i < j), falls w i < w j, oder w i = w j und w i lexikographisch vor w j steht. M j sei die TM, die durch die Gödelnummer w j kodiert ist. Wir konstruieren eine unendliche Tabelle, an deren Position (i, j) für 1 i, j < eine Null oder eine Eins steht, und welche beinhaltet, ob w i in L(M j ) ist. Damit gilt für die Einträge { 1 falls M (i, j) = j w i akzeptiert 0 sonst 16 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Diagonalsprache Damit gilt für die Einträge { 1 falls M (i, j) = j w i akzeptiert 0 sonst Definiere dazu L d := {w i M i akzeptiert w i nicht}. L d enthält also alle w i, für die auf der Diagonalen an der Stelle (i, i) eine Null steht. Dies führt später zu einem Diagonalbeweis (Cantor). 16 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Die Diagonalsprache - Veranschaulichung w {0, 1} Gödelnummer w i w j w k.. w i 1 0 1 0 1 0 0 w i L d w j 0 0 1 0 0 1 1 w j L d w k 1 0 0 1 1 0 1 w k L d.. 17 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Unentscheidbarkeit der Diagonalsprache Satz (Unentscheidbarkeit der Diagonalsprache): Die Sprache L d ist nicht entscheidbar. 18 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Unentscheidbarkeit der Diagonalsprache Satz (Unentscheidbarkeit der Diagonalsprache): Die Sprache L d ist nicht entscheidbar. Beweis: Falls L d entscheidbar ist, gibt es eine Turing-Maschine M i, die (1) stets hält, (2) genau die w L d akzeptiert. Wende nun M i auf w i an: Falls w i L d, dann wird w i, wegen (2) von M i akzeptiert. Falls w i L d, dann akzeptiert M i das Wort w i wegen (2) nicht. Beides ist ein Widerspruch zur Definition von L d. 18 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Korollar Korollar Die Sprache L c d := {0, 1} \L d ist nicht entscheidbar. 19 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Korollar Korollar Die Sprache L c d := {0, 1} \L d ist nicht entscheidbar. Beweis: Falls L c d entscheidbar ist, gibt es eine Turing-Maschine, die Lc d entscheidet. Diese kann aber leicht zu einer Turing-Maschine modifiziert werden, die L d entscheidet. Dies ist ein Widerspruch zur Unentscheidbarkeit der Diagonalsprache. 19 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Korollar Korollar Die Sprache L c d := {0, 1} \L d ist nicht entscheidbar. Beweis: Falls L c d entscheidbar ist, gibt es eine Turing-Maschine, die Lc d entscheidet. Diese kann aber leicht zu einer Turing-Maschine modifiziert werden, die L d entscheidet. Dies ist ein Widerspruch zur Unentscheidbarkeit der Diagonalsprache. 19 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Paradoxien und Selbstbezüglichkeit Der Barbier von Hintertupfingen rasiert genau die Männer im Dorf, die sich nicht selbst rasieren. Wer rasiert den Barbier? 20 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Paradoxien und Selbstbezüglichkeit Der Barbier von Hintertupfingen rasiert genau die Männer im Dorf, die sich nicht selbst rasieren. Wer rasiert den Barbier? Daniel Düsentrieb behauptet, eine allwissende Maschine erfunden zu haben. Man stellt eine Ja/Nein-Frage und die Antwort leuchtet auf. Dagobert Duck kauf die Maschine. Will aber nur bei korrekter Antwort zahlen. Er stellt die Maschine die Frage: Wirst du mit Nein antworten? Was passiert? 20 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Halteproblem Programm HALT: Programm TEST: Eingabe Halt Ja Nein Test Halt Ja Nein Endlosschleife Stop Hält nicht Hält 21 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Halteproblem Programm HALT: Programm TEST: Eingabe Halt Ja Nein Test Test Halt Ja Nein Endlosschleife Stop Hält nicht Hält Wie verhält sich TEST bei der Eingabe TEST? 21 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Das Halteproblem Das Halteproblem definiert folgende Sprache H := {wv T w hält auf der Eingabe v}. Satz (Unentscheidbarkeit des Halteproblems): H ist nicht entscheidbar. Interpretation: Das Problem, ob eine Turing-Maschine auf einer Eingabe w stoppt, ist nicht entscheidbar. 22 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Das Halteproblem Satz (Unentscheidbarkeit des Halteproblems): H = {wv T w hält auf der Eingabe v} ist nicht entscheidbar. Beweis: Angenommen es existiert eine stets haltende Turing-Maschine, die H entscheidet. Wir konstruieren daraus eine stets haltende Turing-Maschine, die L c d entscheidet, mit Widerspruch zum letzten Korollar. Sei w eine Eingabe, für die wir entscheiden wollen, ob w L c d. Wir können wie folgt vorgehen: Berechne das i, so dass w = w i ist. Betrachte die durch w i kodierte Turing-Maschine M i. Wende die Turing-Maschine für H auf M i w i an. 22 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik

Das Halteproblem Satz (Unentscheidbarkeit des Halteproblems): H = {wv T w hält auf der Eingabe v} ist nicht entscheidbar. Sei w eine Eingabe, für die wir entscheiden wollen, ob w L c d. Wir können wie folgt vorgehen: Berechne das i, so dass w = w i ist. Betrachte die durch w i kodierte Turing-Maschine M i. Wende die Turing-Maschine für H auf M i w i an. Wir machen folgende Fallunterscheidung: Falls M i w i nicht akzeptiert wird, dann hält M i nicht auf w i. Nach Definition von H ist also w i L d und damit w i L c d. Falls M i w i akzeptiert wird, dann hält M i auf w i. Dann können wir auf der universellen Turing-Maschine die Berechnung von M i auf w i simulieren. 22 17.05.2010 Dorothea Wagner - Theoretische Grundlagen der Informatik