VL-05: Unentscheidbarkeit I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

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

Theoretische Grundlagen der Informatik

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

Berechenbarkeit und Komplexität

Mächtigkeit von WHILE-Programmen

Berechenbarkeit und Komplexität

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

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Theoretische Informatik 1

Wie viel Mathematik kann ein Computer?

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Algorithmen und Berechnungskomplexität II

WS 2009/10. Diskrete Strukturen

Rekursive Funktionen Basisfunktionen

Sprachen und Programmiersprachen

"Zahlen-Irrtum I": Es gibt nur halb so viele gerade Zahlen (2, 4, 6,.) wie Natürliche Zahlen (1, 2, 3, 4,.).

Algorithmen und Programmierung

Kapitel 1. Grundlagen

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

Kapitel 1. Grundlagen Mengen

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Theoretische Informatik 1

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

Berechenbarkeit. Script, Kapitel 2

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

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

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

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

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

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

Ausgewählte unentscheidbare Sprachen

Einführung in die Informatik 2

Einführung in die Computerlinguistik Berechenbarkeit, Entscheidbarkeit, Halteproblem

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

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

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

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Formale Sprachen und Automaten

Theoretische Informatik

Einführung in die Theoretische Informatik

Primitiv rekursive und µ-rekursive Funktionen

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

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

Algorithmen und Datenstrukturen 1 Kapitel 4.1

Theoretische Informatik Kap 2: Berechnungstheorie

1.1 Mengen und Abbildungen

Berechenbarkeitsmodelle

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

Mengen und Abbildungen

Theoretische Informatik 1

4 Die Turing-Maschine

Automaten und Formale Sprachen

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

2. Vorlesung. Die Theorie der schwarz-weissen Ketten.

Was bisher geschah: Formale Sprachen

Theoretische Informatik SS 03 Übung 3

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

Kapitel 2 MENGENLEHRE

Kapitel 2 Mathematische Grundlagen

ELEMENTARE DISKRETE MATHEMATIK Kapitel 4: Mächtigkeit von Mengen

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Theoretische Informatik

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

Einführung in die Informatik Algorithms

Topologische Räume und stetige Abbildungen Teil 2

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

Ideen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann

Die Komplexitätsklassen P und NP

Mengenlehre gibt es seit den achtziger Jahren des 19. Jahrhunderts. Sie wurde von

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

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

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

Prinzipielle Grenzen der Berechenbarkeit

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

Unendlich ist nicht gleich unendlich

Digitales Rechnen, die Turing Maschine und das von Neumann Prinzip

3. Diskrete Mathematik

LOOP-Programme: Syntaktische Komponenten

Wenn ich pro Sekunde eine natürliche Zahl aufzählen kann, kann ich in 2000 Sekunden alle natürlichen Zahlen aufsagen.

Zur Ästhetik mathematischer Beweisführung

Theoretische Informatik 1

Mengen, Funktionen und Logik

Kapitel IV. Endliche, abzählbare und überabzählbare Mengen. IV.1 Abzählbare Mengen

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Theoretische Informatik Mitschrift

1 Random Access Maschine

Wortproblem für kontextfreie Grammatiken

Reduzierbarkeit und das Post'sche Korrespondenzproblem

Einführung in die Theoretische Informatik

4.13. Permutationen. Definition. Eine Permutation der Elementen {1,..., n} ist eine bijektive Abbildung

Theoretische Informatik. Alphabete, Worte, Sprachen

Naive Mengenlehre. ABER: Was ist eine Menge?

Herzlich willkommen!!!

Grundlagen der Theoretischen Informatik

Eine Menge A ist die Zusammenfassung gleichartiger Elemente zu einer Gesamtheit. Eine Menge kann definiert werden durch

Transkript:

VL-05: Unentscheidbarkeit I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-05: Unentscheidbarkeit I 1/37

Organisatorisches Nächste Vorlesung: Donnerstag, November 2, 12:15 13:45 Uhr, Aula Achtung: In der Woche Oct-30 bis Nov-3 entfallen alle Tutorien! Webseite: http://algorwth-aachende/lehre/ws1718/bukphp BuK/WS 2017 VL-05: Unentscheidbarkeit I 2/37

Wiederholung BuK/WS 2017 VL-05: Unentscheidbarkeit I 3/37

Wdh: Registermaschinen (RAM) Programm c(5) c(4) b Befehlszähler c(0) Akkumulator c(3) c(2) c(1) Speicher (unbeschränkt) Befehlssatz: LOAD, STORE, ADD, SUB, MULT, DIV INDLOAD, INDSTORE, INDADD, INDSUB, INDMULT, INDDIV CLOAD, CADD, CSUB, CMULT, CDIV GOTO, IF c(0)?x THEN GOTO j (wobei? aus {=,<,<=,>,>=} ist), END BuK/WS 2017 VL-05: Unentscheidbarkeit I 4/37

