27
Reduktion / Hilberts 10. Problem Prof. Dr. Berthold V¨ ocking Lehrstuhl Informatik 1 Algorithmen und Komplexit¨ at RWTH Aachen 9. November 2009 Berthold V¨ ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨ at 9. November 2009 1 / 27

Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

  • Upload
    lynhan

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 2: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 3: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 4: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 5: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 6: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 7: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 8: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 9: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

Die Reduktion

reject

accept

x f(x)

1M

2M

Berthold Vocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexitat 9. November 2009 9 / 27

Page 10: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 11: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 12: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 13: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 14: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 15: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 16: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 17: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 18: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 19: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 20: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 21: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 22: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 23: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 24: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 25: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 26: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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

Page 27: Reduktion / Hilberts 10. Problem · Beweis von Behauptung A: H¯ ≤ H¯all Zur Durchf¨uhrung der Reduktion gehen wir in zwei Schritten vor: 1) Wir beschreiben eine berechenbare

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