Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Berechenbarkeit Berechenbarkeit üüber algebraischen Strukturenber algebraischen Strukturen
Christine GaChristine Gaßßnerner
Greifswald Greifswald 2. Dezember 20082. Dezember 2008
Berechenbarkeit Berechenbarkeit üüber algebraischen Strukturenber algebraischen Strukturen
Ziel:Ziel:
EinfEinfüührunghrung in die Berechnungsmin die Berechnungsmööglichkeiten unter der glichkeiten unter der Voraussetzung verschiedener StrukturenVoraussetzung verschiedener Strukturen
ZusammenfassungZusammenfassung einiger wichtiger bekannter Resultate in Bezug einiger wichtiger bekannter Resultate in Bezug auf Pauf P--NPNP--ProblemeProbleme
VeranschaulichungVeranschaulichung einer Idee zur Konstruktion von Strukturen mit einer Idee zur Konstruktion von Strukturen mit P= NPP= NP
Wie kWie köönnen neue Relationen von Orakeln abgeleitet werden?nnen neue Relationen von Orakeln abgeleitet werden?
Unter Verwendung von Folien, die fUnter Verwendung von Folien, die füür Vortrr Vorträäge auf Konferenzen erstellt wurden.ge auf Konferenzen erstellt wurden.
Gegeben: ein Flur und Teppichreste.Gegeben: ein Flur und Teppichreste.
Problem:Problem:(Wegen Mangel an passendem Werkzeug k(Wegen Mangel an passendem Werkzeug köönnen die Reste nicht zerschnitten werden.)nnen die Reste nicht zerschnitten werden.)
Kann der Flur mit Teppichresten ausgelegt werden?Kann der Flur mit Teppichresten ausgelegt werden?
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches Beispiel
TeppichresteEin Flur
1. L1. Löösungssuche durch sungssuche durch ÜÜberprberprüüfung jeder Mfung jeder Mööglichkeit der Reihe nach,glichkeit der Reihe nach,Anlegen und Kontrolle auf gleiche LAnlegen und Kontrolle auf gleiche Läänge.nge.
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielEin erster AlgorithmusEin erster Algorithmus
usw.
usw.
2. L2. Löösungssuche durch sungssuche durch Sortieren der GrSortieren der Größöße nach (unter Verwendung des Ordnungstestes) e nach (unter Verwendung des Ordnungstestes) und danachund danachAnlegen der GrAnlegen der Größöße nach, falls noch nicht zu lang.e nach, falls noch nicht zu lang.
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielEin zweiter AlgorithmusEin zweiter Algorithmus
3. L3. Löösungssuche durch sungssuche durch Anlegen der Reihenfolge nach, falls noch nicht zu lang Anlegen der Reihenfolge nach, falls noch nicht zu lang (Vewendung des Ordnungstestes).(Vewendung des Ordnungstestes).
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielEin dritter AlgorithmusEin dritter Algorithmus
Teppichreste
Zwei geratene LZwei geratene Löösungen:sungen:
4. L4. Löösungssuche durch sungssuche durch Raten der richtigen LRaten der richtigen Löösung und Anlegen sung und Anlegen (ohne Verwendung des Ordnungstestes).(ohne Verwendung des Ordnungstestes).
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielNichtdeterminstische LNichtdeterminstische Löösungssuchesungssuche
Ein Flur
TeppichresteEin Flur
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
TuringmaschineTuringmaschine ComputerComputer DirektDirekt
Ermittlung d. Ermittlung d. EingabewerteEingabewerte
LLäängen kngen köönnen bis zu einer gewissen Genauigkeit nnen bis zu einer gewissen Genauigkeit gemessen werden.gemessen werden.
entfentfäälltllt
Speicherung Speicherung der Werteder Werte
binbinäär kodiert,r kodiert,jede Ziffer in einer jede Ziffer in einer SpeichereinheitSpeichereinheit
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen
in einer Speichereinheitin einer Speichereinheit
entfentfäälltllt
AdditionAddition exakt,exakt,in mehreren in mehreren
SchrittenSchritten
bis zu einer beschrbis zu einer beschräänkten nkten GrGrößöße der Zahlen e der Zahlen exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
exakt, exakt, durch Anlegen durch Anlegen in einem Schrittin einem Schritt
VergleichVergleich exakt,exakt,in mehreren in mehreren
SchrittenSchritten
exakt,exakt,in einer festen Zeiteinheitin einer festen Zeiteinheit
ausreichend ausreichend genau auf genau auf einen Blickeinen Blick
Verwendete Verwendete StrukturStruktur
({0, 1}; 0, 1; ({0, 1}; 0, 1; ; ; ==)) ((MM; 0; +; ; 0; +; ≤≤), (), (MM; 0; +; ; 0; +; ==) ) mitmit MM ⊆ℚ⊆ℚ
((ℝℝ; 0; 0 ; +; + ; ; ≤≤),),((ℝℝ; 0; 0 ; +; + ; ; ==))
Der erste Teil Der erste Teil –– ein praktisches Beispielein praktisches BeispielTechnische UmsetzungTechnische Umsetzung
1.1. The uniform model The uniform model of of computationcomputation
2.2. Diagonalization techniques and halting problemsDiagonalization techniques and halting problems
3.3. Structures with Structures with P P ≠≠ NPNP
4.4. Structures and oracles with Structures and oracles with PPAA ≠≠ NPNPA A and and PPA A == NPNPAA
5.5. An idea for the construction of structures with An idea for the construction of structures with P P == NPNP
The second partThe second part
Representations of programsRepresentations of programs
1: Input: (x1, …, xn) . Guess: (y1, …, yn) ∈ {0, 1}.
2: I2 ≔ I1 + 1;3: Z1 ≔ 1 + Z1 * ZI2;4: if I1 = I3 then goto 9
else goto 5;5: I2 ≔ I2 + 1;6: I3 ≔ I3 + 1;7: Z1 ≔ Z1 + ZI3 *
ZI2;8: goto 4;9: if Z1 = 1 then goto 11
else goto 10;10: Z1 ≔ 0;11: I1 ≔ 1;12: Output: Z1.
A program
A flowchart
Computation Computation pathspaths
A structure:A structure: ΣΣ = (= (UU ; ; cc11 ,,……, , ccu u ; ; ff11 ,,……, , ffv v ; ; RR11 ,,……, , RRww , =), =)ΣΣ = (= (UU ; (; (ccii))ii∈∈F F ; (; (ffii))ii∈∈GG ; (; (RRii))ii∈∈HH , =), =)
Computation:Computation: ll: : ZZk k ≔≔ ffjj((ZZkk 11,,……, , ZZkkmmj j ));;
ll: : ZZkk ≔≔ ccjj;;
Branching:Branching: ll: : ifif RRjj((ZZkk 11,,……, , ZZkknnjj)) then goto then goto ll1 1 else goto else goto ll22; ;
ll: : ifif ZZkk == ZZjj then goto then goto ll1 1 else goto else goto ll22; ;
Copy:Copy: ll: : ZZIIkk≔≔ ZZIIjj;;
Index computation:Index computation: IIkk≔≔ 1; 1; IIkk≔≔ IIk k + + 1; 1; if if IIkk == IIjj then goto then goto ll1 1 else goto else goto ll22;;
The uniform model of computationThe uniform model of computation
A structure:A structure: ΣΣ = (= (UU ; ; cc11 ,,……, , ccu u ; ; ff11 ,,……, , ffv v ; ; RR11 ,,……, , RRww , =), =)ΣΣ = (= (UU ; (; (ccii))ii∈∈F F ; (; (ffii))ii∈∈GG ; (; (RRii))ii∈∈HH , =), =)
Computation:Computation: ll: : ZZk k ≔≔ ffjj ((ZZkk 11,,……, , ZZkkmmj j ));;
ll: : ZZkk ≔≔ ccjj ;;
Branching:Branching: ll: : ifif RRjj((ZZkk 11,,……, , ZZkknnjj)) then goto then goto ll1 1 else goto else goto ll22; ;
ll: : ifif ZZkk == ZZjj then goto then goto ll1 1 else goto else goto ll22; ;
Copy:Copy: ll: : ZZIIkk≔≔ ZZIIjj;;
Index computation:Index computation: IIkk≔≔ 1; 1; IIkk≔≔ IIk k + + 1; 1; if if IIkk == IIjj then goto then goto ll1 1 else goto else goto ll22;;
The uniform model of computationThe uniform model of computation
A structure:A structure: ΣΣ = (= (UU ; ; cc11 ,,……, , ccu u ; ; ff11 ,,……, , ffv v ; ; RR11 ,,……, , RRww , =), =)ΣΣ = (= (UU ; (; (ccii))ii∈∈F F ; (; (ffii))ii∈∈GG ; (; (RRii))ii∈∈HH , =), =)
Computation:Computation: ll: : ZZk k ≔≔ ffjj ((ZZkk 11,,……, , ZZkkmmj j ));;
ll: : ZZkk ≔≔ ccjj ;;
Branching:Branching: ll: : ifif RRjj((ZZkk 11,,……, , ZZkknnjj)) then goto then goto ll1 1 else goto else goto ll22; ;
ll: : ifif ZZkk == ZZjj then goto then goto ll1 1 else goto else goto ll22; ;
Copy:Copy: ll: : ZZIIkk≔≔ ZZIIjj;;
Index computation:Index computation: IIkk≔≔ 1; 1; IIkk≔≔ IIk k + + 1; 1; if if IIkk == IIjj then goto then goto ll1 1 else goto else goto ll22;;
The uniform model of computationThe uniform model of computation
A structure:A structure: ΣΣ = (= (UU ; ; cc11 ,,……, , ccu u ; ; ff11 ,,……, , ffv v ; ; RR11 ,,……, , RRww , =), =)ΣΣ = (= (UU ; (; (ccii))ii∈∈F F ; (; (ffii))ii∈∈GG ; (; (RRii))ii∈∈HH , =), =)
Computation:Computation: ll: : ZZk k ≔≔ ffjj ((ZZkk 11,,……, , ZZkkmmj j ));;
ll: : ZZkk ≔≔ ccjj ;;
Branching:Branching: ll: : ifif RRjj((ZZkk 11,,……, , ZZkknnjj)) then goto then goto ll1 1 else goto else goto ll22; ;
ll: : ifif ZZkk == ZZjj then goto then goto ll1 1 else goto else goto ll22; ;
Copy:Copy: ll: : ZZIIkk≔≔ ZZIIjj;;
Index computation:Index computation: IIkk≔≔ 1; 1; IIkk≔≔ IIk k + + 1; 1; if if IIkk == IIjj then goto then goto ll1 1 else goto else goto ll22;;
The uniform model of computationThe uniform model of computation
A structure:A structure: ΣΣ = (= (UU ; ; cc11 ,,……, , ccu u ; ; ff11 ,,……, , ffv v ; ; RR11 ,,……, , RRww , =), =)ΣΣ = (= (UU ; (; (ccii))ii∈∈F F ; (; (ffii))ii∈∈GG ; (; (RRii))ii∈∈HH , =), =)
Computation:Computation: ll: : ZZk k ≔≔ ffjj ((ZZkk 11,,……, , ZZkkmmj j ));;
ll: : ZZkk ≔≔ ccjj ;;
Branching:Branching: ll: : ifif RRjj((ZZkk 11,,……, , ZZkknnjj)) then goto then goto ll1 1 else goto else goto ll22; ;
ll: : ifif ZZkk == ZZjj then goto then goto ll1 1 else goto else goto ll22; ;
Copy:Copy: ll: : ZZIIkk≔≔ ZZIIjj;;
Index computation:Index computation: IIkk≔≔ 1; 1; IIkk≔≔ IIk k + + 1; 1; if if IIkk == IIjj then goto then goto ll1 1 else goto else goto ll22;;
The uniform model of computationThe uniform model of computation
ℤℤ22 == ({0, 1}; 0, 1; +, ({0, 1}; 0, 1; +, ·· ; ; ==)) ((⇨⇨ Turing machines)Turing machines)
ℝℝ = = ((ℝℝ ; ; ℝℝ ; +; + , , –– , , ·· ; ; ≤≤) ) ((⇨⇨ BSS model)BSS model)
ΣΣstringstring = = ({0, 1}({0, 1}** ; ; εε , , 0, 10, 1; add; add , sub, subll ,, subsubrr ; =); =)
ΣΣtree tree = (tree(= (tree(ℝℝ)) ; nil; concat; nil; concat , root, root , sub, subll , sub, subrr ; = ); = )
concat(concat(aa, , ) , , ) ==
Examples for several structuresExamples for several structures
a
t1 t2
t1 t2
···
Z11Z10Z9Z8Z7Z6Z5Z4Z3Z2Z1
Z1
TheThe inputinput:: ((ZZ11 ,,……, , ZZnn) ) ≔≔ ((xx11,,……, , xxnn); ); II11≔≔ nn; ; II22≔≔ 1;1;…… ; ; IIkkMM≔≔ 1;1;
Z1
1
1
…
…I1
I2
IkMM
The machine and the inputThe machine and the input
···
Z11Z10Z9Z8Z7Z6Z5Z4Z3Z2Z1
Z1
TheThe inputinput:: ((ZZ11 ,,……, , ZZnn) ) ≔≔ ((xx11,,……, , xxnn); ); II11≔≔ nn; ; II22≔≔ 1;1;…… ; ; IIkkMM≔≔ 1;1;
Z1
1
1
…
…I1
I2
IkMM
The machine and the inputThe machine and the input
x1 x2 x3 x4
···
Z11Z10Z9Z8Z7Z6Z5Z4Z3Z2Z1
Z1
TheThe inputinput:: ((ZZ11 ,,……, , ZZnn) ) ≔≔ ((xx11,,……, , xxnn); ); II11≔≔ nn; ; II22≔≔ 1;1;…… ; ; IIkkMM≔≔ 1;1;
4
x1 x2 x3 x4
Z4
Z1
1
1
x4x1 x2 x3 x4 x4 x4 x4 x4
…
…I1
I2
IkMM
The machine and the inputThe machine and the input
The size of the input
The class DECThe class DECΣΣDecidable problemsDecidable problems
B B ⊆⊆ U U ∞∞, , aa,, bb∈∈ U U areare constants with constants with a a ≠≠ b. b.
B B ∈∈ DECDECΣΣ
if the characteristic function is computable,if the characteristic function is computable,
if there is a machine withif there is a machine with
Input:Input: ((xx11,,……, , xxnn) ) ∈∈ U U ∞∞;;
OutputOutput aa (or halt) if (or halt) if ((xx11,,……, , xxnn) ) ∈∈ BB. . AcceptanceAcceptance..
Output Output b b (or no halt) if (or no halt) if ((xx11,,……, , xxnn) ) ∉∉ BB.. Deterministic rejection.Deterministic rejection.
The class DECThe class DECΣΣDecidable problemsDecidable problems
B B ⊆⊆ U U ∞∞, , aa,, bb∈∈ U U areare constants with constants with a a ≠≠ b. b.
B B ∈∈ DECDECΣΣ
if the characteristic function is computable,if the characteristic function is computable,
if there is a machine withif there is a machine with
Input:Input: ((xx11,,……, , xxnn) ) ∈∈ U U ∞∞;;
OutputOutput aa (or halt) if (or halt) if ((xx11,,……, , xxnn) ) ∈∈ BB. . AcceptanceAcceptance..
Output Output b b (or no halt) if (or no halt) if ((xx11,,……, , xxnn) ) ∉∉ BB.. Deterministic rejection.Deterministic rejection.
The class DECThe class DECΣΣDecidable problemsDecidable problems
B B ⊆⊆ U U ∞∞, , aa,, bb∈∈ U U areare constants with constants with a a ≠≠ b. b.
B B ∈∈ DECDECΣΣ
if the characteristic function is computable,if the characteristic function is computable,
if there is a machine withif there is a machine with
Input:Input: ((xx11,,……, , xxnn) ) ∈∈ U U ∞∞;;
OutputOutput aa (or halt) if (or halt) if ((xx11,,……, , xxnn) ) ∈∈ BB. . AcceptanceAcceptance..
Output Output b b (or no halt) if (or no halt) if ((xx11,,……, , xxnn) ) ∉∉ BB.. Deterministic rejection.Deterministic rejection.
The class DECThe class DECΣΣDecidable problemsDecidable problems
B B ⊆⊆ U U ∞∞, , aa,, bb∈∈ U U areare constants with constants with a a ≠≠ b. b.
B B ∈∈ DECDECΣΣ
if the characteristic function is computable,if the characteristic function is computable,
if there is a machine withif there is a machine with
Input:Input: ((xx11,,……, , xxnn) ) ∈∈ U U ∞∞;;
OutputOutput aa (or halt) if (or halt) if ((xx11,,……, , xxnn)) ∈∈ BB. . AcceptanceAcceptance..
Output Output b b (or no halt) if (or no halt) if ((xx11,,……, , xxnn) ) ∉∉ BB.. Deterministic rejection.Deterministic rejection.
The class DECThe class DECΣΣDecidable problemsDecidable problems
B B ⊆⊆ U U ∞∞, , aa,, bb∈∈ U U areare constants with constants with a a ≠≠ b. b.
B B ∈∈ DECDECΣΣ
if the characteristic function is computable,if the characteristic function is computable,
if there is a machine withif there is a machine with
Input:Input: ((xx11,,……, , xxnn) ) ∈∈ U U ∞∞;;
OutputOutput aa (or halt) if (or halt) if ((xx11,,……, , xxnn)) ∈∈ BB. . AcceptanceAcceptance..
Output Output b b (or no halt) if (or no halt) if ((xx11,,……, , xxnn)) ∉∉ BB.. Deterministic rejectionDeterministic rejection..
xx
HHΣΣ = {(= {(xx11,,……,, xxnn, , CodeCode((MM)) | )) |
xx ∈∈ UU∞∞ & & MM is a deterministic is a deterministic ∑∑--machinemachine
& & M M haltshalts onon xx}}
HHΣΣspec spec = {= {CodeCode((MM) |) | MM is a deterministic is a deterministic ∑∑--machinemachine
& & M M halts onhalts on CodeCode((MM))}}
Halting problems for Halting problems for ∑∑
1.1. The set of machines is cThe set of machines is countable.ountable. Assume that Assume that HHΣΣspecspec is decidable.is decidable.
⇒⇒ There is anThere is an MM recognizingrecognizing the complementthe complement of of HHΣΣspecspec. .
Halt?Halt? bin(1)bin(1) ······ bin(bin(ii)) ······ bin(bin(jj)) ······ ······MM11 yes / noyes / no∶∶ ······
MMii yesyes∶∶ ······
MMjj nono∶∶ ······∶∶MM no / yes ··· no ··· yes ··· ···
Diagonalization techniquesDiagonalization techniquesThe undecidability of the Halting problem The undecidability of the Halting problem HHΣΣ (for Turing machines)(for Turing machines)
1.1. The set of machines is cThe set of machines is countable.ountable. Assume that Assume that HHΣΣspecspec is decidable.is decidable.
⇒⇒ There is anThere is an MM recognizingrecognizing the complementthe complement of of HHΣΣspecspec. .
Halt?Halt? bin(1)bin(1) ······ bin(bin(ii)) ······ bin(bin(jj)) ······ ······MM11 yes / noyes / no∶∶ ······
MMii yesyes∶∶ ······
MMjj nono∶∶ ······∶∶MM no / yes ··· no ··· yes ··· ···
Diagonalization techniquesDiagonalization techniquesThe undecidability of the Halting problem The undecidability of the Halting problem HHΣΣ (for Turing machines)(for Turing machines)
1.1. The set of machines is cThe set of machines is countable.ountable. Assume that Assume that HHΣΣspecspec is decidable.is decidable.
⇒⇒ There is anThere is an MM recognizingrecognizing the complementthe complement of of HHΣΣspecspec..
Halt?Halt? bin(1)bin(1) ······ bin(bin(ii)) ······ bin(bin(jj)) ······ ······MM11 yes / noyes / no∶∶ ······
MMii yesyes∶∶ ······
MMjj nono∶∶ ······∶∶MM no / yesno / yes ······ nono ······ yesyes ······ ······
Diagonalization techniquesDiagonalization techniquesThe undecidability of the Halting problem The undecidability of the Halting problem HHΣΣ (for Turing machines)(for Turing machines)
2.2. The codes of machines are ordered.The codes of machines are ordered. Assume that Assume that HHΣΣspecspec is decidable.is decidable.
⇒⇒ There is anThere is an MM recognizingrecognizing the complementthe complement of of HHΣΣspecspec..
Diagonalization techniquesDiagonalization techniquesThe undecidability of the Halting problem The undecidability of the Halting problem HHΣΣ (for (for ((ℝℝ ; ; ℝℝ ; +, ; +, ––, , ·· ; ; ≤≤))))
Halt?Halt? ······ ······ CodeCode((MMii)) ······ CodeCode((MMjj)) ······ ······∶∶ ······∶∶ ······
MMii yesyes∶∶ ······
MMjj nono∶∶ ······∶∶MM ······ ······ nono ······ yesyes ······ ······
3.3. ∑∑ arbitrary (We can generalize the result.)arbitrary (We can generalize the result.)
Assume:Assume: HHΣΣ is decidableis decidable..⇒⇒ HHΣΣ
specspec is decidableis decidable..⇒⇒ The complement of The complement of HHΣΣ
specspec
is semiis semi--decidable by adecidable by a ∑∑--machinemachine MM..
⇒⇒ MM halts halts onon CodeCode((MM))⇔⇔ MM does not haltdoes not halt onon CodeCode((MM))..
⇒⇒
Diagonalization techniquesDiagonalization techniquesThe undecidability of the Halting problem The undecidability of the Halting problem HHΣΣ (for any structure)(for any structure)
A machine A machine M M decides a problem decides a problem in polynomial timein polynomial time
if there is some if there is some polynomialpolynomial ppM M ssuch that uch that
MM halts forhalts for x =x = ((xx11,,……, , xxnn) ) withinwithin ppM M ((nn)) steps.steps.
Each instruction is executedEach instruction is executed within within oneone fixed time unit.fixed time unit.
⇨⇨ PPΣΣ ⊆⊆ DECDECΣΣ ((PPΣΣ ≙≙ problems are decidable in polynomial time)problems are decidable in polynomial time)
The class PThe class PΣΣComputation in polynomial timeComputation in polynomial time
The nonThe non--determinism:determinism:
guess(guess(ZZkk);); Arbitrary elements can be guessed!Arbitrary elements can be guessed!
⇨⇨ PPΣΣ⊆⊆ NPNPΣΣ
NonNon--deterministicdeterministic acceptance:acceptance: output output aa by means of guessed elements.by means of guessed elements.NonNon--deterministicdeterministic rejection:rejection: if the input cannot be accepted.if the input cannot be accepted.
NPNPΣΣ⊈⊈DECDECΣΣ⇒⇒ PPΣΣ ≠≠ NPNPΣΣ wegen wegen PPΣΣ⊆⊆ DECDECΣΣ und und PPΣΣ⊆⊆ NPNPΣΣ..
The class NPThe class NPΣΣThe nonThe non--deterministic instructionsdeterministic instructions
The nonThe non--determinism:determinism:
guess(guess(ZZkk);); Arbitrary elements can be guessed!Arbitrary elements can be guessed!
⇨⇨ PPΣΣ⊆⊆ NPNPΣΣ
NonNon--deterministicdeterministic acceptance:acceptance: output output aa by means of guessed elements.by means of guessed elements.NonNon--deterministicdeterministic rejection:rejection: if the input cannot be accepted.if the input cannot be accepted.
NPNPΣΣ⊈⊈DECDECΣΣ⇒⇒ PPΣΣ ≠≠ NPNPΣΣ wegen wegen PPΣΣ⊆⊆ DECDECΣΣ und und PPΣΣ⊆⊆ NPNPΣΣ..
The class NPThe class NPΣΣThe nonThe non--deterministic instructionsdeterministic instructions
∑∑ PP∑∑ = = NPNP∑∑??
((ℂℂ ; ; ℂℂ ; +, ; +, ––, , ·· ; ; ==)) ??
((ℝℝ ; ; ℝℝ ; +, ; +, ––, , ·· ; ; ≤≤)) ??
((ℝℝ ; ; ℝℝ ; +, ; +, ––, , ·· ; ; ==)) no no ((≤≤))
((ℚℚ; ; ℚℚ ; +, ; +, ––, , ·· ; ; ≤≤), (), (ℚℚ; ; ℚℚ ; +, ; +, ––, , ·· ; ; ==)) no no (rational square numbers)(rational square numbers)
((ℝℝ ; ; ℝℝ ; +, ; +, –– ; ; ≤≤)) ??
((ℝℝ ; ; ℝℝ ; +, ; +, –– ; ; ==)) no no (Meer / Koiran) (Meer / Koiran)
((ℤℤ ; ; ℤℤ ; +, ; +, –– ; ; ≤≤), (), (ℤℤ ; ; ℤℤ ; +, ; +, –– ; ; ==)) no no (even integers)(even integers)
((ℤℤ ; ; 11; (; (φφss))ss∈∈ℤℤ; ; ==) ) φφss((xx) = ) = sxsx no no (no (no NPNP--complete problem)complete problem)
Some PSome P∑∑ ≟≟ NPNP∑∑ problemsproblems for several structures for several structures
∑∑= = ℤℤ = = ((ℤℤ; 0, 1; ; 0, 1; ··, , +, +, −−; =); =)
A =A ={({(x,x,……,x,x)) | | ∃∃y y ((x=yx=y²²))}. }.
AA ∈∈ NPNP∑∑ (we can guess (we can guess y y ∈∈ℤℤ).).
AA ∉∉ PP∑∑::
ExampleExample for Pfor P∑∑ ≠≠ NPNP∑∑
p1(x)=0
p2(x)=0
pk(x)=0
no
no
no
yes
yes
yesThe machine halts after t steps.
We cannot separate
A and ℤ \ A.Only a finite number of zeros.
∑∑= = ℤℤ = = ((ℤℤ; 0, 1; ; 0, 1; ··, , +, +, −−; =); =)
A =A ={({(x,x,……,x,x)) | | ∃∃y y ((x=yx=y²²))}. }.
AA ∈∈ NPNP∑∑ ((we can guesswe can guess y y ∈∈ℤℤ).).
AA ∉∉ PP∑∑::
ExampleExample for Pfor P∑∑ ≠≠ NPNP∑∑
p1(x)=0
p2(x)=0
pk(x)=0
no
no
no
yes
yes
yesThe machine halts after t steps.
Only a finite number of zeros.
∑∑= = ℤℤ = = ((ℤℤ; 0, 1; ; 0, 1; ··, , +, +, −−; =); =)
A =A ={({(x,x,……,x,x)) | | ∃∃y y ((x=yx=y²²))}. }.
AA ∈∈ NPNP∑∑ ((we can guesswe can guess y y ∈∈ℤℤ).).
AA ∉∉ PP∑∑::
ExampleExample for Pfor P∑∑ ≠≠ NPNP∑∑
p1(x)=0
p2(x)=0
pk(x)=0
no
no
no
yes
yes
yesThe machine halts after t steps.
We cannot separate
AA and and ℤℤ \\ A.A.
Only a finite number of zeros.
Some PSome P∑∑--NPNP∑∑ problemsproblemsfor structures over numbersfor structures over numbers
∑∑ PP∑∑ = = DDNPNP∑∑?? DNPDNP∑∑ == NPNP∑∑??
((ℂℂ ; ; ℂℂ ; +, ; +, ––, , ·· ; ; ==)) ?? ??
((ℝℝ ; ; ℝℝ ; +, ; +, ––, , ·· ; ; ≤≤)) ?? ??
((ℝℝ ; ; ℝℝ ; +, ; +, ––, , ·· ; ; ==)) ?? no no ((≤≤))
((ℝℝ ; ; ℝℝ ; +, ; +, –– ; ; ≤≤)) ?? yes yes (Koiran)(Koiran)
((ℝℝ ; ; ℝℝ ; +, ; +, –– ; ; ==)) no no (Meer)(Meer) yes yes (Koiran)(Koiran)((ℤℤ ; ; ℤℤ ; +, ; +, –– ; ; ≤≤)) ?? no no (even integers)(even integers)
((ℤℤ ; ; ℤℤ ; +, ; +, –– ; ; ==)) no no (for groups)(for groups) no no (even integers)(even integers)
DN DN ≙≙ digitally nondigitally non--deterministic:deterministic:yy11,,……, , yym m ∈∈ {0{0 , 1} , 1}
∑∑==ℤℤaddadd == ((ℤℤ; 0, 1;; 0, 1; +, +, −− ; =); =)
A = A = ∪∪nn≥≥11{({(x,x,……,x,x)) ∈∈ ℤℤnn| | xx < < 22nn}. }.
AA∈∈DNPDNP∑∑ ((we can guess the binary code ofwe can guess the binary code of xx: (: (yy11,,……,,yynn))∈∈{0,1}{0,1}nn ).).
A ∉ P∑:
ExampleExample for Pfor P∑∑ ≠≠ DNPDNP∑∑
k1x=m1 no
no
noThe machine halts after p(n) steps
We cannot separate A and ℤn \ Aif 2n > p(n).
k2x=m2
yes
Only a polynomial number of solutions.
yes
kp(t)x=mp(t)
yes
D D ≙≙ digitally.digitally.
∑∑==ℤℤaddadd == ((ℤℤ; 0, 1;; 0, 1; +, +, −− ; =); =)
A = A = ∪∪nn≥≥11{({(x,x,……,x,x)) ∈∈ ℤℤnn| | xx < < 22nn}. }.
AA∈∈DNPDNP∑∑ ((we can guess the binary code ofwe can guess the binary code of xx:: ((yy11,,……,,yynn))∈∈{0,1}{0,1}nn ).).
A ∉ P∑:
ExampleExample for Pfor P∑∑ ≠≠ DNPDNP∑∑
k1x=m1 no
no
noThe machine halts after p(n) steps
We cannot separate A and ℤn \ Aif 2n > p(n).
k2x=m2
yes
Only a polynomial number of solutions.
yes
kp(t)x=mp(t)
yes
D D ≙≙ digitally.digitally.
∑∑==ℤℤaddadd == ((ℤℤ; 0, 1;; 0, 1; +, +, −− ; =); =)
A = A = ∪∪nn≥≥11{({(x,x,……,x,x)) ∈∈ ℤℤnn| | xx < < 22nn}. }.
AA∈∈DNPDNP∑∑ ((we can guess the binary code ofwe can guess the binary code of xx:: ((yy11,,……,,yynn))∈∈{0,1}{0,1}nn ).).
AA ∉∉ PP∑∑::
ExampleExample for Pfor P∑∑ ≠≠ DNPDNP∑∑
k1x=m1 no
no
noThe machine halts after p(n) steps
We cannot separate AA andand ℤℤnn \\ AAif if 22nn > > p(n).
k2x=m2
yes
Only a polynomial number of solutions.
yes kp(t)x=mp(t)
yes
D D ≙≙ digitally.digitally.
DECDECΣΣ ,, PPΣΣ , NP, NPΣΣ
The size of an input The size of an input ((xx11,,……, , xxnn)):: nn..Every Every uu∈∈ UU can be stored in one register.can be stored in one register.
The execution of any instruction:The execution of any instruction: one time unitone time unit (one step)(one step)..The execution of one operation The execution of one operation ≙≙ one time unit.one time unit.
Computation in polynomial time:Computation in polynomial time: output after output after pp((nn)) stepsstepsfor any input for any input ((xx11 ,,……, , xxnn)) and some polynomial and some polynomial pp..
PPΣΣ⊆⊆ NPNPΣΣPPΣΣ⊆⊆ DECDECΣΣNPNPΣΣ⊈⊈DECDECΣΣ ⇒⇒ PPΣΣ ≠≠ NPNPΣΣ
NPNP--complete problemscomplete problems
The Satisfiability ProblemThe Satisfiability Problem
The NPThe NP--complete problem recognized by a usual universal machinecomplete problem recognized by a usual universal machine
SATSATΣΣ = {(= {(xx,, codecode((ψψ )))) ∈∈ U U ∞∞| | ψψ quantifierquantifier -- freefree ((¬¬, , ∨∨, , ∧∧))-- formulae formulae && ΣΣ ⊨⊨ ∃∃YY ψψ ((xx,, YY )} )}
UNIUNIΣΣ = {= {((bb,,……, , bb,, xx11 ,,……,, xxnn,, CodeCode((MM )))) ∈∈ U U tt++nn++kk| | MM is a nonis a non--deterministic deterministic ∑∑--machinemachine&& MM acceptsaccepts ((xx11 ,,……,, xxnn)) within within tt stepssteps} } ⊆⊆ U U ∞∞
—————
UNIUNIΣΣ
The meaning The meaning of these NPof these NP--complete problemscomplete problems
A5
The class NP∑
A4
A3
A2
SATSATΣΣ
A1
—————
UNIUNIΣΣ
The meaning The meaning of these NPof these NP--complete problemscomplete problems
Any problem can be reduced toAny problem can be reduced to SATSATΣΣ and toand to UNIUNIΣΣ in polynomial time.in polynomial time.
A5
The class NP∑
—pol→
← pol —
—pol→
A4
A3
A2
SATSATΣΣ
A1
←pol —
—pol→
—pol→
—————
UNIUNIΣΣ
The meaning The meaning of these NPof these NP--complete problemscomplete problems
Any problem can be reduced toAny problem can be reduced to SATSATΣΣ and toand to UNIUNIΣΣ in polynomial time.in polynomial time.
A5
The class NP∑
—pol→
—pol→
← pol —
—pol→
A4
A3
A2
SATSATΣΣ
A1—pol→
—pol→
—pol→
—————————pol —————→
——
——
pol ——
-—→
←pol —
SATSATΣΣ∈∈ NPNPΣΣ . . SATSATΣΣ isis NPNPΣΣ--complete.complete.
SATSATΣΣ∈∈ PPΣΣ ⇒⇒ PPΣΣ = = NPNPΣΣ
SATSATΣΣ∉∉ DECDECΣΣ ⇒⇒ PPΣΣ ≠≠ NPNPΣΣ
UNIUNIΣΣ∈∈ NPNPΣΣ . . UNIUNIΣΣ isis NPNPΣΣ--complete.complete.
UNIUNIΣΣ∈∈ PPΣΣ ⇒⇒ PPΣΣ = = NPNPΣΣ
UNIUNIΣΣ∉∉ DECDECΣΣ ⇒⇒ PPΣΣ ≠≠ NPNPΣΣ
Properties of Properties of SATSATΣΣ and and UNIUNIΣΣ
Oracle query:Oracle query:
ll: : if if ((ZZ11,,……, , ZZII11)) ∈∈ B B then goto then goto ll1 1 else goto else goto ll2 2 ;;
The length can be computedThe length can be computed by by II11≔≔ 1; 1; II11≔≔ II1 1 + 1; + 1; ……..
B B oracle, oracle, B B ⊆⊆ UU∞∞ = = ∪∪n n ≥≥11UU n n
We will define oracles such thatWe will define oracles such that
PPΣΣQQ ≠≠ NPNPΣΣ
QQ,,
PPΣΣOO = = NPNPΣΣ
OO..
Oracle machinesOracle machines
UU infinite, infinite, a finite number of operations and relations,a finite number of operations and relations,
{{αα11, , αα22, , αα33,...} ,...} ⊆⊆ U U enumerable enumerable andand decidabledecidable..
Q Q = = QQΣΣ = { (= { (αα tt ,, xx, , CodeCode((M M )) | )) |
xx ∈∈ U U ∞∞ & & MM is a deterministic is a deterministic ∑∑--machinemachine
& & MM((xx))↓↓tt} }
MM acceptsaccepts x =x = ((xx1 1 ,,……, , xxnn) ) ∈∈ UU∞∞ withinwithin tt steps.steps.
Proposition: Proposition: HHΣΣ ∈∈ NPNPΣΣQQ \\ PPΣΣ
QQ. . ((PPΣΣQ Q ⊆⊆ DECDECΣΣ))
An oracleAn oracle QQ with with PPΣΣQQ ≠≠ NPNPΣΣ
Q Q
Using the undecidability of the Halting problem Using the undecidability of the Halting problem HHΣΣ
A universal oracle:A universal oracle:
∈∈ U U t t
OO = = OOΣΣ = { (= { (bb,,……, , bb,, xx, , CodeCode((M M )) | )) |
xx ∈∈ U U ∞∞ & & MM is a is a nonnon--deterministicdeterministic ∑∑--machinemachine usingusing OO
& & MM((xx))↓↓tt} }
(cp. also Baker, Gill, and Solovay; Emerson; ... for Turing mach(cp. also Baker, Gill, and Solovay; Emerson; ... for Turing machines... )ines... )
Proposition: Proposition: PPΣΣOO = = NPNPΣΣ
OO ..
An oracleAn oracle OOΣΣ with with PPΣΣOOΣΣ = = NPNPΣΣ
OOΣΣ
Structures over stringsStructures over strings
ΣΣ = = ((U*U* ; ; εε, , aa, , bb,, cc33,,……, , ccuu ; ; addadd, , subsubll, , subsubrr, , ff11,,……, , ffvv ; ; RR11,,……,,RRww, =, =))
((dd11,...,,..., ddkk) ) ∈∈ UU k k ⊂⊂ UU∞∞ stored instored in kk registersregisters
s = ds = d1 1 ······ ddk k ∈∈ U*U* stored in stored in oneone registerregister
d d ∈∈ UU
addadd((ss, , dd) = ) = ssdd subsubll((sdsd) = ) = s s subsubrr((sdsd) = ) = dd
An oracleAn oracle OOΣΣ containing only tuples of length 1containing only tuples of length 1with with PPΣΣ
OOΣΣ = = NPNPΣΣOOΣΣ ??
!!
Recall: Recall: PPΣΣOOΣΣ = = NPNPΣΣ
OOΣΣ and and PPΣΣQQΣΣ ≠≠ NPNPΣΣ
QQΣΣ forfor
OOΣΣ = { (= { (bb,,……, , bb,, xx, , CodeCode((M M )) | )) | xx ∈∈ ((UU**))∞∞& & MM is a nonis a non--deterministic deterministic ∑∑--machine usingmachine using OOΣΣ & & MM((xx))↓↓tt} }
QQΣΣ = { (= { (bb······bb,, xx, , CodeCode((M M )) | )) | xx ∈∈ ((UU**))∞∞& & MM is a deterministic is a deterministic ∑∑--machinemachine & & MM((xx))↓↓tt} }
Theorem: Theorem: There isThere is notnot an oracle an oracle OO with with
bb ······bb ··string(string(xx)) ·· string(string(CodeCode((M M )) )) ∈∈ OO⇔⇔ xx ∈∈ ((UU**))∞∞
& & MM is a nonis a non--deterministic deterministic ∑∑--machine usingmachine using OO& & MM((xx))↓↓t t ..
An oracleAn oracle OOΣΣ containing only tuples of length 1containing only tuples of length 1with with PPΣΣ
OOΣΣ = = NPNPΣΣOOΣΣ ??
t t ××
t t ××
No set !
An additional relation An additional relation RRon on paddedpadded codescodes
of the elements of a universal oracle of the elements of a universal oracle OOwith with PPΣΣ
OO = = NPNPΣΣOO
Binary treesBinary treeswith decidable identity with decidable identity
relationrelation(Ga(Gaßßner, Dagstuhl 2004)ner, Dagstuhl 2004)
StringsStringswith operations for with operations for
adding and deleting the adding and deleting the last characterlast character
(Ga(Gaßßner, CiE 2007)ner, CiE 2007)
Structures with P = NP Structures with P = NP
P = N
Pfor
P = NPfor
The idea The idea -- similar treessimilar trees
A tree of computation paths The paths corresponding to the strings satisfying R
The description of UNIThe description of UNIΣΣRR by a treeby a tree
dk dk−1 dk−2 ··· d2 d1
≙ d1··· dk−1dk∈ U*
The description of UNIThe description of UNIΣΣRR by a treeby a tree
dk dk−1 dk−2 ··· d2 d1
≙ d1··· dk−1dk∈ U*
in UNIΣR∩ (U*)k
in UNIΣR∩ (U*)k+1
in UNIΣR∩ (U*)k+2
The codes of the tuples
SomeSome R R with with UNIUNIΣΣRR ∈∈ DECDECΣΣRR
RR((‹‹bbtt, , xx11,..., ,..., xxnn, , CodeCode((MM))››dbldbl)) == truetrue
iff iff ((bbtt, , xx11,..., ,..., xxnn, , CodeCode((MM)))) ∈∈ UNIUNIΣΣRR
a|‹bt, x1,..., xn,Code(M)›|
‹‹ss11,..., ,..., sskk›› ∈∈ U* is the code ofis the code of ((ss11,..., ,..., sskk) ) ∈∈((U*)kk
‹bt, x1,..., xn,Code(M)›
ss ∈∈ U* ⇒⇒ ssdbldbl ==df df ssaa||ss|| ∈∈ U*
The codes:
SomeSome R R with with UNIUNIΣΣRR ∈∈ DECDECΣΣRR
RR((‹‹bbtt, , xx11,..., ,..., xxnn, , CodeCode((MM))››dbldbl)) == truetrue
iff iff ((bbtt, , xx11,..., ,..., xxnn, , CodeCode((MM)))) ∈∈ UNIUNIΣΣRR
a|‹bt, x1,..., xn,Code(M)›|
‹‹ss11,..., ,..., sskk›› ∈∈ U* is the code ofis the code of ((ss11,..., ,..., sskk) ) ∈∈((U*)kk
‹bt, x1,..., xn,Code(M)›
ss ∈∈ U* ⇒⇒ ssdbldbl ==df df ssaa||ss|| ∈∈ U*
The codes:
⇨ PaddingPadding of strings(by doubling the length)
ΣΣ == (( U U ; ; cc11 ,,……, , ccuu ; ; ff11,,……, , ffvv ; ; RR11,,……, , RRww , , ==)),,
ΣΣRR= = ((U*U* ; ; εε, , aa, , bb,, cc1 1 ,,……, , ccu u ; ; addadd, , subsubl l , , subsubr r , , ff11'',,……, , ffvv''; ; RR11'',,……, , RRww'', , R R , , ==))
The new operations for slow (!!!) computationThe new operations for slow (!!!) computation
addadd((ss, , dd) =) = sd subsd subll((sdsd) = ) = s subs subrr((sdsd) = ) = dd s s ∈∈ U*U*,, dd∈∈ UU
d dk dk−1 ··· d2 d1
s = d1··· dk−1dk
add(s, d) = d1··· dkd
s
A tree of computation paths The paths corresponding to the strings satisfying R
Similar treesSimilar trees
A tree of computation paths The paths corresponding to the strings satisfying R
contains the inputs traversing the red path
Similar treesSimilar trees
Similar treesSimilar trees
contains the codes of the k-tuples belonging toUNIΣR
∩ (U*)k
A tree of computation paths The paths corresponding to the strings satisfying R
contains the inputs traversing the red path
Trees and polynomial timeTrees and polynomial time
A tree of computation paths The paths corresponding to the strings satisfying R
cutcuta
cutcut
Trees and polynomial timeTrees and polynomial time
A tree of computation paths The paths corresponding to the strings satisfying R
a
We cannot distinguish between the codes of the tuples which satisfy Rand which begin here
We cannot distinguish between the inputs traversing these paths
cutcut cutcut
PPΣΣRR = = NPNPΣΣRR
Proof of Proof of PPΣΣRR = = NPNPΣΣR.R. by a reduction. by a reduction.
UNI UNI =={({(bb,..., ,..., b, b, xx11,..., ,..., xxnn,, CodeCode((M M )) | )) | xx ∈∈ ((U*U*))∞∞ & & MM is is NPNPΣΣRR--mach.mach. & & MM((xx))↓↓tt}}
UNIUNI = RES= RES--UNIUNI (the length of guesses can be restricted)(the length of guesses can be restricted)
Output: Output: a a / / bb
SUBSUB--UNIUNI ((short input strings)short input strings) SUBSUB--UNIUNI⊂⊂ RESRES--UNIUNI
-- Transform the input tuple into a string, Transform the input tuple into a string, -- double the length,double the length,- check the new string by means of check the new string by means of RR..
-- Decompose {Decompose {xx11,..., ,..., xxnn} into equivalence classes, } into equivalence classes, -- replace replace xx11,..., ,..., xxnn by suitable short strings by suitable short strings
such that possible chains are not destroyed.such that possible chains are not destroyed.
PPΣΣRR = = NPNPΣΣRR
Proof of Proof of PPΣΣRR = = NPNPΣΣR.R. by a reduction. by a reduction.
UNI UNI =={({(bb,..., ,..., b, b, xx11,..., ,..., xxnn,, CodeCode((M M )) | )) | xx ∈∈ ((U*U*))∞∞ & & MM is is NPNPΣΣRR--mach.mach. & & MM((xx))↓↓tt}}
UNIUNI = RES= RES--UNIUNI (the length of guesses can be restricted)(the length of guesses can be restricted)
Output: Output: a a / / bb
SUBSUB--UNIUNI ((short input strings)short input strings) SUBSUB--UNIUNI⊂⊂ RESRES--UNIUNI
-- Transform the input tuple into a string, Transform the input tuple into a string, -- double the length,double the length,- check the new string by means of check the new string by means of RR..
-- Decompose {Decompose {xx11,..., ,..., xxnn} into equivalence classes, } into equivalence classes, -- replace replace xx11,..., ,..., xxnn by suitable short strings by suitable short strings
such that possible chains are not destroyed.such that possible chains are not destroyed.
PPΣΣRR = = NPNPΣΣRR
Proof of Proof of PPΣΣRR = = NPNPΣΣR.R. by a reduction. by a reduction.
UNI UNI =={({(bb,..., ,..., b, b, xx11,..., ,..., xxnn,, CodeCode((M M )) | )) | xx ∈∈ ((U*U*))∞∞ & & MM is is NPNPΣΣRR--mach.mach. & & MM((xx))↓↓tt}}
UNIUNI = RES= RES--UNIUNI (the length of guesses can be restricted)(the length of guesses can be restricted)
Output: Output: a a / / bb
SUBSUB--UNIUNI ((short input strings)short input strings) SUBSUB--UNIUNI⊂⊂ RESRES--UNIUNI
-- Transform the input tuple into a string, Transform the input tuple into a string, -- double the length,double the length,- check the new string by means of check the new string by means of RR..
-- Decompose {Decompose {xx11,..., ,..., xxnn} into equivalence classes, } into equivalence classes, -- replace replace xx11,..., ,..., xxnn by suitable short strings by suitable short strings
such that possible chains are not destroyed.such that possible chains are not destroyed.
PPΣΣRR = = NPNPΣΣRR
Proof of Proof of PPΣΣRR = = NPNPΣΣR.R. by a reduction. by a reduction.
UNI UNI =={({(bb,..., ,..., b, b, xx11,..., ,..., xxnn,, CodeCode((M M )) | )) | xx ∈∈ ((U*U*))∞∞ & & MM is is NPNPΣΣRR--mach.mach. & & MM((xx))↓↓tt}}
UNIUNI = RES= RES--UNIUNI (the length of guesses can be restricted)(the length of guesses can be restricted)
Output: Output: a a / / bb
SUBSUB--UNIUNI ((short input strings)short input strings) SUBSUB--UNIUNI⊂⊂ RESRES--UNIUNI
-- Transform the input tuple into a string, Transform the input tuple into a string, -- double the length,double the length,- check the new string by means of check the new string by means of RR..
-- Decompose {Decompose {xx11,..., ,..., xxnn} into equivalence classes, } into equivalence classes, -- replace replace xx11,..., ,..., xxnn by suitable short strings by suitable short strings
such that possible chains are not destroyed.such that possible chains are not destroyed.
Vielen Dank Vielen Dank ffüür Ihre Aufmerksamkeit.r Ihre Aufmerksamkeit.
Christine GaChristine Gaßßnerner
Greifswald.Greifswald.
Vielen Dank auchVielen Dank auchffüür die Unterstr die Unterstüützung bei der Vorbereitung von Prtzung bei der Vorbereitung von Prääsentationen ansentationen an
Gerald van den Boogaart, Volkmar Liebscher, Rainer Schimming, Gerald van den Boogaart, Volkmar Liebscher, Rainer Schimming, Michael SchMichael Schüürmann u.v.a.rmann u.v.a.
ffüür frr früühere Diskussionen anhere Diskussionen an
Mihai Prunescu, GMihai Prunescu, Güünter Asser, Pascal Koiran (nter Asser, Pascal Koiran (üüber M. P.), Dieter ber M. P.), Dieter Spreen u.v.a. Spreen u.v.a.
Berechenbarkeit Berechenbarkeit üüber algebraischen Strukturenber algebraischen Strukturen
Our goal:Our goal:A relation A relation R R allows to decide whether allows to decide whether z z ∈∈ OOΣΣ..R R can be definedcan be defined recursively.recursively.
Problems:Problems:Each relation has a fixed arity.Each relation has a fixed arity.OOΣΣ contains tuples of any length.contains tuples of any length.
For many structures: For many structures: The tuples of arbitrary length cannot be encoded by tuples of fiThe tuples of arbitrary length cannot be encoded by tuples of fixed length.xed length.
A solution: A solution: Strings.Strings.
Why do we use strings?Why do we use strings?
Our goal:Our goal:A relation A relation R R allows to decide whether allows to decide whether z z ∈∈ OOΣΣ..R R can be definedcan be defined recursively.recursively.
Problems:Problems:Each relation has a fixed arity.Each relation has a fixed arity.OOΣΣ contains tuples of any length.contains tuples of any length.
For many structures: For many structures: The tuples of arbitrary length cannot be encoded by tuples of fiThe tuples of arbitrary length cannot be encoded by tuples of fixed length.xed length.
A solution: A solution: Strings.Strings.
Why do we use strings?Why do we use strings?
Our goal:Our goal:A relation A relation R R allows to decide whether allows to decide whether z z ∈∈ OOΣΣ..R R can be definedcan be defined recursively.recursively.
Problems:Problems:Each relation has a fixed arity.Each relation has a fixed arity.OOΣΣ contains tuples of any length.contains tuples of any length.
For many structures: For many structures: The tuples of arbitrary length cannot be encoded by tuples of fiThe tuples of arbitrary length cannot be encoded by tuples of fixed length.xed length.
A solution: A solution: Strings.Strings.
Why do we use strings?Why do we use strings?
Our goal:Our goal:A relation A relation R R allows to decide whether allows to decide whether z z ∈∈ OOΣΣ..R R can be definedcan be defined recursively.recursively.
Problems:Problems:Each relation has a fixed arity.Each relation has a fixed arity.OOΣΣ contains tuples of any length.contains tuples of any length.
For many structures: For many structures: The tuples of arbitrary length cannot be encoded by tuples of fiThe tuples of arbitrary length cannot be encoded by tuples of fixed length.xed length.
A solution: A solution: Strings.Strings.
Why do we use strings?Why do we use strings?
ΣΣ = = ((U* U* ; ; εε, , aa, , bb,, cc33,,……, , ccu u ;; addadd, , subsubll, , subsubrr,, ff11,,……, , ffv v ; ; RR11,,……,,RRww, , RR,, ==))s = ds = d1 1 ······ ddk k ∈∈ U*U* stored in one registerstored in one register((dd11,...,,..., ddkk) ) ∈∈ UU k k ⊂⊂ UU∞∞ stored in stored in kk registersregisters
addadd((ss, , dd) = ) = sd sd subsubll((sdsd) = ) = s s subsubrr((sdsd) = ) = dds s ∈∈ U*U*,, dd∈∈ UU
RRi i ⊆⊆ UU nni i ⊆⊆ ((U*U*)) nni i andand RR⊆⊆ U*U*ffii((ss11, , ……, , ssmmii) ) = = εε ifif ||ssjj| >1| >1 for somefor some jj
Structures over stringsStructures over strings
d1 d2 ··· dk-1 dk d
s s = d1··· dk−1dk
sd = d1··· dkd
ΣΣ = = ((U* U* ; ; εε, , aa, , bb,, cc33,,……, , ccu u ;; addadd, , subsubll, , subsubrr,, ff11,,……, , ffv v ; ; RR11,,……,,RRww, , RR,, ==))s = ds = d1 1 ······ ddk k ∈∈ U*U* stored in one registerstored in one register((dd11,...,,..., ddkk) ) ∈∈ UU k k ⊂⊂ UU∞∞ stored in stored in kk registersregisters
addadd((ss, , dd) = ) = sdsd subsubll((sdsd) = ) = s s subsubrr((sdsd) = ) = dds s ∈∈ U*U*,, dd∈∈ UU
RRi i ⊆⊆ UU nni i ⊆⊆ ((U*U*)) nni i andand RR⊆⊆ U*U*ffii((ss11, , ……, , ssmmii) ) = = εε ifif ||ssjj| >1| >1 for somefor some jj
Structures over stringsStructures over strings
d1 d2 ··· dk-1 dk d
s s = d1··· dk−1dk
sd = d1··· dkd
ΣΣ = = ((U* U* ; ; εε, , aa, , bb,, cc33,,……, , ccu u ;; addadd, , subsubll, , subsubrr,, ff11,,……, , ffv v ; ; RR11,,……,,RRww, , RR,, ==))s = ds = d1 1 ······ ddk k ∈∈ U*U* stored in one registerstored in one register((dd11,...,,..., ddkk) ) ∈∈ UU k k ⊂⊂ UU∞∞ stored in stored in kk registersregisters
addadd((ss, , dd) = ) = sdsd subsubll((sdsd) = ) = s s subsubrr((sdsd) = ) = dds s ∈∈ U*U*,, dd∈∈ UU
RRi i ⊆⊆ UU nni i ⊆⊆ ((U*U*)) nni i andand RR⊆⊆ U*U*ffii((ss11, , ……, , ssmmii) ) = = εε ifif ||ssjj| >1| >1 for somefor some jj
Structures over stringsStructures over strings
d1 d2 ··· dk-1 dk d
s s = d1··· dk−1dk
sd = d1··· dkd
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
ss
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k . . 2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
ss
r
a 1) r = sa add(s, a) = r subl(r) =s
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
ss
r
a 1) r = sa add(s, a) = r subl(r) =s
b 2) r = sb add(s, b) = r subl(r) =s
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
ss
r
a 1) r = sa add(s, a) = r subl(r) =s
b 2) r = sb add(s, b) = r subl(r) =s
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s a
b
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s
s1
a
b
1.
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma.Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k . . 2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s
s1
a
b
1.
s2
s1
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma.Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s
s1
s2
a
b
1.
s3
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma.Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k . . 2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s
s1
s2
s3
s4
a
b
1.
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma. Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees.The maximal chains form trees. Every tree has only one minimal element.Every tree has only one minimal element.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s a
b
2.
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma.Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k . . 2.2. The maximal chains form trees. The maximal chains form trees. Every tree has only one minimal element.Every tree has only one minimal element.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s a
b
2.one minimal element
a second minimal element
a third minimal element
2.
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma.Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k . . 2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s a
b
3.one minimal element
a second minimal element
a third minimal element
Computation over stringsComputation over strings
Example:Example: ΣΣ = = ({({aa, , bb}}* * ; ; εε, , aa, , bb; ; addadd, , subsubll; =; =))
Definition:Definition: s s ⊂⊂11 r r ⇔⇔ subsubll((rr) = ) = ss..
Lemma.Lemma. For For tt steps of a machine holds:steps of a machine holds:1.1. The input values, the guesses, and the new computed values form The input values, the guesses, and the new computed values form maximal chains maximal chains
ss1 1 ⊂⊂11 ······ ⊂⊂11 ssk k ..2.2. The maximal chains form trees. Every tree has only one minimal eThe maximal chains form trees. Every tree has only one minimal element.lement.3.3. The predecessors The predecessors r r ⊂⊂11 ss11 of the minimal elementsof the minimal elements ss11 are not computed.are not computed.
Corollary: Corollary: The minimal elements can be replaced without changing the coThe minimal elements can be replaced without changing the computation path.mputation path.
s a
b
one minimal element
a second minimal element
a third minimal element
Computation over stringsComputation over strings
Our goal:Our goal:Structures Structures ΣΣ with with NPNPΣΣ⊆⊆ DECDECΣΣ ..
Problems:Problems:Arbitrary strings can be guessed.Arbitrary strings can be guessed.A new A new RR could imply Hcould imply HΣΣR R ∈∈NPNPΣΣR R \\ DECDEC ΣΣRRfor the halting problem Hfor the halting problem HΣΣR R ..
Solution: Solution: Padding strings: Padding strings:
RR((ss) ) ⇒⇒ ((∃∃r r ∈∈ U*U* )) (( s s = = rara||rr|| ).).
It allows to replace It allows to replace long inputs and guesses long inputs and guesses by short strings over by short strings over {{aa, , bb}.}.
Why do we pad the codes?Why do we pad the codes?
Our goal:Our goal:Structures Structures ΣΣ with with NPNPΣΣ⊆⊆ DECDECΣΣ ..
Problems:Problems:Arbitrary strings can be guessed.Arbitrary strings can be guessed.A new A new RR could imply Hcould imply HΣΣR R ∈∈NPNPΣΣR R \\ DECDEC ΣΣRR
for the halting problem Hfor the halting problem HΣΣR R ..
Solution: Solution: Padding strings: Padding strings:
RR((ss) ) ⇒⇒ ((∃∃r r ∈∈ U*U* )) (( s s = = rara||rr|| ).).
It allows to replace It allows to replace long inputs and guesses long inputs and guesses by short strings over by short strings over {{aa, , bb}.}.
Why do we pad the codes?Why do we pad the codes?
Our goal:Our goal:Structures Structures ΣΣ with with NPNPΣΣ⊆⊆ DECDECΣΣ ..
Problems:Problems:Arbitrary strings can be guessed.Arbitrary strings can be guessed.A new A new RR could imply Hcould imply HΣΣR R ∈∈NPNPΣΣR R \\ DECDEC ΣΣRR
for the halting problem Hfor the halting problem HΣΣR R ..
Solution: Solution: Padding strings: Padding strings:
RR((ss) ) ⇒⇒ ((∃∃r r ∈∈ U*U* )) (( s s = = rara||rr|| ).).
It allows to replace It allows to replace long inputs and guesses long inputs and guesses by short strings over by short strings over {{aa, , bb}.}.
…
…
…
…
The paths corresponding to the strings satisfying R
Why do we pad the codes?Why do we pad the codes?
Our goal:Our goal:Structures Structures ΣΣ with with NPNPΣΣ⊆⊆ DECDECΣΣ ..
Problems:Problems:Arbitrary strings can be guessed.Arbitrary strings can be guessed.A new A new RR could imply Hcould imply HΣΣR R ∈∈NPNPΣΣR R \\ DECDEC ΣΣRR
for the halting problem Hfor the halting problem HΣΣR R ..
Solution: Solution: Padding strings: Padding strings:
RR((ss) ) ⇒⇒ ((∃∃r r ∈∈ U*U* )) (( s s = = rara||rr|| ).).
It allows to replace It allows to replace long inputs and guesses long inputs and guesses by short strings over by short strings over {{aa, , bb}.}.
The paths corresponding to the strings satisfying R
…
…
…
…
∈U(=k)
∈U(=k+1)
Compare talk at CiE 2006.
U(=m) ={r : |r |= m}
k
Why do we pad the codes?Why do we pad the codes?
Our goal:Our goal:Structures Structures ΣΣ with with NPNPΣΣ⊆⊆ DECDECΣΣ ..
Problems:Problems:Arbitrary strings can be guessed.Arbitrary strings can be guessed.A new A new RR could imply Hcould imply HΣΣR R ∈∈NPNPΣΣR R \\ DECDEC ΣΣRR
for the halting problem Hfor the halting problem HΣΣR R ..
Solution: Solution: Padding strings: Padding strings:
RR((ss) ) ⇒⇒ ((∃∃r r ∈∈ U*U* )) (( s s = = rara||rr|| ).).
It allows to replace It allows to replace long inputs and guesses long inputs and guesses by short strings over by short strings over {{aa, , bb}.}.
The paths corresponding to the strings satisfying R
strings satisfying Rstrings satisfying R
Why do we pad the codes?Why do we pad the codes?
Our goal:Our goal:Structures Structures ΣΣ with with NPNPΣΣ⊆⊆ DECDECΣΣ ..
Problems:Problems:Arbitrary strings can be guessed.Arbitrary strings can be guessed.A new A new RR could imply Hcould imply HΣΣR R ∈∈NPNPΣΣR R \\ DECDEC ΣΣRR
for the halting problem Hfor the halting problem HΣΣR R ..
Solution: Solution: Padding strings: Padding strings:
RR((ss) ) ⇒⇒ ((∃∃r r ∈∈ U*U* )) (( s s = = rara||rr|| ).).
It allows to replace It allows to replace long inputs and guesses long inputs and guesses by short strings over by short strings over {{aa, , bb}.}.
The paths corresponding to the strings satisfying R
strings satisfying Rstrings satisfying R
r1
r ∈ U *
Why do we pad the codes?Why do we pad the codes?
ΣΣ == ((U* U* ; ; aa, , bb, , cc3 3 ,,……, , ccu u ; ; ff1 1 ,,……, , ffv v ; ; RR1 1 ,,……, , RRw w , =) , =) ΣΣRR = Expansion of = Expansion of ΣΣ by by RR
A universal oracle:A universal oracle:
Let Let WWΣΣ ⊂⊂ ((U*U*))∞∞ withwith PPΣΣWWΣΣ = = NPNPΣΣ
WWΣΣ (derived from (derived from OOΣΣ ))..
The relation The relation RR::
rr11······ rrk k aa ||rr11······ rrkk| | ∈∈ RR ⇔⇔ ((rr11,...,,..., rrk k ) ) ∈∈ WWΣΣ
Theorem: Theorem: PPΣΣRR = = NPNPΣΣR R ..
The new relation The new relation RR
ΣΣ == ((U* U* ; ; aa, , bb, , cc3 3 ,,……, , ccu u ; ; ff1 1 ,,……, , ffv v ; ; RR1 1 ,,……, , RRw w , =) , =) ΣΣRR = Expansion of = Expansion of ΣΣ by by RR
A universal oracle:A universal oracle:
Let Let WWΣΣ ⊂⊂ ((U*U*))∞∞ withwith PPΣΣWWΣΣ = = NPNPΣΣ
WWΣΣ (derived from (derived from OOΣΣ ))..
The relation The relation RR::
rr11······ rrk k aa ||rr11······ rrkk| | ∈∈ RR ⇔⇔ ((rr11,...,,..., rrk k ) ) ∈∈ WWΣΣ
Theorem: Theorem: PPΣΣRR = = NPNPΣΣR R ..
The new relation The new relation RR
ΣΣ == ((U* U* ; ; aa, , bb, , cc3 3 ,,……, , ccu u ; ; ff1 1 ,,……, , ffv v ; ; RR1 1 ,,……, , RRw w , =) , =) ΣΣRR = Expansion of = Expansion of ΣΣ by by RR
A universal oracle:A universal oracle:
Let Let WWΣΣ ⊂⊂ ((U*U*))∞∞ withwith PPΣΣWWΣΣ = = NPNPΣΣ
WWΣΣ (derived from (derived from OOΣΣ ))..
The relation The relation RR::
rr11······ rrk k aa ||rr11······ rrkk| | ∈∈ RR ⇔⇔ ((rr11,...,,..., rrk k ) ) ∈∈ WWΣΣ
Theorem: Theorem: PPΣΣRR = = NPNPΣΣR R ..
The new relation The new relation RR
Vielen Dank Vielen Dank ffüür Ihre Aufmerksamkeit.r Ihre Aufmerksamkeit.
Christine GaChristine Gaßßnerner
Greifswald.Greifswald.
Vielen Dank auchVielen Dank auchffüür die Unterstr die Unterstüützung bei der Vorbereitung von Prtzung bei der Vorbereitung von Prääsentationen ansentationen an
Gerald van den Boogaart, Volkmar Liebscher, Rainer Schimming, Gerald van den Boogaart, Volkmar Liebscher, Rainer Schimming, Michael SchMichael Schüürmann u.v.a.rmann u.v.a.
ffüür frr früühere Diskussionen anhere Diskussionen an
Mihai Prunescu, GMihai Prunescu, Güünter Asser, Pascal Koiran (nter Asser, Pascal Koiran (üüber M. P.), Dieter ber M. P.), Dieter Spreen u.v.a. Spreen u.v.a.
Berechenbarkeit Berechenbarkeit üüber algebraischen Strukturenber algebraischen Strukturen