Wdh: RAM vs TM Satz (RAM TM) Für jede im logarithmischen Kostenmass t(n)-zeitbeschränkte RAM R gibt es ein Polynom q und zu diesem eine O ( q(n + t(n)) ) -TM M, die R simuliert Satz (TM RAM) Jede t(n)-zeitbeschränkte TM kann durch eine RAM simuliert werden, die zeitbeschränkt ist durch O(t(n) + n) im uniformen Kostenmass und O((t(n) + n) log(t(n) + n)) im logarithmischen Kostenmass BuK/WS 2017 VL-05: Unentscheidbarkeit I 5/37

Wdh: Hintereinanderausführung von Polynomen Beobachtung Die Klasse der Polynome ist unter Hintereinanderausführung abgeschlossen (Wenn p(x) und q(x) Polynome sind, dann ist p(q(x)) ein Polynom Des Weiteren gilt für Polynome p, q: Wenn t(n) O(p(n)) und t (n) O(q(n)) dann t(t (n)) O(p(q(n))) BuK/WS 2017 VL-05: Unentscheidbarkeit I 6/37

Wdh: Die Church-Turing-These Kein bekanntes vernünftiges Rechnermodell ist mächtiger als die TM: Lambda-Kalkül von Alonzo Church: gleich mächtig wie TM Kanonische Systeme von Emil Post: gleich mächtig wie TM µ-rekursive Funktionen von Kurt Gödel: gleich mächtig wie TM Alonzo Church und Alan Turing formulierten die folgende These in den 1930er Jahren: Church-Turing These Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der intuitiv berechenbaren Funktionen überein Wir werden deshalb nicht mehr von TM-berechenbaren Funktionen sprechen, sondern allgemein von berechenbaren Funktionen Gleichbedeutend verwenden wir den Begriff entscheidbare Funktion bzw entscheidbare oder auch entscheidbare Sprache BuK/WS 2017 VL-05: Unentscheidbarkeit I 7/37

Vorlesung VL-05 Unentscheidbarkeit I Unentscheidbare Probleme Exkurs: Abzählbare und e Mengen Unentscheidbare Probleme Diagonalisierung BuK/WS 2017 VL-05: Unentscheidbarkeit I 8/37

Unentscheidbare Probleme BuK/WS 2017 VL-05: Unentscheidbarkeit I 9/37

Die zentrale Frage Frage Gibt es unentscheidbare Probleme? BuK/WS 2017 VL-05: Unentscheidbarkeit I 10/37

Die zentrale Frage Frage Gibt es unentscheidbare Probleme? Antwort Ja, es gibt unentscheidbare Probleme BuK/WS 2017 VL-05: Unentscheidbarkeit I 10/37

Die zentrale Frage Frage Gibt es unentscheidbare Probleme? Antwort Ja, es gibt unentscheidbare Probleme Denn: Die Mächtigkeit der Menge aller Sprachen ist grösser als die Mächtigkeit der Menge aller Turing Maschinen BuK/WS 2017 VL-05: Unentscheidbarkeit I 10/37

Exkurs: Abzählbare und e Mengen BuK/WS 2017 VL-05: Unentscheidbarkeit I 11/37

Exkurs (1): Abzählbarkeit Definition (Abzählbare Menge) Eine Menge M heisst abzählbar, wenn M leer ist oder wenn es eine surjektive Funktion c : N M gibt BuK/WS 2017 VL-05: Unentscheidbarkeit I 12/37

Exkurs (1): Abzählbarkeit Definition (Abzählbare Menge) Eine Menge M heisst abzählbar, wenn M leer ist oder wenn es eine surjektive Funktion c : N M gibt Jede endliche Menge M ist abzählbar BuK/WS 2017 VL-05: Unentscheidbarkeit I 12/37

Exkurs (1): Abzählbarkeit Definition (Abzählbare Menge) Eine Menge M heisst abzählbar, wenn M leer ist oder wenn es eine surjektive Funktion c : N M gibt Jede endliche Menge M ist abzählbar Für eine e Menge M gibt es immer auch eine bijektive (bijektiv = surjektiv+injektiv) Abbildung c : N M: Wiederholungen von Elementen von M können bei der Abzählung einfach weggelassen werden BuK/WS 2017 VL-05: Unentscheidbarkeit I 12/37

Exkurs (1): Abzählbarkeit Definition (Abzählbare Menge) Eine Menge M heisst abzählbar, wenn M leer ist oder wenn es eine surjektive Funktion c : N M gibt Jede endliche Menge M ist abzählbar Für eine e Menge M gibt es immer auch eine bijektive (bijektiv = surjektiv+injektiv) Abbildung c : N M: Wiederholungen von Elementen von M können bei der Abzählung einfach weggelassen werden Die Elemente einer abzählbaren Menge können also durchnummeriert werden BuK/WS 2017 VL-05: Unentscheidbarkeit I 12/37

Exkurs (1): Abzählbarkeit Definition (Abzählbare Menge) Eine Menge M heisst abzählbar, wenn M leer ist oder wenn es eine surjektive Funktion c : N M gibt Jede endliche Menge M ist abzählbar Für eine e Menge M gibt es immer auch eine bijektive (bijektiv = surjektiv+injektiv) Abbildung c : N M: Wiederholungen von Elementen von M können bei der Abzählung einfach weggelassen werden Die Elemente einer abzählbaren Menge können also durchnummeriert werden Abzählbar unendliche Mengen haben somit dieselbe Mächtigkeit wie die Menge der natürlichen Zahlen N BuK/WS 2017 VL-05: Unentscheidbarkeit I 12/37

Exkurs (2): Abzählbarkeit Beispiele für e Mengen die Menge der ganzen Zahlen Z: { i/2 falls i gerade c(i) = (i + 1)/2 falls i ungerade 0, 1, 1, 2, 2, 3, 3, 4, 4,, BuK/WS 2017 VL-05: Unentscheidbarkeit I 13/37

Exkurs (2): Abzählbarkeit Beispiele für e Mengen die Menge der ganzen Zahlen Z: { i/2 falls i gerade c(i) = (i + 1)/2 falls i ungerade 0, 1, 1, 2, 2, 3, 3, 4, 4,, die Menge der rationalen Zahlen Q BuK/WS 2017 VL-05: Unentscheidbarkeit I 13/37

Exkurs (2): Abzählbarkeit Beispiele für e Mengen die Menge der ganzen Zahlen Z: { i/2 falls i gerade c(i) = (i + 1)/2 falls i ungerade 0, 1, 1, 2, 2, 3, 3, 4, 4,, die Menge der rationalen Zahlen Q 0, 1 1, 2 1, 1 2, 3 1,, i 1, i 1 2, i 2 3, 1 i, BuK/WS 2017 VL-05: Unentscheidbarkeit I 13/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit 1 2 3 4 5 6 1 1/1 2/1 3/1 4/1 5/1 6/1 2 1/2 2/2 3/2 4/2 5/2 6/2 3 1/3 2/3 3/3 4/3 5/3 6/3 4 1/4 2/4 3/4 4/4 5/4 6/4 5 1/5 2/5 3/5 4/5 5/5 6/5 6 1/6 2/6 3/6 4/6 5/6 6/6 BuK/WS 2017 VL-05: Unentscheidbarkeit I 14/37

Exkurs (2): Abzählbarkeit Beispiele für e Mengen die Menge der ganzen Zahlen Z: { i/2 falls i gerade c(i) = (i + 1)/2 falls i ungerade 0, 1, 1, 2, 2, 3, 3, 4, 4,, die Menge der rationalen Zahlen Q 0, 1 1, 2 1, 1 2, 3 1,, i 1, i 1 2, i 2 3, 1 i, Σ, die Menge der Wörter über einem endlichen Alphabet Σ Zum Beispiel: {0, 1} in kanonischer Reihenfolge: ɛ, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, BuK/WS 2017 VL-05: Unentscheidbarkeit I 15/37

Exkurs (3): Abzählbarkeit Weitere Beispiele für e Mengen Die Menge der Gödelnummern, da Gödelnummern Wörter über dem Alphabet {0, 1} sind BuK/WS 2017 VL-05: Unentscheidbarkeit I 16/37

Exkurs (3): Abzählbarkeit Weitere Beispiele für e Mengen Die Menge der Gödelnummern, da Gödelnummern Wörter über dem Alphabet {0, 1} sind Die Menge der TMen (in unserer Normalform), da jede TM durch eine eindeutige Gödelnummer beschrieben wird BuK/WS 2017 VL-05: Unentscheidbarkeit I 16/37

Exkurs (3): Abzählbarkeit Weitere Beispiele für e Mengen Die Menge der Gödelnummern, da Gödelnummern Wörter über dem Alphabet {0, 1} sind Die Menge der TMen (in unserer Normalform), da jede TM durch eine eindeutige Gödelnummer beschrieben wird Notation Über dem binären Alphabet Σ = {0, 1} bezeichnen wir das i-te Wort in der kanonischen Reihenfolge im Folgenden mit w i Die i-te TM in der kanonischen Reihenfolge der Gödelnummern bezeichnen wir mit M i BuK/WS 2017 VL-05: Unentscheidbarkeit I 16/37

Exkurs (4a): Überabzählbarkeit Nun betrachten wir die Potenzmenge P(N), die Menge aller Teilmengen von N = {1, 2, 3, } BuK/WS 2017 VL-05: Unentscheidbarkeit I 17/37

Exkurs (4a): Überabzählbarkeit Nun betrachten wir die Potenzmenge P(N), die Menge aller Teilmengen von N = {1, 2, 3, } Satz Die Menge P(N) ist (= nicht abzählbar) BuK/WS 2017 VL-05: Unentscheidbarkeit I 17/37

Exkurs (4a): Überabzählbarkeit Nun betrachten wir die Potenzmenge P(N), die Menge aller Teilmengen von N = {1, 2, 3, } Satz Die Menge P(N) ist (= nicht abzählbar) Beweis (Diagonalisierung) Zwecks Widerspruchs nehmen wir an, dass P(N) abzählbar ist BuK/WS 2017 VL-05: Unentscheidbarkeit I 17/37

Exkurs (4a): Überabzählbarkeit Nun betrachten wir die Potenzmenge P(N), die Menge aller Teilmengen von N = {1, 2, 3, } Satz Die Menge P(N) ist (= nicht abzählbar) Beweis (Diagonalisierung) Zwecks Widerspruchs nehmen wir an, dass P(N) abzählbar ist Es sei S 0, S 1, S 2, S 3, eine Aufzählung von P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 17/37

Exkurs (4a): Überabzählbarkeit Nun betrachten wir die Potenzmenge P(N), die Menge aller Teilmengen von N = {1, 2, 3, } Satz Die Menge P(N) ist (= nicht abzählbar) Beweis (Diagonalisierung) Zwecks Widerspruchs nehmen wir an, dass P(N) abzählbar ist Es sei S 0, S 1, S 2, S 3, eine Aufzählung von P(N) Wir definieren eine 2-dimensionale unendliche Matrix (A i,j ) i,j N mit A i,j = { 1 falls j Si 0 sonst BuK/WS 2017 VL-05: Unentscheidbarkeit I 17/37

Exkurs (4b): Überabzählbarkeit Die Matrix A könnte etwa folgendermassen aussehen 0 1 2 3 4 5 6 S 0 0 1 1 0 1 0 1 S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 0 BuK/WS 2017 VL-05: Unentscheidbarkeit I 18/37

Exkurs (4b): Überabzählbarkeit Die Matrix A könnte etwa folgendermassen aussehen 0 1 2 3 4 5 6 {1, 2, 4, 6, } = S 0 0 1 1 0 1 0 1 S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 0 BuK/WS 2017 VL-05: Unentscheidbarkeit I 18/37

Exkurs (4b): Überabzählbarkeit Die Matrix A könnte etwa folgendermassen aussehen 0 1 2 3 4 5 6 {1, 2, 4, 6, } = S 0 0 1 1 0 1 0 1 {0, 1, 2, 4, 6, } = S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 0 BuK/WS 2017 VL-05: Unentscheidbarkeit I 18/37

Exkurs (4b): Überabzählbarkeit Die Matrix A könnte etwa folgendermassen aussehen 0 1 2 3 4 5 6 {1, 2, 4, 6, } = S 0 0 1 1 0 1 0 1 {0, 1, 2, 4, 6, } = S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 0 Wir definieren die Diagonalmenge S diag = {i N A i,i = 1} BuK/WS 2017 VL-05: Unentscheidbarkeit I 18/37

Exkurs (4b): Überabzählbarkeit Die Matrix A könnte etwa folgendermassen aussehen 0 1 2 3 4 5 6 {1, 2, 4, 6, } = S 0 0 1 1 0 1 0 1 {0, 1, 2, 4, 6, } = S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 0 Wir definieren die Diagonalmenge S diag = {i N A i,i = 1} S diag = {1, 2, 4, } BuK/WS 2017 VL-05: Unentscheidbarkeit I 18/37

Exkurs (4b): Überabzählbarkeit Die Matrix A könnte etwa folgendermassen aussehen 0 1 2 3 4 5 6 {1, 2, 4, 6, } = S 0 0 1 1 0 1 0 1 {0, 1, 2, 4, 6, } = S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 0 Wir definieren die Diagonalmenge S diag = {i N A i,i = 1} Das Komplement dieser Diagonalmenge ist S diag = N \ S diag = {i N A i,i = 0} S diag = {1, 2, 4, } BuK/WS 2017 VL-05: Unentscheidbarkeit I 18/37

Exkurs (4c): Überabzählbarkeit Beachte: Auch S diag ist eine Teilmenge von N BuK/WS 2017 VL-05: Unentscheidbarkeit I 19/37

Exkurs (4c): Überabzählbarkeit Beachte: Auch S diag ist eine Teilmenge von N S diag kommt daher in der Aufzählung S 1, S 2, von P(N) vor Es gibt also ein k N, so dass S diag = S k BuK/WS 2017 VL-05: Unentscheidbarkeit I 19/37

Exkurs (4c): Überabzählbarkeit Beachte: Auch S diag ist eine Teilmenge von N S diag kommt daher in der Aufzählung S 1, S 2, von P(N) vor Es gibt also ein k N, so dass S diag = S k Jetzt gibt es zwei Fälle, die jeweils zum Widerspruch führen BuK/WS 2017 VL-05: Unentscheidbarkeit I 19/37

Exkurs (4c): Überabzählbarkeit Beachte: Auch S diag ist eine Teilmenge von N S diag kommt daher in der Aufzählung S 1, S 2, von P(N) vor Es gibt also ein k N, so dass S diag = S k Jetzt gibt es zwei Fälle, die jeweils zum Widerspruch führen Fall 1: A k,k = 1 Def S diag Def A k S diag k S k A k,k = 0 Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 19/37

Exkurs (4c): Überabzählbarkeit Beachte: Auch S diag ist eine Teilmenge von N S diag kommt daher in der Aufzählung S 1, S 2, von P(N) vor Es gibt also ein k N, so dass S diag = S k Jetzt gibt es zwei Fälle, die jeweils zum Widerspruch führen Fall 1: A k,k = 1 Def S diag Def A k S diag k S k A k,k = 0 Fall 2: Widerspruch! A k,k = 0 Def S diag Def A k S diag k S k A k,k = 1 Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 19/37

Exkurs (4c): Überabzählbarkeit Beachte: Auch S diag ist eine Teilmenge von N S diag kommt daher in der Aufzählung S 1, S 2, von P(N) vor Es gibt also ein k N, so dass S diag = S k Jetzt gibt es zwei Fälle, die jeweils zum Widerspruch führen Fall 1: A k,k = 1 Def S diag Def A k S diag k S k A k,k = 0 Fall 2: Widerspruch! A k,k = 0 Def S diag Def A k S diag k S k A k,k = 1 Folglich gibt es keine Aufzählung von P(N) Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 19/37

Georg Cantor (1845 1918) Wikipedia: Georg Ferdinand Ludwig Philipp Cantor war ein deutscher Mathematiker Cantor lieferte wichtige Beiträge zur modernen Mathematik Insbesondere ist er der Begründer der Mengenlehre und veränderte den Begriff der Unendlichkeit BuK/WS 2017 VL-05: Unentscheidbarkeit I 20/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} {0, 1} BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N {R} BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N 7 endliche Graphen N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N 7 endliche Graphen??? N BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N 7 endliche Graphen??? N keine Menge BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N 7 endliche Graphen??? N keine Menge 8 Gödelnummern P({0, 1} ) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N 7 endliche Graphen??? N keine Menge 8 Gödelnummern < P({0, 1} ) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Exkurs: Einige Verständnisfragen Welche Menge hat die grössere Kardinalität? 1 {1,, n} < N endlich 2 { } < P(N) 3 R = P(N) 4 Graphen mit n : V (G) = {1,, n} = {0, 1} 5 N > {R} einelementig 6 Graphen mit V (G) = N > N 7 endliche Graphen??? N keine Menge 8 Gödelnummern < P({0, 1} ) BuK/WS 2017 VL-05: Unentscheidbarkeit I 21/37

Ende des Exkurses Zum Ende des Exkurses eine Testfrage für hochmotivierte Hörer: Gibt es eine Mächtigkeit zwischen N und R? BuK/WS 2017 VL-05: Unentscheidbarkeit I 22/37

Ende des Exkurses Zum Ende des Exkurses eine Testfrage für hochmotivierte Hörer: Gibt es eine Mächtigkeit zwischen N und R? Wikipedia: Paul Joseph Cohen (1934 2007) was an American mathematician He is best known for his proofs (1963/64) that the continuum hypothesis and the axiom of choice are independent from Zermelo-Fraenkel set theory, for which he was awarded the 1966 Fields Medal BuK/WS 2017 VL-05: Unentscheidbarkeit I 22/37

Unentscheidbare Probleme BuK/WS 2017 VL-05: Unentscheidbarkeit I 23/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) Es sei L die Menge aller Entscheidungsprobleme über {0, 1} BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) Es sei L die Menge aller Entscheidungsprobleme über {0, 1} Ein Entscheidungsproblem L L ist eine Teilmenge von {0, 1} BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) Es sei L die Menge aller Entscheidungsprobleme über {0, 1} Ein Entscheidungsproblem L L ist eine Teilmenge von {0, 1} L ist somit die Menge aller Teilmengen von {0, 1} Also ist L die Potenzmenge von {0, 1} Also gilt L = P({0, 1} ) BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) Es sei L die Menge aller Entscheidungsprobleme über {0, 1} Ein Entscheidungsproblem L L ist eine Teilmenge von {0, 1} L ist somit die Menge aller Teilmengen von {0, 1} Also ist L die Potenzmenge von {0, 1} Also gilt L = P({0, 1} ) Wir beobachten: {0, 1} hat dieselbe Mächtigkeit wie N BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) Es sei L die Menge aller Entscheidungsprobleme über {0, 1} Ein Entscheidungsproblem L L ist eine Teilmenge von {0, 1} L ist somit die Menge aller Teilmengen von {0, 1} Also ist L die Potenzmenge von {0, 1} Also gilt L = P({0, 1} ) Wir beobachten: {0, 1} hat dieselbe Mächtigkeit wie N L = P({0, 1} ) hat somit dieselbe Mächtigkeit wie P(N) BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} (und umgekehrt) Es sei L die Menge aller Entscheidungsprobleme über {0, 1} Ein Entscheidungsproblem L L ist eine Teilmenge von {0, 1} L ist somit die Menge aller Teilmengen von {0, 1} Also ist L die Potenzmenge von {0, 1} Also gilt L = P({0, 1} ) Wir beobachten: {0, 1} hat dieselbe Mächtigkeit wie N L = P({0, 1} ) hat somit dieselbe Mächtigkeit wie P(N) Die Menge L der Entscheidungsprobleme ist also BuK/WS 2017 VL-05: Unentscheidbarkeit I 24/37

