• Keine Ergebnisse gefunden

VL-10: Turing-M¨achtigkeit (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-10: Turing-M¨achtigkeit (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger"

Copied!
73
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-10: Turing-M¨ achtigkeit

(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger

WS 2017, RWTH

(2)

Organisatorisches

N¨achste Vorlesung:

Donnerstag, November 23, 12:15–13:45 Uhr, Aula Webseite:

http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php

(3)

Wiederholung

(4)

Wdh.: Das Postsche Correspondenzproblem

Formale Definition (Postsches Correspondenzproblem, kurz: PCP) EineInstanzdes PCP besteht aus einer endlichen Menge

K = x1

y1

, . . . , xk

yk

wobeix1, . . . ,xk undy1, . . . ,yk nichtleere W¨orter ¨uber einem endlichen AlphabetΣsind.

Das Problem besteht darin zu entscheiden, ob es einecorrespondierende Folgehi1, . . . ,inivon Indizes in{1, . . . ,k}gibt, sodass gilt:

xi1xi2. . .xin = yi1yi2. . .yin

Die Elemente der MengeK heissenDominosteineoderDominos.

(5)

Wdh.: Unser Arbeitsplan

Satz A

MPCP≤PCP

Satz B H≤MPCP

Die Transitivit¨at der Reduzierbarkeit (¨Ubung) impliziertH≤PCP.

Satz

Das PCP ist unentscheidbar.

(6)

Vorlesung VL-10 Turing-M¨ achtigkeit

Entscheidungsprobleme f¨ur CFGs Hilberts zehntes Problem

Turing-M¨achtigkeit

(7)

Entscheidungsprobleme f¨ ur CFGs

(8)

Context-freie Grammatiken (1)

Aus der FOSAP Vorlesung:

Definition

Einecontext-freie Grammatik(CFG)G ist ein Viertupel(N,Σ,P,S), wobei

N = Menge der Non-Terminal Symbole Σ= Terminal Alphabet

P = Menge von Regeln der Form A→w wobeiA∈N undw ∈(Σ∪N) S = Element vonN (Startsymbol)

Also: Bei jeder Regel inP steht auf der linken Seite nur ein einzelnes Non-Terminal Symbol

(9)

Context-freie Grammatiken (2)

Beispiel N={S}

Σ ={a,b,c}

P: S→aSa|bSb|cSc; S→a|b|c; S →aa|bb|cc Herleitung:

S → aSa → acSca → acaSaca → acaaSaaca → acaabbaaca Herleitung:

S → bSb → bbSbb → bbbSbbb → bbbbbbbb

Definition

L(G)ist die Menge aller Worte ¨uber dem Terminal AlphabetΣ, die durch wiederholte Anwendung von Regeln inP

aus dem StartsymbolS hergeleitet werden k¨onnen.

(10)

Entscheidungsprobleme f¨ ur CFGs

Die folgenden Probleme f¨ur CFGs sind entscheidbar:

Gegeben CFG hGiundw ∈Σ, gilt w ∈L(G)?

Gegeben CFG hGi, istL(G)leer?

Gegeben CFG hGi, istL(G)endlich?

Die folgenden Probleme f¨ur CFGs sind unentscheidbar: Gegeben CFG hGi, istG eindeutig?

Gegeben CFG hGi, giltL(G) = Σ? Gegeben CFG hGi, istL(G)regul¨ar?

Gegeben CFGs hG1iundhG2i, gilt L(G1)⊆L(G2)? Gegeben CFGs hG1iundhG2i, ist L(G1)∩L(G2)leer?

(11)

Entscheidungsprobleme f¨ ur CFGs

Die folgenden Probleme f¨ur CFGs sind entscheidbar:

Gegeben CFG hGiundw ∈Σ, gilt w ∈L(G)?

Gegeben CFG hGi, istL(G)leer?

Gegeben CFG hGi, istL(G)endlich?

Die folgenden Probleme f¨ur CFGs sind unentscheidbar:

Gegeben CFG hGi, istG eindeutig?

Gegeben CFG hGi, giltL(G) = Σ? Gegeben CFG hGi, istL(G)regul¨ar?

Gegeben CFGs hG1iund hG2i, gilt L(G1)⊆L(G2)?

Gegeben CFGs hG1iund hG2i, ist L(G1)∩L(G2)leer?

(12)

Leerheit des Durchschnitts

Satz

Es ist unentscheidbar, ob die von zwei gegebenen CFGsG1 undG2 erzeugten Sprachen leeren Durchschnitt haben.

Beweisskizze:

Betrachte eine beliebige PCP Instanz x1

y1

, . . . , xk

yk

Es seien a,b,c drei Buchstaben, die nicht in dieser PCP Instanz vorkommen

Konstruiere eine CFGG1mit folgenden Regeln: S→x1Sa1b|x2Sa2b|x3Sa3b| · · · |xkSakb|c Konstruiere eine CFGG2mit folgenden Regeln:

S→y1Sa1b|y2Sa2b|y3Sa3b| · · · |ykSakb|c PCP l¨osbar genau dann wennL(G1)∩L(G2)nicht leer

(13)

Leerheit des Durchschnitts

Satz

Es ist unentscheidbar, ob die von zwei gegebenen CFGsG1 undG2 erzeugten Sprachen leeren Durchschnitt haben.

Beweisskizze:

Betrachte eine beliebige PCP Instanz x1

y1

, . . . , xk

yk

Es seien a,b,c drei Buchstaben, die nicht in dieser PCP Instanz vorkommen

Konstruiere eine CFGG1mit folgenden Regeln: S→x1Sa1b|x2Sa2b|x3Sa3b| · · · |xkSakb|c Konstruiere eine CFGG2mit folgenden Regeln:

S→y1Sa1b|y2Sa2b|y3Sa3b| · · · |ykSakb|c PCP l¨osbar genau dann wennL(G1)∩L(G2)nicht leer

(14)

Leerheit des Durchschnitts

Satz

Es ist unentscheidbar, ob die von zwei gegebenen CFGsG1 undG2 erzeugten Sprachen leeren Durchschnitt haben.

Beweisskizze:

Betrachte eine beliebige PCP Instanz x1

y1

, . . . , xk

yk

Es seien a,b,c drei Buchstaben, die nicht in dieser PCP Instanz vorkommen

Konstruiere eine CFGG1mit folgenden Regeln:

S→x1Sa1b|x2Sa2b|x3Sa3b| · · · |xkSakb|c

Konstruiere eine CFGG2mit folgenden Regeln: S→y1Sa1b|y2Sa2b|y3Sa3b| · · · |ykSakb|c PCP l¨osbar genau dann wennL(G1)∩L(G2)nicht leer

(15)

Leerheit des Durchschnitts

Satz

Es ist unentscheidbar, ob die von zwei gegebenen CFGsG1 undG2 erzeugten Sprachen leeren Durchschnitt haben.

Beweisskizze:

Betrachte eine beliebige PCP Instanz x1

y1

, . . . , xk

yk

Es seien a,b,c drei Buchstaben, die nicht in dieser PCP Instanz vorkommen

Konstruiere eine CFGG1mit folgenden Regeln:

S→x1Sa1b|x2Sa2b|x3Sa3b| · · · |xkSakb|c Konstruiere eine CFGG2mit folgenden Regeln:

S→y1Sa1b|y2Sa2b|y3Sa3b| · · · |ykSakb|c

PCP l¨osbar genau dann wennL(G1)∩L(G2)nicht leer

(16)

Leerheit des Durchschnitts

Satz

Es ist unentscheidbar, ob die von zwei gegebenen CFGsG1 undG2 erzeugten Sprachen leeren Durchschnitt haben.

Beweisskizze:

Betrachte eine beliebige PCP Instanz x1

y1

, . . . , xk

yk

Es seien a,b,c drei Buchstaben, die nicht in dieser PCP Instanz vorkommen

Konstruiere eine CFGG1mit folgenden Regeln:

S→x1Sa1b|x2Sa2b|x3Sa3b| · · · |xkSakb|c Konstruiere eine CFGG2mit folgenden Regeln:

S→y1Sa1b|y2Sa2b|y3Sa3b| · · · |ykSakb|c PCP l¨osbar genau dann wennL(G1)∩L(G2)nicht leer

(17)

Hilberts zehntes Problem

(18)

David Hilbert (1862–1943)

Wikipedia: David Hilbert war ein deutscher Mathematiker. Er gilt als einer der bedeutendsten Mathematiker der Neuzeit. Viele seiner Arbeiten auf dem Gebiet der Mathematik und mathematischen Physik begr¨undeten eigenst¨andige Forschungsgebiete.

Hilbert begr¨undete die moderne formalistische Auffassung von den Grundlagen der Mathematik und veranlasste eine kritische Analyse der mathematischen Begriffsdefinitionen und des mathematischen Beweises.

(19)

Hilberts zehntes Problem

Auf dem Internationalen Mathematikercongress in Paris im Jahr 1900 pr¨asentierte David Hilbert eine Liste mit 23 mathematischen Problemen.

Hilberts zehntes Problem (im Originalwortlaut)

EineDiophantischeGleichung mit irgend welchen Unbekannten und mit ganzen rationalen Zahlencoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchem sich mittelst einer endlichen Anzahl von Operationen entscheiden l¨asst, ob die Gleichung in ganzen rationalen Zahlen l¨osbar ist.

Mit den “ganzen rationalen Zahlen” sind einfach unsere ganzen Zahlen inZgemeint.

“Diophantische Gleichungen” bezeichnen Gleichungen mit Polynomen in einer oder in mehreren Variablen.

(20)

Hilberts zehntes Problem

Auf dem Internationalen Mathematikercongress in Paris im Jahr 1900 pr¨asentierte David Hilbert eine Liste mit 23 mathematischen Problemen.

Hilberts zehntes Problem (im Originalwortlaut)

EineDiophantischeGleichung mit irgend welchen Unbekannten und mit ganzen rationalen Zahlencoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchem sich mittelst einer endlichen Anzahl von Operationen entscheiden l¨asst, ob die Gleichung in ganzen rationalen Zahlen l¨osbar ist.

Mit den “ganzen rationalen Zahlen” sind einfach unsere ganzen Zahlen inZgemeint.

“Diophantische Gleichungen” bezeichnen Gleichungen mit Polynomen in einer oder in mehreren Variablen.

(21)

Diophantische Gleichungen

Ein Termist ein Produkt aus Variablen mit einem konstanten Koeffizienten, z.B. ist

6·x·x·x·y·z·z bzw. 6x3yz2

ein Term ¨uber den Variablenx,y,z mit dem Koeffizienten 6.

Ein Polynomist eine Summe von Termen, z.B. 6x3yz2+3xy2−x3−10

Eine diophantische Gleichungsetzt ein Polynom gleich Null. Die L¨osungen der Gleichung entsprechen also den Nullstellen des Polynoms. Obiges Polynom hat die Nullstelle

(x,y,z) = (5,3,0)

(22)

Diophantische Gleichungen

Ein Termist ein Produkt aus Variablen mit einem konstanten Koeffizienten, z.B. ist

6·x·x·x·y·z·z bzw. 6x3yz2

ein Term ¨uber den Variablenx,y,z mit dem Koeffizienten 6.

Ein Polynomist eine Summe von Termen, z.B.

6x3yz2+3xy2−x3−10

Eine diophantische Gleichungsetzt ein Polynom gleich Null. Die L¨osungen der Gleichung entsprechen also den Nullstellen des Polynoms. Obiges Polynom hat die Nullstelle

(x,y,z) = (5,3,0)

(23)

Diophantische Gleichungen

Ein Termist ein Produkt aus Variablen mit einem konstanten Koeffizienten, z.B. ist

6·x·x·x·y·z·z bzw. 6x3yz2

ein Term ¨uber den Variablenx,y,z mit dem Koeffizienten 6.

Ein Polynomist eine Summe von Termen, z.B.

6x3yz2+3xy2−x3−10

Eine diophantische Gleichungsetzt ein Polynom gleich Null.

Die L¨osungen der Gleichung entsprechen also den Nullstellen des Polynoms. Obiges Polynom hat die Nullstelle

(x,y,z) = (5,3,0)

(24)

Beispiele (1)

Beispiel 29

Besitzt die Gleichungx3+y3+z3=29eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (1,1,3)

Beispiel 30

Besitzt die Gleichungx3+y3+z3=30eine ganzzahlige L¨osung? Ja, zum Beispiel (x,y,z) = (−283059965,−2218888517,2220422932) (Entdeckt von: Beck, Pine, Tarrant & Yarbrough, 2007)

Beispiel 33

Besitzt die Gleichungx3+y3+z3=33eine ganzzahlige L¨osung? Offenes Problem. Es gibt keine L¨osungen mit|x|,|y|,|z| ≤1012.

(25)

Beispiele (1)

Beispiel 29

Besitzt die Gleichungx3+y3+z3=29eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (1,1,3)

Beispiel 30

Besitzt die Gleichungx3+y3+z3=30eine ganzzahlige L¨osung? Ja, zum Beispiel (x,y,z) = (−283059965,−2218888517,2220422932) (Entdeckt von: Beck, Pine, Tarrant & Yarbrough, 2007)

Beispiel 33

Besitzt die Gleichungx3+y3+z3=33eine ganzzahlige L¨osung? Offenes Problem. Es gibt keine L¨osungen mit|x|,|y|,|z| ≤1012.

(26)

Beispiele (1)

Beispiel 29

Besitzt die Gleichungx3+y3+z3=29eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (1,1,3)

Beispiel 30

Besitzt die Gleichungx3+y3+z3=30eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (−283059965,−2218888517,2220422932) (Entdeckt von: Beck, Pine, Tarrant & Yarbrough, 2007)

Beispiel 33

Besitzt die Gleichungx3+y3+z3=33eine ganzzahlige L¨osung? Offenes Problem. Es gibt keine L¨osungen mit|x|,|y|,|z| ≤1012.

(27)

Beispiele (1)

Beispiel 29

Besitzt die Gleichungx3+y3+z3=29eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (1,1,3)

Beispiel 30

Besitzt die Gleichungx3+y3+z3=30eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (−283059965,−2218888517,2220422932) (Entdeckt von: Beck, Pine, Tarrant & Yarbrough, 2007)

Beispiel 33

Besitzt die Gleichungx3+y3+z3=33eine ganzzahlige L¨osung? Offenes Problem. Es gibt keine L¨osungen mit|x|,|y|,|z| ≤1012.

(28)

Beispiele (1)

Beispiel 29

Besitzt die Gleichungx3+y3+z3=29eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (1,1,3)

Beispiel 30

Besitzt die Gleichungx3+y3+z3=30eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (−283059965,−2218888517,2220422932) (Entdeckt von: Beck, Pine, Tarrant & Yarbrough, 2007)

Beispiel 33

Besitzt die Gleichungx3+y3+z3=33eine ganzzahlige L¨osung?

Offenes Problem. Es gibt keine L¨osungen mit|x|,|y|,|z| ≤1012.

(29)

Beispiele (1)

Beispiel 29

Besitzt die Gleichungx3+y3+z3=29eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (1,1,3)

Beispiel 30

Besitzt die Gleichungx3+y3+z3=30eine ganzzahlige L¨osung?

Ja, zum Beispiel (x,y,z) = (−283059965,−2218888517,2220422932) (Entdeckt von: Beck, Pine, Tarrant & Yarbrough, 2007)

Beispiel 33

Besitzt die Gleichungx3+y3+z3=33eine ganzzahlige L¨osung?

Offenes Problem. Es gibt keine L¨osungen mit|x|,|y|,|z| ≤1012.

(30)

Beispiele (2)

Einige Turing-entscheidbare Beispiele

Quadratische Gleichung 5x2−3x+6=0.

L¨osbar mit Mittelschul-Methoden. Daher kann man auch feststellen, ob die Gleichung ganzzahlige L¨osungen hat.

Diophantische Gleichungen in einer Variablenx: anxn+an−1xn−1+ · · · +a2x2+a1x+a0 = 0 Jede ganzzahlige L¨osungx ist ein Teiler vona0.

Man muss also nur die Wertex mit|x| ≤ |a0|durchprobieren. Pell’sche Gleichung x2=c y2+1mit positiv ganzzahligemc. Wennc keine Quadratzahl ist, so besitzt die Pell’sche Gleichung unendlich viele positive L¨osungen(x,y).

(31)

Beispiele (2)

Einige Turing-entscheidbare Beispiele

Quadratische Gleichung 5x2−3x+6=0.

L¨osbar mit Mittelschul-Methoden. Daher kann man auch feststellen, ob die Gleichung ganzzahlige L¨osungen hat.

Diophantische Gleichungen in einer Variablenx:

anxn+an−1xn−1+ · · · +a2x2+a1x+a0 = 0 Jede ganzzahlige L¨osungx ist ein Teiler vona0.

Man muss also nur die Wertex mit|x| ≤ |a0|durchprobieren.

Pell’sche Gleichung x2=c y2+1mit positiv ganzzahligemc. Wennc keine Quadratzahl ist, so besitzt die Pell’sche Gleichung unendlich viele positive L¨osungen(x,y).

(32)

Beispiele (2)

Einige Turing-entscheidbare Beispiele

Quadratische Gleichung 5x2−3x+6=0.

L¨osbar mit Mittelschul-Methoden. Daher kann man auch feststellen, ob die Gleichung ganzzahlige L¨osungen hat.

Diophantische Gleichungen in einer Variablenx:

anxn+an−1xn−1+ · · · +a2x2+a1x+a0 = 0 Jede ganzzahlige L¨osungx ist ein Teiler vona0.

Man muss also nur die Wertex mit|x| ≤ |a0|durchprobieren.

Pell’sche Gleichung x2=c y2+1mit positiv ganzzahligemc.

Wennc keine Quadratzahl ist, so besitzt die Pell’sche Gleichung unendlich viele positive L¨osungen(x,y).

(33)

Beispiele (3)

Weitere Beispiele

Pythagoreische Gleichungx2+y2=z2hat die Seitenl¨angenx,y,z eines rechtwinkligen Dreiecks als L¨osungen.

Alle L¨osungstripel (Pythagoreische Tripel) haben die Formu2−v2, 2uv, undu2+v2mit ganzen Zahlenu undv.

Fermatsche Gleichung xn+yn=znmitn≥3.

Diese Gleichung hat keine ganzzahligen positiven L¨osungen. (Fermats letzter Satz; Satz von Andrew Wiles)

(34)

Beispiele (3)

Weitere Beispiele

Pythagoreische Gleichungx2+y2=z2hat die Seitenl¨angenx,y,z eines rechtwinkligen Dreiecks als L¨osungen.

Alle L¨osungstripel (Pythagoreische Tripel) haben die Formu2−v2, 2uv, undu2+v2mit ganzen Zahlenu undv.

Fermatsche Gleichung xn+yn=znmitn≥3.

Diese Gleichung hat keine ganzzahligen positiven L¨osungen.

(Fermats letzter Satz; Satz von Andrew Wiles)

(35)

Formulierung als Entscheidungsproblem

Hilberts zehntes Problem (im Originalwortlaut)

EineDiophantischeGleichung mit irgend welchen Unbekannten und mit ganzen rationalen Zahlencoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchem sich mittelst einer endlichen Anzahl von Operationen entscheiden l¨asst, ob die Gleichung in ganzen rationalen Zahlen l¨osbar ist.

Hilberts zehntes Problem (in moderner Formulierung)

Beschreibe einen Algorithmus, der entscheidet, ob ein gegebenes Polynom mit ganzzahligen Koeffizienten eine ganzzahlige Nullstelle hat.

Hilberts zehntes Problem (in BuK Formulierung)

Beschreibe eine Turing Maschine, die die folgende Sprache entscheidet: Dioph={ hpi |pist ein Polynom mit ganzzahligen Koeffizienten

und mit einer ganzzahligen Nullstelle}

(36)

Formulierung als Entscheidungsproblem

Hilberts zehntes Problem (im Originalwortlaut)

EineDiophantischeGleichung mit irgend welchen Unbekannten und mit ganzen rationalen Zahlencoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchem sich mittelst einer endlichen Anzahl von Operationen entscheiden l¨asst, ob die Gleichung in ganzen rationalen Zahlen l¨osbar ist.

Hilberts zehntes Problem (in moderner Formulierung)

Beschreibe einen Algorithmus, der entscheidet, ob ein gegebenes Polynom mit ganzzahligen Koeffizienten eine ganzzahlige Nullstelle hat.

Hilberts zehntes Problem (in BuK Formulierung)

Beschreibe eine Turing Maschine, die die folgende Sprache entscheidet:

Dioph={ hpi |pist ein Polynom mit ganzzahligen Koeffizienten und mit einer ganzzahligen Nullstelle}

(37)

Rekursive Aufz¨ ahlbarkeit von Dioph

F¨ur ein Polynomp in`Variablen

entspricht der Wertebereich der abz¨ahlbar unendlichen MengeZ`.

Der folgende Algorithmus erkennt daher Dioph:

Z¨ahle die`-Tupel ausZ` in kanonischer Reihenfolge auf und wertepf¨ur jedes dieser Tupel aus.

Akzeptiere, sobald eine dieser Auswertungen den Wert0ergibt. Wir folgern:

Satz

Die SpracheDiophist rekursiv aufz¨ahlbar.

(38)

Rekursive Aufz¨ ahlbarkeit von Dioph

F¨ur ein Polynomp in`Variablen

entspricht der Wertebereich der abz¨ahlbar unendlichen MengeZ`.

Der folgende Algorithmus erkennt daher Dioph:

Z¨ahle die`-Tupel ausZ` in kanonischer Reihenfolge auf und wertepf¨ur jedes dieser Tupel aus.

Akzeptiere, sobald eine dieser Auswertungen den Wert0ergibt.

Wir folgern: Satz

Die SpracheDiophist rekursiv aufz¨ahlbar.

(39)

Rekursive Aufz¨ ahlbarkeit von Dioph

F¨ur ein Polynomp in`Variablen

entspricht der Wertebereich der abz¨ahlbar unendlichen MengeZ`.

Der folgende Algorithmus erkennt daher Dioph:

Z¨ahle die`-Tupel ausZ` in kanonischer Reihenfolge auf und wertepf¨ur jedes dieser Tupel aus.

Akzeptiere, sobald eine dieser Auswertungen den Wert0ergibt.

Wir folgern:

Satz

Die SpracheDiophist rekursiv aufz¨ahlbar.

(40)

Entscheidbarkeit von Dioph (1)

Falls wir eine obere Schranke f¨ur die Absolutwerte der Nullstellen h¨atten, so brauchten wir nur eine endliche Menge von`-Tupeln aufzuz¨ahlen. Damit w¨are das ProblemDiophentscheidbar.

Wir haben bereits gesehen:

F¨ur Polynomep(x) =akxk+ak−1xk−1+· · ·+a1x+a0in nur einer Variablen ist|a0|eine derartige obere Schranke.

F¨ur Polynome in mehreren Variablen gibt es aber keine derartige obere Schranke f¨ur die Absolutwerte der Nullstellen: Betrachten Sie zum Beispiel das Polynomx+y.

Andrerseits: Wir brauchen ja gar keine Schranke, die f¨uralle Nullstellen gilt. Es reicht, wenn eine einzigeder Nullstellen beschr¨ankt ist.

Gibt es so eine Schranke?

Oder gibt es vielleicht ganz andere M¨oglichkeiten, um einem Polynom anzusehen, ob es eine ganzzahlige Nullstelle besitzt?

(41)

Entscheidbarkeit von Dioph (1)

Falls wir eine obere Schranke f¨ur die Absolutwerte der Nullstellen h¨atten, so brauchten wir nur eine endliche Menge von`-Tupeln aufzuz¨ahlen. Damit w¨are das ProblemDiophentscheidbar.

Wir haben bereits gesehen:

F¨ur Polynomep(x) =akxk+ak−1xk−1+· · ·+a1x+a0in nur einer Variablen ist|a0|eine derartige obere Schranke.

F¨ur Polynome in mehreren Variablen gibt es aber keine derartige obere Schranke f¨ur die Absolutwerte der Nullstellen: Betrachten Sie zum Beispiel das Polynomx+y.

Andrerseits: Wir brauchen ja gar keine Schranke, die f¨uralle Nullstellen gilt. Es reicht, wenn eine einzigeder Nullstellen beschr¨ankt ist.

Gibt es so eine Schranke?

Oder gibt es vielleicht ganz andere M¨oglichkeiten, um einem Polynom anzusehen, ob es eine ganzzahlige Nullstelle besitzt?

(42)

Entscheidbarkeit von Dioph (1)

Falls wir eine obere Schranke f¨ur die Absolutwerte der Nullstellen h¨atten, so brauchten wir nur eine endliche Menge von`-Tupeln aufzuz¨ahlen. Damit w¨are das ProblemDiophentscheidbar.

Wir haben bereits gesehen:

F¨ur Polynomep(x) =akxk+ak−1xk−1+· · ·+a1x+a0in nur einer Variablen ist|a0|eine derartige obere Schranke.

F¨ur Polynome in mehreren Variablen gibt es aber keine derartige obere Schranke f¨ur die Absolutwerte der Nullstellen: Betrachten Sie zum Beispiel das Polynomx+y.

Andrerseits: Wir brauchen ja gar keine Schranke, die f¨uralle Nullstellen gilt. Es reicht, wenn eine einzigeder Nullstellen beschr¨ankt ist.

Gibt es so eine Schranke?

Oder gibt es vielleicht ganz andere M¨oglichkeiten, um einem Polynom anzusehen, ob es eine ganzzahlige Nullstelle besitzt?

(43)

Entscheidbarkeit von Dioph (1)

Falls wir eine obere Schranke f¨ur die Absolutwerte der Nullstellen h¨atten, so brauchten wir nur eine endliche Menge von`-Tupeln aufzuz¨ahlen. Damit w¨are das ProblemDiophentscheidbar.

Wir haben bereits gesehen:

F¨ur Polynomep(x) =akxk+ak−1xk−1+· · ·+a1x+a0in nur einer Variablen ist|a0|eine derartige obere Schranke.

F¨ur Polynome in mehreren Variablen gibt es aber keine derartige obere Schranke f¨ur die Absolutwerte der Nullstellen: Betrachten Sie zum Beispiel das Polynomx+y.

Andrerseits: Wir brauchen ja gar keine Schranke, die f¨uralle Nullstellen gilt. Es reicht, wenn eine einzigeder Nullstellen beschr¨ankt ist.

Gibt es so eine Schranke?

Oder gibt es vielleicht ganz andere M¨oglichkeiten, um einem Polynom anzusehen, ob es eine ganzzahlige Nullstelle besitzt?

(44)

Entscheidbarkeit von Dioph (1)

Falls wir eine obere Schranke f¨ur die Absolutwerte der Nullstellen h¨atten, so brauchten wir nur eine endliche Menge von`-Tupeln aufzuz¨ahlen. Damit w¨are das ProblemDiophentscheidbar.

Wir haben bereits gesehen:

F¨ur Polynomep(x) =akxk+ak−1xk−1+· · ·+a1x+a0in nur einer Variablen ist|a0|eine derartige obere Schranke.

F¨ur Polynome in mehreren Variablen gibt es aber keine derartige obere Schranke f¨ur die Absolutwerte der Nullstellen: Betrachten Sie zum Beispiel das Polynomx+y.

Andrerseits: Wir brauchen ja gar keine Schranke, die f¨uralle Nullstellen gilt. Es reicht, wenn eine einzigeder Nullstellen beschr¨ankt ist.

Gibt es so eine Schranke?

Oder gibt es vielleicht ganz andere M¨oglichkeiten, um einem Polynom anzusehen, ob es eine ganzzahlige Nullstelle besitzt?

(45)

Entscheidbarkeit von Dioph (2)

Erst siebzig Jahre, nachdem Hilbert sein Problem pr¨asentiert hatte, beantwortete der russische Mathematiker Yuri Matijasevich diese Fragen:

Satz von Matijasevich (1970)

Das Problem, ob ein ganzzahliges Polynom eine ganzzahlige Nullstelle besitzt, ist unentscheidbar.

Der Beweis beruht auf einer langen Kette von Reduktionen, durch die letztendlich das Halteproblem f¨ur Turing Maschinen auf das NullstellenproblemDiophreduziert wird.

Yuri Matijasevich hat das letzte Glied in dieser Kette geschlossen. Andere wichtige Kettenglieder wurden in den Jahren 1950–1970 von Martin Davis, Julia Robinson und Hilary Putnam konstruiert.

(46)

Entscheidbarkeit von Dioph (2)

Erst siebzig Jahre, nachdem Hilbert sein Problem pr¨asentiert hatte, beantwortete der russische Mathematiker Yuri Matijasevich diese Fragen:

Satz von Matijasevich (1970)

Das Problem, ob ein ganzzahliges Polynom eine ganzzahlige Nullstelle besitzt, ist unentscheidbar.

Der Beweis beruht auf einer langen Kette von Reduktionen, durch die letztendlich das Halteproblem f¨ur Turing Maschinen auf das NullstellenproblemDiophreduziert wird.

Yuri Matijasevich hat das letzte Glied in dieser Kette geschlossen.

Andere wichtige Kettenglieder wurden in den Jahren 1950–1970 von Martin Davis, Julia Robinson und Hilary Putnam konstruiert.

(47)

Entscheidbarkeit von Dioph (3)

Tats¨achlich folgt aus dieser Beweiskette ein st¨arkeres Resultat:

Satz (Davis, Robinson, Putnam & Matijasevich)

F¨ur jede TeilmengeY ⊆Zder ganzen Zahlen sind die beiden folgenden Aussagen ¨aquivalent:

Y ist rekursiv aufz¨ahlbar

Es existiert ein (k+1)-variates Polynomp(x1, . . . ,xk,y)mit ganzzahligen Koeffizienten, sodass

Y ={y ∈Z| ∃x1, . . . ,xk ∈Zmitp(x1, . . . ,xk,y) =0}

Ganzzahlige Polynome sind also genauso “berechnungsstark”und genauso “m¨achtig”wie Turing Maschinen.

Der Beweis ist technisch und lang (. . . viel zu lang, um ihn in dieser Vorlesung zu pr¨asentieren).

(48)

Entscheidbarkeit von Dioph (3)

Tats¨achlich folgt aus dieser Beweiskette ein st¨arkeres Resultat:

Satz (Davis, Robinson, Putnam & Matijasevich)

F¨ur jede TeilmengeY ⊆Zder ganzen Zahlen sind die beiden folgenden Aussagen ¨aquivalent:

Y ist rekursiv aufz¨ahlbar

Es existiert ein (k+1)-variates Polynomp(x1, . . . ,xk,y)mit ganzzahligen Koeffizienten, sodass

Y ={y ∈Z| ∃x1, . . . ,xk ∈Zmitp(x1, . . . ,xk,y) =0}

Ganzzahlige Polynome sind also genauso “berechnungsstark”und genauso “m¨achtig”wie Turing Maschinen.

Der Beweis ist technisch und lang (. . . viel zu lang, um ihn in dieser Vorlesung zu pr¨asentieren).

(49)

Ein Primzahl-generierendes Polynom

Man erh¨alt genau die Menge der Primzahlen, wenn man die 26 Variablen im folgenden Polynom durch 26 beliebigenicht-negativeganze Zahlen ersetzt und alle resultierendennicht-negativenWerte ausdruckt:

(k+2){1−([wz+h+j−q]2 + [(gk+2g+k+1)(h+j) +h−z]2 + [16(k+1)3(k+2)(n+1)2+1−f2]2

+ [2n+p+q+z−e]2+ [e3(e+2)(a+1)2+1−o2]2 + [(a2−1)y2+1−x2]2+ [16r2y4(a2−1) +1−u2]2 + [((a+u2(u2−a))2−1)(n+4dy)2+1−(x+cu)2]2 + [(a2−1)`2+1−m2]2

+ [ai+k+1−`−i]2+ [n+`+v−y]2

+ [p+`(a−n−1) +b(2an+2a−n2−2n−2)−m]2 + [q+y(a−p−1) +s(2ap+2a−p2−2p−2)−x]2

(50)

Berechenbarkeitslandschaft

rekursiv aufz¨ahlbare

Probleme

H

H D

Probleme mit rekursiv aufz¨ahlbarem Komplement H H D entscheidbare

Probleme

Unentscheidbare Probleme mit unentscheidbarem Komplement Htot

MPCP PCP

Dioph

(51)

Turing-M¨ achtigkeit

(52)

Turing-m¨ achtige Rechnermodelle

Definition

Ein Rechnermodell wird alsTuring-m¨achtigbezeichnet,

wenn jede Funktion, die durch eine TM berechnet werden kann, auch durch dieses Rechnermodell berechnet werden kann.

Da die Registermaschine (RAM) die Turingmaschine simulieren kann, ist sie Turing-m¨achtig

Auch eine viel schw¨achere Variante der RAM mit stark eingeschr¨anktem Befehlssatz ist Turing-m¨achtig

(53)

Registermaschinen (RAM)

Programm

Befehlsz¨ahler b

Akkumulator c(0)

Speicher (unbeschr¨ankt)

c(1) c(2) c(3) c(4) ...

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(mit?aus{=,<,<=,>,>=})

(54)

Eingeschr¨ ankte Registermaschine (Mini-RAM)

Programm

Befehlsz¨ahler b

Akkumulator c(0)

Speicher (beschr¨ankt)

c(1) c(2) ... c(k)

Eingeschr¨ankter Befehlssatz:

LOAD, STORE, ADD, SUB, MULT, DIV INDLOAD, INDSTORE, INDADD, INDSUB, INDMULT, INDDIV CLOAD, CADD, CSUB, CMULT, CDIV GOTO, IF c(0)>0 THEN GOTO(mit?aus{=,<,<=,>,>=}) END

(55)

M¨ achtigkeit der Mini-RAM

Ubung¨

Die Mini-RAM ist eine eingeschr¨ankte Variante der RAM

mit nur acht Befehlen LOAD, STORE, CLOAD, CADD, CSUB, GOTO, IF c(0)>0 THEN GOTO, END

und mit einer endlichen Anzahl von Registern.

Zeigen Sie, dass die Mini-RAM Turing-m¨achtig ist.

Hinweis: Diese ¨Ubung wird viel einfacher, wenn man erst einmal den Stoff von VL-11 gesehen hat.

(56)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig: Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(57)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig

Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig: Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(58)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig: Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(59)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig: Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(60)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig:

Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(61)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig:

Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(62)

Turing-M¨ achtigkeit: Beispiele

Reines HTML (ohne JavaScript; ohne Browser) istnicht Turing-m¨achtig

Tabellenkalkulationen (ohne Schleifen) sind nichtTuring-m¨achtig Der Lambda Calculus von Alonzo Church ist ¨aquivalent zur TM, und daher Turing-m¨achtig

Dieµ-rekursiven Funktionen von Kurt G¨odel sind ¨aquivalent zur TM, und daher Turing-m¨achtig

Alle g¨angigen h¨oheren Programmiersprachen sind Turing-m¨achtig:

Algol, Pascal, C, FORTRAN, COBOL, Java, Smalltalk, Ada, C++, Python, LISP, Haskell, PROLOG, etc.

PostScript, Tex, Latex sind Turing-m¨achtig

Sogar PowerPoint ist Turing-m¨achtig (wegen seiner Animated Features)

(63)

Turing-M¨ achtigkeit: MineSweeper

Unendliche Varianten von MineSweeper sind Turing-m¨achtig.

(Richard Kayes: “Infinite Versions of Minesweeper are Turing-complete”, 2007)

(64)

Turing-M¨ achtigkeit: Game of Life

John Horton Conway’s “Game of Life” ist Turing-m¨achtig

(65)

John Horton Conway FRS (1937)

Wikipedia: John Horton Conway is an English mathematician active in the theory of finite groups, knot theory, number theory, combinatorial game theory, and coding theory.

He has also contributed to many branches of recreational mathematics, notably the invention of the cellular automaton called the Game of Life.

(66)

Game of Life: Regeln

Conway’s Game of Life(aus dem Jahr 1970) ist ein zellul¨arer Automat, der auf einem unendlichen 2-dimensionalen Gitter arbeitet.

Zu jedem Zeitpunkt ist jede Zelle entwederlebend odertot.

Ausgehend von einer Anfangskonfiguration entwickelt sich die Zellenkonfiguration Schritt f¨ur Schritt folgendermassen:

Eine tote Zelle mit genau drei lebenden Nachbarn ist im n¨achsten Schritt lebendig.

Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben ab. Lebende Zellen mit mehr als drei lebenden Nachbarn sterben ab. Alle anderen Zellen bleiben unver¨andert.

(67)

Game of Life: Regeln

Conway’s Game of Life(aus dem Jahr 1970) ist ein zellul¨arer Automat, der auf einem unendlichen 2-dimensionalen Gitter arbeitet.

Zu jedem Zeitpunkt ist jede Zelle entwederlebend odertot.

Ausgehend von einer Anfangskonfiguration entwickelt sich die Zellenkonfiguration Schritt f¨ur Schritt folgendermassen:

Eine tote Zelle mit genau drei lebenden Nachbarn ist im n¨achsten Schritt lebendig.

Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben ab.

Lebende Zellen mit mehr als drei lebenden Nachbarn sterben ab.

Alle anderen Zellen bleiben unver¨andert.

(68)

Game of Life / Beispiel U

(69)

Game of Life / Beispiel Gleiter

(70)

Game of Life / Grosses Beispiel

(71)

Game of Life: Fragen

Kombinatorische Fragen

Kann eine AnfangskonfigurationK unbeschr¨ankt wachsen?

Gibt es f¨ur jede AnfangskonfigurationK eine Schrankef(K), sodass alle ausK entstehenden Konfigurationen h¨ochstensf(K)lebende Zellen haben?

Algorithmische Fragen

Falls das Game of Life mit einer gegebenen AnfangskonfigurationK gestartet wird,

stirbt das System dann irgendwann aus?

erreicht das System jemals einen stabilen Zustand?

verh¨alt sich das System dann irgendwann periodisch?

erreicht das System dann jemals eine gegebene ZielkonfigurationK0?

(72)

Game of Life: Antworten

Satz

Conway’s Game of Life ist Turing-m¨achtig.

Die folgenden Probleme sind unentscheidbar:

Stirbt das System mit Anfangskonfiguration K jemals aus?

Stabilisiert sich das System mit AnfangskonfigurationK jemals?

Verh¨alt sich das System mit AnfangskonfigurationK irgendwann einmal periodisch?

Erreicht das System mit Anfangskonfiguration K jemals die Zielkonfiguration K0?

Ausserdem gibt es Anfangskonfigurationen, die unbeschr¨ankt wachsen.

(73)

Game of Life: Bill Gosper’s Gleiterkanone (1970)

Referenzen

ÄHNLICHE DOKUMENTE

Basierend auf diesen Techniken k¨ onnen wir uns klar machen, dass bekannte Algorithmen (wie z.B. MergeSort) ohne Weiteres auf einer TM ausgef¨ uhrt werden k¨ onnen... Techniken

Variablen k¨ onnen realisiert werden, indem wir pro Variable eine Spur reservieren. Felder (Arrays) k¨ onnen ebenfalls auf einer Spur

Der Kopf von M 0 l¨ auft dann nach rechts bis zum rechtesten #, wobei die k Zeichen an den mit # markierten Spurpositionen im Zustand abgespeichert werden.. An der Zelle mit

Bei inkorrekter Eingabe (z.B.: wenn die Eingabe nicht mit einer TM-Kodierung beginnt; oder: wenn das Wort w Buchstaben enth¨ alt, die nicht zum Eingabealphabet von M geh¨ oren) gibt

Eine Diophantische Gleichung mit irgend welchen Unbekannten und mit ganzen rationalen Zahlencoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchem sich mittelst

in jeder Bandzelle stehen k Zeichen, die der Kopf gleichzeitig einlesen kann. Das k¨ onnen wir erreichen, indem wir das Bandalphabet um k-dimensionale Vektoren

F¨ ur eine abz¨ ahlbar unendliche Menge M gibt es immer auch eine bijektive (bijektiv = surjektiv+injektiv) Abbildung c : N → M: Wiederholungen von Elementen von M k¨ onnen bei der

Aus einem polynomiellen Algorithmus A f¨ urs Entscheidungsproblem konstruieren wir zuerst einen polynomiellen Algorithmus B, der den optimalen Zielfunktionswert bestimmt (Phase 1),.