Die Reduktion Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 8. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 1 / 28
Wdh: Semi-Entscheidbarkeit Eine Sprache L wird von einer TM M entschieden, wenn M auf jeder Eingabe hält, und M genau die Wörter aus L akzeptiert. Eine Sprache L, für die eine TM existiert, die L entscheidet, wird als rekursiv oder auch als entscheidbar bezeichnet. Eine Sprache L wird von einer TM M erkannt, wenn M jedes Wort aus L akzeptiert, und M kein Wort akzeptiert, das nicht in L enthalten ist. Def: Eine Sprache L, für die eine TM existiert, die L erkennt, wird als semi-entscheidbar bezeichnet. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 2 / 28
Wdh: Rekursive Aufzählbarkeit S T E U E R U N G (Zustand & Kopfpos.)...... hihihi blubblubblub blablabla D R U C K E R.. A r b e i t s b a n d... A r b e i t s b a n d... A r b e i t s b a n d... A r b e i t s b a Def: Eine Sprache für die es einen Aufzähler gibt, heißt rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 3 / 28
Wdh: rekursiv aufzählbar = semi-entscheidbar Satz Eine Sprache L ist genau dann semi-entscheidbar, wenn sie rekursiv aufzählbar ist. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 4 / 28
Wdh: Aufteilung der Sprachen nach ihrer Berechenbarkeit Korollar Für jede Sprache L gilt eine der vier folgenden Eigenschaften. 1 L ist rekursiv und sowohl L als auch L sind rekursiv aufzählbar. 2 L ist rekursiv aufzählbar, aber L ist nicht rekursiv aufzählbar 3 L ist rekursiv aufzählbar, aber L ist nicht rekursiv aufzählbar 4 sowohl L als auch L sind nicht rekursiv aufzählbar Beispiele: Kategorie 1: Graphzusammenhang, Hamiltonkreis Kategorie 2: H, H ɛ, D Kategorie 3: D, H, H ɛ Kategorie 4: H all = { M M hält auf jeder Eingabe} Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 5 / 28
Wdh: Berechenbarkeitslandschaft rek. aufz. Probleme z.b. H rekursive Probleme Probleme mit rek. aufz. Komplement z.b. D nicht rek. aufz. Probleme, deren Komplement ebenfalls nicht rek. aufz. ist z.b. H all Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 6 / 28
Allgemeines Halteproblem Das allgemeine Halteproblem ist definiert als H all = { M M hält auf jede Eingabe} Wie kann man nachweisen, dass sowohl H all als auch H all nicht rekursiv aufzählbar sind? Wir verwenden eine spezielle Variante der Unterprgrammtechnik, die Redukion. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 7 / 28
Die Reduktion Definition Es seien L 1 und L 2 Sprachen über einem Alphabet Σ. Dann heißt L 1 auf L 2 reduzierbar, Notation L 1 L 2, wenn es eine berechenbare Funktion f : Σ Σ gibt, so dass für alle x Σ gilt x L 1 f (x) L 2. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 8 / 28
Die Reduktion Lemma Falls L 1 L 2 und L 2 rekursiv aufzählbar ist, so ist L 1 rekursiv aufzählbar. Beweis: Wir konstruieren eine TM M 1, die L 1 erkennt, durch Unterprogrammaufruf einer TM M 2, die L 2 erkennt: Die TM M 1 berechnet f (x) aus ihrer Eingabe x. Dann simuliert M 1 die TM M 2 mit der Eingabe f (x) und übernimmt das Akzeptanzverhalten. Korrektheit: M 1 akz x M 2 akz f (x) f (x) L 2 x L 1. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 9 / 28
Die Reduktion x M 1 f(x) M 2 accept reject Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 10 / 28
Die Reduktion Es gilt übrigens auch Lemma Falls L 1 L 2 und L 2 rekursiv ist, so ist L 1 rekursiv. Dieses Lemma folgt direkt daraus, dass die Reduktion eine spezialisierte Variante der Unterprogrammtechnik ist. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 11 / 28
Anwendung der Reduktion H ɛ ist nicht rekursiv, aber rekursiv aufzählbar. Folglich ist H ɛ nicht rekursiv aufzählbar. Wir zeigen nun Behauptung A H ɛ H all Behauptung B H ɛ H all Wäre also H all oder H all rekursiv aufzählbar, so wäre auch H ɛ rekursiv aufzählbar. Somit folgt Satz Sowohl H all als auch H all sind nicht rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 12 / 28
Beweis von Behauptung A: H ɛ H all Zur Durchführung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare Funktion f, die Ja-Instanzen von H ɛ auf Ja-Instanzen von H all abbildet, und Nein-Instanzen von H ɛ auf Nein-Instanzen von H all abbildet. 2) Für die Korrektheit zeigen wir: a) w H ɛ f (w) H all b) w H ɛ f (w) H all Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 13 / 28
Beweis von Behauptung A: H ɛ H all Beschreibung der Funktion f : Sei w die Eingabe für H ɛ. Wenn w keine gültige Gödelnummer ist, so sei f (w) = w. Falls w = M für eine TM M, so sei f (w) die Gödelnummer einer TM M ɛ mit der folgenden Eigenschaft: M ɛ ignoriert die Eingabe und simuliert M mit der Eingabe ɛ. Die Funktion f ist offensichtlich berechenbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 14 / 28
Beweis von Behauptung A: H ɛ H all Korrektheit Korrektheit: Falls w keine Gödelnummer ist, so ist die Korrektheit klar, denn in diesem Fall gilt w H ɛ und f (w) H all. Sei nun w = M für eine TM M, so dass f (w) = M ɛ. Es gilt w H ɛ M hält auf der Eingabe ɛ M ɛ hält auf jeder Eingabe Mɛ H all f (w) H all. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 15 / 28
Beweis von Behauptung A: H ɛ H all Korrektheit w H ɛ M hält nicht auf Eingabe ɛ Mɛ hält auf keiner Eingabe Mɛ H all f (w) H all. Also gilt w H ɛ f (w) H all und somit ist die Funktion f korrekt konstruiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 16 / 28
Beweis von Behauptung B: H ɛ H all Wir gehen wiederum in zwei Schritten vor: 1) Wir beschreiben eine berechenbare Funktion f, die Ja-Instanzen von H ɛ auf Ja-Instanzen von H all abbildet, und Nein-Instanzen von H ɛ auf Nein-Instanzen von H all abbildet. 2) Für die Korrektheit zeigen wir: a) w H ɛ f (w) H all b) w H ɛ f (w) H all Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 17 / 28
Beweis von Behauptung B: H ɛ H all Beschreibung der Funktion f : Sei w die Eingabe für H ɛ. Sei w irgendein Wort aus H all. Wenn w keine gültige Gödelnummer ist, so sei f (w) = w. Falls w = M für eine TM M, so sei f (w) die Gödelnummer einer TM M M, die sich auf Eingaben der Länge i wie folgt verhält: M M simuliert die ersten i Schritte von M auf der Eingabe ɛ. Wenn M innerhalb dieser i Schritte hält, dann geht M M in eine Endlosschleife, ansonsten hält M M. Die Funktion f ist offensichtlich berechenbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 18 / 28
Beweis von Behauptung B: H ɛ H all Korrektheit Falls w keine Gödelnummer ist die Korrektheit klar, denn in diesem Fall gilt w H ɛ und f (w) = w H all. Sei nun w = M für eine TM M, so dass f (w) = M M. Es gilt w H ɛ M hält auf der Eingabe ɛ i: M hält innerhalb von i Schritten auf ɛ i: M M hält nicht auf Eingaben der Länge i hält nicht auf jeder Eingabe M M f (w) = M M H all. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 19 / 28
Beweis von Behauptung B: H ɛ H all w H ɛ M hält nicht auf der Eingabe ɛ i: M hält innerhalb von i Schritten auf ɛ i: M M hält auf Eingaben der Länge i hält auf jeder Eingabe M M f (w) = M M H all. Also gilt w H ɛ f (w) H all und somit ist die Funktion f korrekt konstruiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 20 / 28
Hilberts zehntes Problem Im Jahr 1900 präsentierte der Mathematiker David Hilbert 23 mathematische Probleme auf einem Kongress in Paris. Hilberts zehntes Problem (im Originalwortlaut) Eine diophantische Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlenkoeffizienten sei vorgelegt: Man soll ein Verfahren angeben, nach welchem sich mittels einer endlichen Anzahl von Operationen entscheiden läßt, ob die Gleichung in den ganzen rationalen Zahlen lösbar ist. Die ganzen rationalen Zahlen, von denen in diesem Problem die Rede ist, sind die ganzen Zahlen aus Z, wie wir sie kennen. Diophantische Gleichungen bezeichnen Gleichungen über Polynomen in mehreren Variablen. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 21 / 28
Diophantische Gleichungen Ein Term ist ein Produkt aus Variablen mit einem konstanten Koeffizienten, z.b. ist 6 x x x y z z bzw. 6x 3 yz 2 ein Term über den Variablen x, y, z mit dem Koeffizienten 6. Ein Polynom ist eine Summe von Termen, z.b. 6x 3 yz 2 + 3xy 2 x 3 10. Eine diophantische Gleichung setzt ein Polynom gleich Null. Die Lösungen der Gleichung entsprechen also den Nullstellen des Polynoms. Obiges Polynom hat beispielsweise die Nullstelle (x, y, z) = (5, 3, 0). Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 22 / 28
Formulierung als Entscheidungsproblem Hilberts zehntes Problem (in unseren Worten) Beschreibe einen Algorithmus, der entscheidet, ob ein gegebenes Polynom mit ganzzahligen Koeffizienten eine ganzzahlige Nullstelle hat. Die diesem Entscheidungsproblem zugrundeliegende Sprache ist N = { p p ist ein Polynom mit einer ganzzahligen Nullstelle}. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 23 / 28
Rekursive Aufzählbarkeit von N Gegeben sei ein Polynom p mit l Variablen. Der Wertebereich von p entspricht der abzählbar unendlichen Menge Z l. Der folgende Algorithmus erkennt N: Zähle die l-tupel aus Z l in kanonischer Reihenfolge auf und werte p für jedes dieser Tupel aus. Akzeptiere sobald eine der Auswertungen den Wert Null ergibt. Fazit: N ist rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 24 / 28
Ist N entscheidbar? Diskussion Falls wir eine obere Schranke für die Absolutwerte der Nullstellen hätten, so bräuchten wir nur eine endliche Menge von l-tupeln aufzählen, und N wäre somit entscheidbar. Für Polynome über nur einer Variable gibt es tatsächlich eine derartige obere Schranke: Für ein Polynom der Form p(x) = a k x k + a k 1 x k 1 + + a 1 x + a 0 mit ganzzahligen Koeffizienten gilt p(x) = 0, x Z x teilt a 0. (Warum?) Also gibt es keine Nullstelle mit Absolutwert größer als a 0. Eingeschränkt auf Polynome mit nur einer Variable ist das Nullstellenproblem damit entscheidbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 25 / 28
Ist N entscheidbar? Diskussion Für Polynome mit mehreren Variablen gibt es leider keine obere Schranke für die Absolutwerte der Nullstellen. Um das einzusehen, betrachte beispielsweise das Polynom x + y. Aber vielleicht gibt es ja immer eine Nullstelle mit kleinen Absolutwerten und somit eine obere Schranke für die Nullstelle mit den kleinsten Absolutwerten? Oder vielleicht gibt es ganz andere Möglichkeiten einem Polynom anzusehen, ob es eine ganzzahlige Nullstelle hat? Erst knapp siebzig Jahre nachdem Hilbert sein Problem präsentiert hat, konnte Yuri Matijasevič all diese Fragen beantworten, und zwar negativ! Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 26 / 28
Unentscheidbarkeit des Nullstellenproblems Hilbert hat die folgende Antwort nicht erwartet. Satz von Matijasevič (1970) Das Problem, ob ein ganzzahliges Polynom eine ganzzahlige Nullstelle hat, ist unentscheidbar. Damit ist Hilberts Aufgabenstellung unlösbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 27 / 28
Unentscheidbarkeit des Nullstellenproblems Der Beweis des Satzes von Matijasevič beruht auf einer Kette von Reduktionen durch die letztendlich das Halteproblem H auf das Nullstellenproblem N reduziert wird. Yuri Matijasevič hat lediglich das letzte Glied dieser Kette geschlossen. Andere wichtige Beiträge zu diesem Ergebnis wurden zuvor von Martin Davis, Julia Robinson und Hilary Putnan erbracht. Leider ist der Beweis zu komplex, um ihn im Rahmen dieser Vorlesung präsentieren zu können. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 8. November 2010 28 / 28