Die Existenz unentscheidbarer Probleme Zusammengefasst: Es gibt viele Sprachen BuK/WS 2017 VL-05: Unentscheidbarkeit I 25/37

Die Existenz unentscheidbarer Probleme Zusammengefasst: Es gibt viele Sprachen Es gibt nur abzählbar viele TMen BuK/WS 2017 VL-05: Unentscheidbarkeit I 25/37

Die Existenz unentscheidbarer Probleme Zusammengefasst: Es gibt viele Sprachen Es gibt nur abzählbar viele TMen Schlussfolgerung Es existieren unentscheidbare Sprachen BuK/WS 2017 VL-05: Unentscheidbarkeit I 25/37

Die Existenz unentscheidbarer Probleme Zusammengefasst: Es gibt viele Sprachen Es gibt nur abzählbar viele TMen Schlussfolgerung Es existieren unentscheidbare Sprachen Die reine Existenz von unentscheidbaren Problemen ist eigentlich nicht bedrohlich: Es könnte sich dabei ja ausschliesslich um völlig uninteressante, künstliche, nicht praxis-relevante Probleme handeln BuK/WS 2017 VL-05: Unentscheidbarkeit I 25/37

Die Existenz unentscheidbarer Probleme Zusammengefasst: Es gibt viele Sprachen Es gibt nur abzählbar viele TMen Schlussfolgerung Es existieren unentscheidbare Sprachen Die reine Existenz von unentscheidbaren Problemen ist eigentlich nicht bedrohlich: Es könnte sich dabei ja ausschliesslich um völlig uninteressante, künstliche, nicht praxis-relevante Probleme handeln Leider werden wir sehen, dass sich diese Hoffnung nicht bestätigt BuK/WS 2017 VL-05: Unentscheidbarkeit I 25/37

