Upload
lynhan
View
217
Download
0
Embed Size (px)
Citation preview
Reduktion / Hilberts 10. Problem
Prof. Dr. Berthold VockingLehrstuhl Informatik 1
Algorithmen und KomplexitatRWTH Aachen
9. November 2009
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 1 / 27
Wdh: Semi-Entscheidbarkeit
Eine Sprache L wird von einer TM M entschieden, wenn
M auf jeder Eingabe halt, und
M genau die Worter aus L akzeptiert.
Eine Sprache L, fur die eine TM existiert, die L entscheidet, wirdals 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, fur die eine TM existiert, die L erkennt, wirdals semi-entscheidbar bezeichnet.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 2 / 27
Wdh: Rekursive Aufzahlbarkeit
blubblubblub
. . .
blablabla
hihihi
. . .
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
(Zustand & Kopfpos.)
S T E U E R U N G
Def: Eine Sprache fur die es einen Aufzahler gibt, heißt rekursiv
aufzahlbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 3 / 27
rekursiv aufzahlbar = semi-entscheidbar
Satz
Eine Sprache L ist genau dann semi-entscheidbar, wenn sie rekursivaufzahlbar ist.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 4 / 27
Wdh: Berechenbarkeitslandschaft
Probleme mit rek.aufz. Komplement
rekursiveProbleme
rek. aufz. Probleme
z.B. z.B.H D
nicht rek. aufz. Probleme, deren Komplement ebenfalls nicht rek. aufz. ist
allz.B. H
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 5 / 27
Allgemeines Halteproblem
Das allgemeine Halteproblem ist definiert als
Hall = {〈M〉 |M halt auf jede Eingabe}
Wie kann man nachweisen, dass sowohl Hall als auch Hall nichtrekursiv aufzahlbar sind?
Wir verwenden eine spezielle Variante der Unterprgrammtechnik,die Redukion.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 6 / 27
Die Reduktion
Definition
Es seien L1 und L2 Sprachen uber einem Alphabet Σ. Dann heißtL1 auf L2 reduzierbar, Notation L1 ≤ L2, wenn es eine berechenbareFunktion f : Σ∗ → Σ∗ gibt, so dass fur alle x ∈ Σ∗ gilt
x ∈ L1 ⇔ f (x) ∈ L2 .
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 7 / 27
Die Reduktion
Lemma
Falls L1 ≤ L2 und L2 rekursiv aufzahlbar ist, so ist L1 rekursiv
aufzahlbar.
Beweis: Wir konstruieren eine TM M1, die L1 erkennt, durchUnterprogrammaufruf einer TM M2, die L2 erkennt:
Die TM M1 berechnet f (x) aus ihrer Eingabe x .
Dann simuliert M1 die TM M2 mit der Eingabe f (x) undubernimmt das Akzeptanzverhalten.
Korrektheit:
M1 akz x ⇔ M2 akz f (x) ⇔ f (x) ∈ L2 ⇔ x ∈ L1 .
�
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 8 / 27
Die Reduktion
reject
accept
x f(x)
1M
2M
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 9 / 27
Die Reduktion
Es gilt ubrigens auch
Lemma
Falls L1 ≤ L2 und L2 rekursiv ist, so ist L1 rekursiv.
Dieses Lemma folgt direkt daraus, dass die Reduktion einespezialisierte Variante der Unterprogrammtechnik ist.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 10 / 27
Anwendung der Reduktion
Hε ist nicht rekursiv, aber rekursiv aufzahlbar. Folglich ist Hε nichtrekursiv aufzahlbar.
Wir zeigen nun
Behauptung A
Hε ≤ Hall
Behauptung B
Hε ≤ Hall
Ware also Hall oder Hall rekursiv aufzahlbar, so ware auch Hε
rekursiv aufzahlbar. Somit folgt
Satz
Sowohl Hall als auch Hall sind nicht rekursiv aufzahlbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 11 / 27
Beweis von Behauptung A: Hε ≤ Hall
Zur Durchfuhrung der Reduktion gehen wir in zwei Schritten vor:
1) Wir beschreiben eine berechenbare Funktion f , dieJa-Instanzen von Hε auf Ja-Instanzen von Hall abbildet, undNein-Instanzen von Hε auf Nein-Instanzen von Hall abbildet.
2) Fur die Korrektheit zeigen wir:
a) w ∈ Hε ⇒ f (w) ∈ Hall
b) w 6∈ Hε ⇒ f (w) 6∈ Hall
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 12 / 27
Beweis von Behauptung A: Hε ≤ Hall
Beschreibung der Funktion f :
Sei w die Eingabe fur Hε.
Wenn w keine gultige Godelnummer ist, so sei f (w) = w .
Falls w = 〈M〉 fur eine TM M, so sei f (w) die Godelnummereiner TM M∗
ε mit der folgenden Eigenschaft:
M∗
ε ignoriert die Eingabe und simuliert M mit der Eingabe ε.
Die Funktion f ist offensichtlich berechenbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 13 / 27
Beweis von Behauptung A: Hε ≤ Hall — Korrektheit
Korrektheit:
Falls w keine Godelnummer ist, so ist die Korrektheit klar, denn indiesem Fall gilt w ∈ Hε und f (w) ∈ Hall.
Sei nun w = 〈M〉 fur eine TM M, so dass f (w) = 〈M∗
ε 〉.
Es gilt
w 6∈ Hε ⇒ M halt auf der Eingabe ε
⇒ M∗
ε halt auf jeder Eingabe
⇒ 〈M∗
ε 〉 ∈ Hall
⇒ f (w) 6∈ Hall .
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 14 / 27
Beweis von Behauptung A: Hε ≤ Hall — Korrektheit
w ∈ Hε ⇒ M halt nicht auf Eingabe ε
⇒ M∗
ε halt auf keiner Eingabe
⇒ 〈M∗
ε 〉 6∈ Hall
⇒ f (w) ∈ Hall .
Also gilt w ∈ Hε ⇔ f (w) ∈ Hall und somit ist die Funktion f
korrekt konstruiert. �
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 15 / 27
Beweis von Behauptung B: Hε ≤ Hall
Wir gehen wiederum in zwei Schritten vor:
1) Wir beschreiben eine berechenbare Funktion f , dieJa-Instanzen von Hε auf Ja-Instanzen von Hall abbildet, undNein-Instanzen von Hε auf Nein-Instanzen von Hall abbildet.
2) Fur die Korrektheit zeigen wir:
a) w ∈ Hε ⇒ f (w) ∈ Hall
b) w 6∈ Hε ⇒ f (w) 6∈ Hall
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 16 / 27
Beweis von Behauptung B: Hε ≤ Hall
Beschreibung der Funktion f :
Sei w die Eingabe fur Hε. Sei w ′ irgendein Wort aus Hall.
Wenn w keine gultige Godelnummer ist, so sei f (w) = w ′.
Falls w = 〈M〉 fur eine TM M, so sei f (w) die Godelnummereiner TM M ′
M, die sich auf Eingaben der Lange i wie folgt
verhalt:
M ′
Msimuliert die ersten i Schritte von M auf der Eingabe ε. Wenn M
innerhalb dieser i Schritte halt, dann geht M ′
Min eine Endlosschleife,
ansonsten halt M ′
M.
Die Funktion f ist offensichtlich berechenbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 17 / 27
Beweis von Behauptung B: Hε ≤ Hall
Korrektheit
Falls w keine Godelnummer ist die Korrektheit klar, denn in diesemFall gilt w ∈ Hε und f (w) = w ′ ∈ Hall.
Sei nun w = 〈M〉 fur eine TM M, so dass f (w) = 〈M ′
M〉.
Es gilt
w 6∈ Hε ⇒ M halt auf der Eingabe ε
⇒ ∃i : M halt innerhalb von i Schritten auf ε
⇒ ∃i : M ′
M halt nicht auf Eingaben der Lange i
⇒ f (w) = 〈M ′
M〉 6∈ Hall .
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 18 / 27
Beweis von Behauptung B: Hε ≤ Hall
w ∈ Hε ⇒ M halt nicht auf der Eingabe ε
⇒ ¬∃i : M halt innerhalb von i Schritten auf ε
⇒ ∀i : M ′
M halt auf Eingaben der Lange i
⇒ f (w) = 〈M ′
M〉 ∈ Hall .
Also gilt w ∈ Hε ⇔ f (w) ∈ Hall und somit ist die Funktion f
korrekt konstruiert. �
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 19 / 27
Hilberts zehntes Problem
Im Jahr 1900 prasentierte der Mathematiker David Hilbert 23mathematische Probleme auf einem Kongress in Paris.
Hilberts zehntes Problem (im Originalwortlaut)
Eine diophantische Gleichung mit irgendwelchen Unbekannten undmit ganzen rationalen Zahlenkoeffizienten sei vorgelegt: Man soll
ein Verfahren angeben, nach welchem sich mittels einer endlichen
Anzahl von Operationen entscheiden laßt, ob die Gleichung in den
ganzen rationalen Zahlen losbar 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 uber
Polynomen in mehreren Variablen.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 20 / 27
Diophantische Gleichungen
Ein Term ist ein Produkt aus Variablen mit einem konstantenKoeffizienten, z.B. ist
6 · x · x · x · y · z · z bzw. 6x3yz2
ein Term uber den Variablen x , y , z mit dem Koeffizienten 6.
Ein Polynom ist eine Summe von Termen, z.B.
6x3yz2 + 3xy2 − x3 − 10 .
Eine diophantische Gleichung setzt ein Polynom gleich Null.Die Losungen der Gleichung entsprechen also den Nullstellendes Polynoms. Obiges Polynom hat beispielsweise dieNullstelle
(x , y , z) = (5, 3, 0) .
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 21 / 27
Formulierung als Entscheidungsproblem
Hilberts zehntes Problem (in unseren Worten)
Beschreibe einen Algorithmus, der entscheidet, ob ein gegebenesPolynom mit ganzzahligen Koeffizienten eine ganzzahlige Nullstellehat.
Die diesem Entscheidungsproblem zugrundeliegende Sprache ist
N = { p | p ist ein Polynom mit einer ganzzahligen Nullstelle} .
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 22 / 27
Rekursive Aufzahlbarkeit von N
Gegeben sei ein Polynom p mit ` Variablen.
Der Wertebereich von p entspricht der abzahlbar unendlichenMenge Z
`.
Der folgende Algorithmus erkennt N:
Zahle die `-Tupel aus Z` in kanonischer Reihenfolge auf und
werte p fur jedes dieser Tupel aus.
Akzeptiere sobald eine der Auswertungen den Wert Null
ergibt.
Fazit: N ist rekursiv aufzahlbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 23 / 27
Ist N entscheidbar? – Diskussion
Falls wir eine obere Schranke fur die Absolutwerte derNullstellen hatten, so brauchten wir nur eine endliche Mengevon `-Tupeln aufzahlen, und N ware somit entscheidbar.
Fur Polynome uber nur einer Variable gibt es tatsachlich einederartige obere Schranke: Fur ein Polynom der Form
p(x) = akxk + ak−1xk−1 + · · · + a1x + a0
mit ganzzahligen Koeffizienten gilt
p(x) = 0, x ∈ Z ⇒ x teilt a0. (Warum?)
Also gibt es keine Nullstelle mit Absolutwert großer als |a0|.
Eingeschrankt auf Polynome mit nur einer Variable ist dasNullstellenproblem damit entscheidbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 24 / 27
Ist N entscheidbar? – Diskussion
Fur Polynome mit mehreren Variablen gibt es leider keineobere Schranke fur die Absolutwerte der Nullstellen. Um daseinzusehen, betrachte beispielsweise das Polynom x + y .
Aber vielleicht, gibt es ja eine obere Schranke fur dieNullstelle mit den kleinsten Absolutwerten?
Oder vielleicht gibt es ganz andere Moglichkeiten einemPolynom anzusehen, ob es eine ganzzahlige Nullstelle hat?
Erst knapp siebzig Jahre nachdem Hilbert sein Problemprasentiert hat, konnte Yuri Matijasevic, all’ diese Fragenbeantworten, und zwar negativ!
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 25 / 27
Unentscheidbarkeit des Nullstellenproblems
Hilbert hat die folgende Antwort nicht erwartet.
Satz von Matijasevic (1970)
Das Problem, ob ein ganzzahliges Polynom eine ganzzahlige Null-stelle hat, ist unentscheidbar.
Damit ist Hilberts Aufgabenstellung unlosbar.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 26 / 27
Unentscheidbarkeit des Nullstellenproblems
Der Beweis des Satzes von Matijasevic beruht auf einer Kette vonReduktionen durch die letztendlich das Halteproblem H auf dasNullstellenproblem N reduziert wird. Yuri Matijasevic hat
”lediglich“ das letzte Glied dieser Kette geschlossen. Andere
wichtige Beitrage zu diesem Ergebnis wurden zuvor von MartinDavis, Julia Robinson und Hilary Putnan erbracht.
Leider ist der Beweis zu komplex, um ihn im Rahmen dieserVorlesung prasentieren zu konnen.
Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 27 / 27