VL-10: Turing-M¨ achtigkeit
(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger
WS 2017, RWTH
Organisatorisches
N¨achste Vorlesung:
Donnerstag, November 23, 12:15–13:45 Uhr, Aula Webseite:
http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php
Wiederholung
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.
Wdh.: Unser Arbeitsplan
Satz A
MPCP≤PCP
Satz B H≤MPCP
Die Transitivit¨at der Reduzierbarkeit (¨Ubung) impliziertH≤PCP.
Satz
Das PCP ist unentscheidbar.
Vorlesung VL-10 Turing-M¨ achtigkeit
Entscheidungsprobleme f¨ur CFGs Hilberts zehntes Problem
Turing-M¨achtigkeit
Entscheidungsprobleme f¨ ur CFGs
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
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.
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?
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?
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
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
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
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
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
Hilberts zehntes Problem
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.
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.
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.
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)
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)
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)
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.
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.
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.
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.
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.
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.
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).
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).
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).
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)
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)
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}
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}
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.
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.
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.
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?
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?
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?
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?
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?
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.
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.
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).
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).
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
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
Turing-M¨ achtigkeit
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
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{=,<,<=,>,>=})
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
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.
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)
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)
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)
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)
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)
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)
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)
Turing-M¨ achtigkeit: MineSweeper
Unendliche Varianten von MineSweeper sind Turing-m¨achtig.
(Richard Kayes: “Infinite Versions of Minesweeper are Turing-complete”, 2007)
Turing-M¨ achtigkeit: Game of Life
John Horton Conway’s “Game of Life” ist Turing-m¨achtig
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.
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.
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.
Game of Life / Beispiel U
Game of Life / Beispiel Gleiter
Game of Life / Grosses Beispiel
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?
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.