Das Halteproblem BuK/WS 2017 VL-05: Unentscheidbarkeit I 26/37

Das Halteproblem Das Halteproblem besteht darin, zu entscheiden, ob ein gegebenes Programm mit einer gegebenen Eingabe terminiert In unserer Notation mit TMen ergibt sich die folgende formale Problemdefinition: Definition (Halteproblem) H = { M w M hält auf w} BuK/WS 2017 VL-05: Unentscheidbarkeit I 27/37

Das Halteproblem Das Halteproblem besteht darin, zu entscheiden, ob ein gegebenes Programm mit einer gegebenen Eingabe terminiert In unserer Notation mit TMen ergibt sich die folgende formale Problemdefinition: Definition (Halteproblem) H = { M w M hält auf w} Es wäre sehr nützlich, wenn Compiler das Halteproblem entscheiden könnten Wir werden jedoch sehen, dass dieses grundlegende Problem unentscheidbar ist BuK/WS 2017 VL-05: Unentscheidbarkeit I 27/37

Die Diagonalsprache (1) Zum Beweis der Unentscheidbarkeit des Halteproblems machen wir einen Umweg über die sogenannte Diagonalsprache Definition (Diagonalsprache): D = { w {0, 1} w = w i und M i akzeptiert w nicht} Anders gesagt: Das i-te Wort w i in der kanonischen Reihenfolge ist genau dann in D, wenn die i-te TM M i dieses Wort w i nicht akzeptiert BuK/WS 2017 VL-05: Unentscheidbarkeit I 28/37

