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