Reduktion / Hilberts 10. Problem

Ähnliche Dokumente
Mächtigkeit von WHILE-Programmen

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

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

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

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Die Komplexitätsklassen P und NP

Wortproblem für kontextfreie Grammatiken

Theoretische Informatik 2

Theoretische Informatik

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Theoretische Informatik II

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Numerische Verfahren und Grundlagen der Analysis

Theoretische Grundlagen der Informatik

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

11. Primfaktorzerlegungen

Zusammenfassung Grundzüge der Informatik 4

7 Rechnen mit Polynomen

Einführung in die Theoretische Informatik

Der Zwei-Quadrate-Satz von Fermat

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

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

Künstliche Intelligenz Maschinelles Lernen

Grammatiken und die Chomsky-Hierarchie

Theoretische Informatik

Theoretische Informatik 1

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Gibt es verschiedene Arten unendlich? Dieter Wolke

Mathematischer Vorbereitungskurs für Ökonomen

Grundlagen der Theoretischen Informatik

Komplexität und Komplexitätsklassen

Bestimmung einer ersten

Teil II. Nichtlineare Optimierung

Das Briefträgerproblem

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

2. Universelle Algebra

Approximationsalgorithmen

2.11 Kontextfreie Grammatiken und Parsebäume

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

IP=PSPACE. t Joachim Kneis t IP = PSPACE t 16. Dezember 2003 t

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Berechnungskomplexität I

Nichtlineare Optimierung ohne Nebenbedingungen

Vorkurs Mathematik Übungen zu Polynomgleichungen

Institut für Informatik. Rheinische Friedrich-Wilhelms-Universität Bonn

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Ergänzungen zur Analysis I

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

Elemente der Analysis II

Beispiel Wenn p ein Polynom vom Grad größer gleich 1 ist, ist q : C Ĉ definiert durch q (z) =

Das P versus N P - Problem

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

THEORETISCHE INFORMATIK

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Wissensbasierte Systeme

GF(2 2 ) Beispiel eines Erweiterungskörpers (1)

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

3. Ziel der Vorlesung

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Approximationsalgorithmen

Gleichungen - Aufgabenstellung und Lösungsstrategien

Wie viele Nullstellen hat ein Polynom?

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Umgekehrte Kurvendiskussion

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur

Komplexitätstheorie Einführung und Überblick (Wiederholung)

DIFFERENTIALGLEICHUNGEN

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik

Modulabschlussklausur Analysis II

Rekursion und Iteration - Folgen und Web-Diagramme

Kapitel 4. Aussagenlogik. 4.1 Boolesche Algebren

Grammatiken. Einführung

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper

Grundlagen der Theoretischen Informatik, SoSe 2008

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Optimalitätskriterien

Codierungstheorie Rudolf Scharlau, SoSe

Vorlesung Inhaltsverzeichnis. Einfache Rechnungen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Codierung, Codes (variabler Länge)

Theoretische Grundlagen des Software Engineering

Literatur zu geometrischen Konstruktionen

TEIL III: FORMALE SPRACHEN

Grundbegriffe der Informatik

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.

Mathematikaufgaben zur Vorbereitung auf das Studium

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

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Theoretische Grundlagen der Informatik

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Transkript:

Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 1 / 27

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 9. November 2009 2 / 27

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 9. November 2009 3 / 27

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 9. November 2009 4 / 27

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 9. November 2009 5 / 27

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 9. November 2009 6 / 27

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 9. November 2009 7 / 27

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 9. November 2009 8 / 27

Die Reduktion x M 1 f(x) M 2 accept reject Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 9 / 27

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 9. November 2009 10 / 27

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 Hall als auch H all sind nicht rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 11 / 27

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 9. November 2009 12 / 27

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 9. November 2009 13 / 27

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 9. November 2009 14 / 27

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 9. November 2009 15 / 27

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 9. November 2009 16 / 27

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 9. November 2009 17 / 27

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 f (w) = M M H all. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 18 / 27

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 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 9. November 2009 19 / 27

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 9. November 2009 20 / 27

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 9. November 2009 21 / 27

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 9. November 2009 22 / 27

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 9. November 2009 23 / 27

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 9. November 2009 24 / 27

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 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 9. November 2009 25 / 27

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 9. November 2009 26 / 27

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 9. November 2009 27 / 27