Die Diagonalsprache (1) Zum Beweis der Unentscheidbarkeit des Halteproblems machen wir einen Umweg über die sogenannte Diagonalsprache Definition (Diagonalsprache): D = { w {0, 1} w = w i und M i akzeptiert w nicht} Anders gesagt: Das i-te Wort w i in der kanonischen Reihenfolge ist genau dann in D, wenn die i-te TM M i dieses Wort w i nicht akzeptiert Satz Die Diagonalsprache D ist unentscheidbar BuK/WS 2017 VL-05: Unentscheidbarkeit I 28/37

Die Diagonalsprache (2): Intuition Warum trägt die Sprache den Namen Diagonalsprache? Betrachte eine unendliche binäre Matrix A mit A i,j = { 1 falls Mi das Wort w j akzeptiert 0 sonst BuK/WS 2017 VL-05: Unentscheidbarkeit I 29/37

Die Diagonalsprache (2): Intuition Warum trägt die Sprache den Namen Diagonalsprache? Betrachte eine unendliche binäre Matrix A mit A i,j = { 1 falls Mi das Wort w j akzeptiert 0 sonst Beispiel: w 0 w 1 w 2 w 3 w 4 M 0 0 1 1 0 1 M 1 1 0 1 0 1 M 2 0 0 1 0 1 M 3 0 1 1 1 0 M 4 0 1 0 0 0 BuK/WS 2017 VL-05: Unentscheidbarkeit I 29/37

Die Diagonalsprache (2): Intuition Warum trägt die Sprache den Namen Diagonalsprache? Betrachte eine unendliche binäre Matrix A mit A i,j = { 1 falls Mi das Wort w j akzeptiert 0 sonst Beispiel: w 0 w 1 w 2 w 3 w 4 M 0 0 1 1 0 1 M 1 1 0 1 0 1 M 2 0 0 1 0 1 M 3 0 1 1 1 0 M 4 0 1 0 0 0 Die Diagonalsprache lässt sich auf der Diagonale der Matrix ablesen Es gilt D = {w i A i,i = 0} BuK/WS 2017 VL-05: Unentscheidbarkeit I 29/37

Die Diagonalsprache (3): Der Beweis Satz Die Diagonalsprache D ist unentscheidbar Beweis: Wir nehmen zwecks Widerspruchs an, dass D entscheidbar ist Dann gibt es eine TM M j, die D entscheidet BuK/WS 2017 VL-05: Unentscheidbarkeit I 30/37

Die Diagonalsprache (3): Der Beweis Satz Die Diagonalsprache D ist unentscheidbar Beweis: Wir nehmen zwecks Widerspruchs an, dass D entscheidbar ist Dann gibt es eine TM M j, die D entscheidet Wir starten die TM M j mit der Eingabe w j Es ergeben sich zwei Fälle, die jeweils direkt zum Widerspruch führen BuK/WS 2017 VL-05: Unentscheidbarkeit I 30/37

Die Diagonalsprache (3): Der Beweis Satz Die Diagonalsprache D ist unentscheidbar Beweis: Wir nehmen zwecks Widerspruchs an, dass D entscheidbar ist Dann gibt es eine TM M j, die D entscheidet Wir starten die TM M j mit der Eingabe w j Es ergeben sich zwei Fälle, die jeweils direkt zum Widerspruch führen Fall 1: w j D M j entsch D M j akzeptiert w j BuK/WS 2017 VL-05: Unentscheidbarkeit I 30/37

Die Diagonalsprache (3): Der Beweis Satz Die Diagonalsprache D ist unentscheidbar Beweis: Wir nehmen zwecks Widerspruchs an, dass D entscheidbar ist Dann gibt es eine TM M j, die D entscheidet Wir starten die TM M j mit der Eingabe w j Es ergeben sich zwei Fälle, die jeweils direkt zum Widerspruch führen Fall 1: w j D M j entsch D Def von D M j akzeptiert w j w j D Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 30/37

Die Diagonalsprache (3): Der Beweis Satz Die Diagonalsprache D ist unentscheidbar Beweis: Wir nehmen zwecks Widerspruchs an, dass D entscheidbar ist Dann gibt es eine TM M j, die D entscheidet Wir starten die TM M j mit der Eingabe w j Es ergeben sich zwei Fälle, die jeweils direkt zum Widerspruch führen Fall 1: w j D M j entsch D Fall 2: w j D M j entsch D Def von D M j akzeptiert w j M j akzeptiert w j nicht w j D Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 30/37

Die Diagonalsprache (3): Der Beweis Satz Die Diagonalsprache D ist unentscheidbar Beweis: Wir nehmen zwecks Widerspruchs an, dass D entscheidbar ist Dann gibt es eine TM M j, die D entscheidet Wir starten die TM M j mit der Eingabe w j Es ergeben sich zwei Fälle, die jeweils direkt zum Widerspruch führen Fall 1: w j D M j entsch D Fall 2: w j D M j entsch D Somit is D unentscheidbar Def von D M j akzeptiert w j M j akzeptiert w j nicht w j D Widerspruch! Def von D w j D Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 30/37

Das Halteproblem für JAVA-Programme Eingabe: Ausgabe: String method (Name der zu überprüfenden JAVA-Methode) Array parameters von Objekten (Parameter, die an die Methode übergeben werden) true, falls method wirklich eine Methode in einer verfügbaren Klasse bezeichnet, falls parameters die richtige Zahl von Parametern mit den richtigen Typen enthält und falls die Methode method bei Eingabe parameters (irgendwann) anhält false sonst BuK/WS 2017 VL-05: Unentscheidbarkeit I 31/37

In JAVA: 1 class Halt 2 3 4 static boolean halt ( String method, 5 Object [] parameters ) 6 7 8 9 Wir können annehmen, dass die Methode halt Zugriff auf den Quellcode von method hat BuK/WS 2017 VL-05: Unentscheidbarkeit I 32/37

Unentscheidbarkeit des Halteproblems (1) Satz Es gibt kein JAVA-Programm, welches das Halteproblem löst BuK/WS 2017 VL-05: Unentscheidbarkeit I 33/37

Unentscheidbarkeit des Halteproblems (2) Angenommen, es gibt ein Programm, welches das Halteproblem löst Wir können annehmen, dass dies mittels einer Methode static boolean halt(string method, Object[] parameters) in einer Klasse Halt geschieht BuK/WS 2017 VL-05: Unentscheidbarkeit I 34/37

Unentscheidbarkeit des Halteproblems (2) Angenommen, es gibt ein Programm, welches das Halteproblem löst Wir können annehmen, dass dies mittels einer Methode static boolean halt(string method, Object[] parameters) in einer Klasse Halt geschieht Wir definieren eine neue Methode diag in einer Klasse Diag: 1 class Diag 2 static void diag ( String method ) 3 Object [] parameters = method ; 4 // Eingaben bestehen nur aus 5 // dem einen String method 6 if ( Halt halt ( method, parameters ) ) 7 while ( true ) ; 8 // Wenn Methode method bei 9 // Eingabe method anhaelt, 10 // dann laufe in Endlosschleife 11 12 13 BuK/WS 2017 VL-05: Unentscheidbarkeit I 34/37

Unentscheidbarkeit des Halteproblems (3) Was passiert beim Aufruf Diagdiag( foo ) wenn foo Name einer Methode, die String als Parameter erwartet? BuK/WS 2017 VL-05: Unentscheidbarkeit I 35/37

Unentscheidbarkeit des Halteproblems (3) Was passiert beim Aufruf Diagdiag( foo ) wenn foo Name einer Methode, die String als Parameter erwartet? Diagdiag( foo ) hält Halthalt( foo, foo ) gibt false zurück foo( foo ) hält nicht BuK/WS 2017 VL-05: Unentscheidbarkeit I 35/37

Unentscheidbarkeit des Halteproblems (3) Was passiert beim Aufruf Diagdiag( foo ) wenn foo Name einer Methode, die String als Parameter erwartet? Diagdiag( foo ) hält Halthalt( foo, foo ) gibt false zurück foo( foo ) hält nicht Also beim Aufruf Diagdiag( Diagdiag ): Diagdiag( Diagdiag ) hält Diagdiag( Diagdiag ) hält nicht Widerspruch! BuK/WS 2017 VL-05: Unentscheidbarkeit I 35/37

Hilbert s Hotel BuK/WS 2017 VL-05: Unentscheidbarkeit I 36/37

Organisatorisches Nächste Vorlesung: Donnerstag, November 2, 12:15 13:45 Uhr, Aula Achtung: In der Woche Oct-30 bis Nov-3 entfallen alle Tutorien! Webseite: http://algorwth-aachende/lehre/ws1718/bukphp BuK/WS 2017 VL-05: Unentscheidbarkeit I 37/37