3. Übung, theoretische grundlagen der informatik · 3. jonas sauer 3. ubung, theoretische...

79
Theoretische Grundlagen der Informatik 3. ¨ Ubungstermin · 14. November 2019 Jonas Sauer KIT – Die Forschungsuniversit¨ at in der Helmholtz-Gemeinschaft I NSTITUT F ¨ UR T HEORETISCHE I NFORMATIK · L EHRSTUHL ALGORITHMIK www.kit.edu ¨ Ubung

Upload: others

Post on 18-Oct-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Theoretische Grundlagen der Informatik

3. Ubungstermin · 14. November 2019Jonas Sauer

KIT – Die Forschungsuniversitat in der Helmholtz-Gemeinschaft

INSTITUT FUR THEORETISCHE INFORMATIK · LEHRSTUHL ALGORITHMIK

www.kit.edu

Ubung

Page 2: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Gliederung

Inhalt

Erweiterungen

Entscheidbarkeit

Turing-Maschinen

BeispieleWerkzeugkasten

1

Page 3: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

2

Page 4: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

Q, endliche ZustandsmengeΣ, endliches Eingabealphabett /∈ Σ, BlanksymbolΓ , endliches Bandalphabet mit Σ ∪ {t} ⊆ Γs ∈ Q, Startzustandδ : Q × Γ → Q × Γ × {L, R, N}, UbergangsfunktionF ⊆ Q, Menge von Endzustanden

t # t1 1 1 1 1 1

EndlicheKontrolle

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R

0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

3

Page 5: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

t # t1 1 1 1 1 1

EndlicheKontrolle

Q = {q0, q1, q2, q3, q4, q5}Σ = {0, 1, #}Γ = Σ ∪ {t, 0, 1}Startzustand q0

Ubergangsfunktion δ : Q × Γ → Q × Γ × {L, R, N}Endzustand q5 ∈ Q

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R

0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

3

Page 6: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 7: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 8: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 9: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 10: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 11: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 12: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 13: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 14: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 15: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 16: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 17: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 18: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 19: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 20: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 21: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

t(q0)111#111tt1(q0)11#111tt11(q0)1#111t. . .

t111#111(q0)tt111#11(q1)1tt111#1(q2)1t

Turing-Maschinen

t111#(q2)11tt111(q2)#11tt11(q3)1#11tt1(q4)10#11tt(q4)100#11tt(q4) t 000#11tt1(q0)000#11t

. . .

t1000#11(q0)tt1000#1(q1)1tt1000#(q2)1tt1000(q2)#1tt100(q3)0#1tt10(q3)00#1t

t101(q0)0#1t. . .

t1010#1(q0)tt1010#(q1)1tt1010(q2)#tt101(q3)0#tt10(q3)10#t

t1(q3)010#tt11(q0)10#t. . .

t1110#(q0)tt1110(q1)#tt1110(q5)t

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

4

Page 22: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

Ist die Turing-Maschine vollstandig beschrieben?

Q, endliche ZustandsmengeΣ, endliches Eingabealphabett /∈ Σ, BlanksymbolΓ , endliches Bandalphabet mit Σ ∪ {t} ⊆ Γ

s ∈ Q, Startzustandδ : Q × Γ → Q × Γ × {L, R, N}, UbergangsfunktionF ⊆ Q, Menge von Endzustanden

0|1|R

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

5

Page 23: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

0|0|N1|1|N#|#|N0|0|N1|1|N

t| t |N

(∗)

Ist die Turing-Maschine vollstandig beschrieben?f

t| t |N0|0|N1|1|N

t| t |N0|0|N1|1|N t| t |N

#|#|N #|#|N0|0|N1|1|N

Q, endliche ZustandsmengeΣ, endliches Eingabealphabett /∈ Σ, BlanksymbolΓ , endliches Bandalphabet mit Σ ∪ {t} ⊆ Γ

s ∈ Q, Startzustandδ : Q × Γ → Q × Γ × {L, R, N}, UbergangsfunktionF ⊆ Q, Menge von Endzustanden

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

0|0|N

(∗)

(∗)

5

Page 24: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

0|0|N1|1|N#|#|N0|0|N1|1|N

t| t |N

(∗)

Ist die Turing-Maschine vollstandig beschrieben?f

t| t |N0|0|N1|1|N

t| t |N0|0|N1|1|N t| t |N

#|#|N #|#|N0|0|N1|1|N

Q, endliche ZustandsmengeΣ, endliches Eingabealphabett /∈ Σ, BlanksymbolΓ , endliches Bandalphabet mit Σ ∪ {t} ⊆ Γ

s ∈ Q, Startzustandδ : Q × Γ → Q × Γ × {L, R, N}, UbergangsfunktionF ⊆ Q, Menge von Endzustanden

Was berechnet die Turing-Maschine?

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

t| t |L

0|0|N

(∗)

(∗)

5

Page 25: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

t| t |L

1|1|L

t|1|R

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

#| t |Lq5

3 min Zeit

Wie andern, damit Addition von allgemeinen Eingaben funktioniert?Beispiel: 100#10110

6

Page 26: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Turing-Maschinen

q0 q1 q2 q3 q4t| t |L

1| t |L

0|0|L1|1|L

#|#|L

0|0|L1|1|L

1|0|L

1|0|L

0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

t|1|R#| t |L

q5

q6q7

0| t |L

1|1|L0|0|L

#|#|L

1|1|L0|0|L

0|0|L1|1|Lt|0|L

q0 q1 q2 q3 q41| t |L

0|0|L1|1|L

#|#|L

0|0|L

1|0|L

1|0|L

0|1|R0|1|R

0|0|R1|1|R#|#|R0|0|R1|1|R

#| t |Lq5 t|1|R

Wie andern, damit Addition von allgemeinen Eingaben funktioniert?Beispiel: 100#10110

6

Page 27: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterungen von Turing-Maschinen

7

Page 28: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Spuren

Turing-Maschine mit k Spuren:Teile das Eingabeband in k Spuren ein.Idee:

Formal: Erweitere das Bandalphabet um k -dimensionale Vektoren:

Γneu = Γ k

Beispiel: Addition zweier Binarzahlen.

111111100011ttt

t

tt

Endliche Kontrolle

tttttt

8

Page 29: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Spuren

Turing-Maschine mit k Spuren:Teile das Eingabeband in k Spuren ein.Idee:

Formal: Erweitere das Bandalphabet um k -dimensionale Vektoren:

Γneu = Γ k

Beispiel: Addition zweier Binarzahlen.

111111100011ttt

t

tt

Endliche Kontrolle

ttttttVerwende erste Spur fur ersten Summand, zweite Spur fur zweitenSummand und dritte Spur fur Ergebnis.

8

Page 30: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Spuren

Turing-Maschine mit k Spuren:Teile das Eingabeband in k Spuren ein.Idee:

Formal: Erweitere das Bandalphabet um k -dimensionale Vektoren:

Γneu = Γ k

Beispiel: Addition zweier Binarzahlen.

111111100011ttt

t

tt

Endliche Kontrolle

ttttttVerwende erste Spur fur ersten Summand, zweite Spur fur zweitenSummand und dritte Spur fur Ergebnis.Verwende Schulmethode fur Addition: Kopf lauft von links nach rechts.

8

Page 31: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Spuren

Turing-Maschine mit k Spuren:Teile das Eingabeband in k Spuren ein.Idee:

Formal: Erweitere das Bandalphabet um k -dimensionale Vektoren:

Γneu = Γ k

Beispiel: Addition zweier Binarzahlen.

111111100011ttt

t

tt

Endliche Kontrolle

ttttttVerwende erste Spur fur ersten Summand, zweite Spur fur zweitenSummand und dritte Spur fur Ergebnis.Verwende Schulmethode fur Addition: Kopf lauft von links nach rechts.

Speichere Ubertrag in Zustand.

8

Page 32: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Spuren

Turing-Maschine mit k Spuren:Teile das Eingabeband in k Spuren ein.Idee:

Formal: Erweitere das Bandalphabet um k -dimensionale Vektoren:

Γneu = Γ k

Beispiel: Addition zweier Binarzahlen.

111111100011ttt

t

tt

Endliche Kontrolle

ttttttVerwende erste Spur fur ersten Summand, zweite Spur fur zweitenSummand und dritte Spur fur Ergebnis.Verwende Schulmethode fur Addition: Kopf lauft von links nach rechts.

Speichere Ubertrag in Zustand.

Ist eine Turing-Maschine mit k ≥ 2 Spuren machtiger als eineTuring-Maschine mit einer Spur?

8

Page 33: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Bander

Turing-Maschine mit k Bandern:Es gibt k Bander und auf jedem Band arbeitet eigener Kopf.Idee:

111111 tt

10001 tt

tt t0110

1

0

Endliche Kontrolle

Formal: Passe Ubergangsfunktion δ an.

δ : Q × Γ k → Q × Γ k × {R, L, N}k

1. Band:

2. Band:

3. Band:

9

Page 34: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Mehrere Bander

Turing-Maschine mit k Bandern:Es gibt k Bander und auf jedem Band arbeitet eigener Kopf.Idee:

111111 tt

10001 tt

tt t0110

1

0

Endliche Kontrolle

Formal: Passe Ubergangsfunktion δ an.

δ : Q × Γ k → Q × Γ k × {R, L, N}k

1. Band:

2. Band:

3. Band:

Ist eine Turing-Maschine mit mehreren Bandern machtiger als eineTuring-Maschine mit einem Band?

9

Page 35: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis:

10

Page 36: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis:

3 min Zeit

10

Page 37: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis: Die Turing-MaschineM′ verwendet 2k Spuren.

Nach Simulation des t-ten Schritts fur 1 ≤ t ≤ t(n) gilt:

10

Page 38: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis: Die Turing-MaschineM′ verwendet 2k Spuren.

Nach Simulation des t-ten Schritts fur 1 ≤ t ≤ t(n) gilt:

Die ungeraden Spuren 1, 3, 5, . . . , 2k − 1 enthalten Inhalt der Bander 1 . . . , k von M.

Auf den geraden Spuren 2, 4, . . . , 2k ist die Kopfposition auf diesen Bandern mit demZeichen # markiert.

111111 tt

10001 tt 1

1. Band:

2. Band:

11111 tttt#tt tt

ttt#t tt1001 tt 1

1t

t0

10

Page 39: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis:

Jeder Rechenschritt vonM wird durchM′ wie folgt simuliert:

Der Kopf vonM′ steht auf dem linkesten #.

11

Page 40: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis:

Jeder Rechenschritt vonM wird durchM′ wie folgt simuliert:

Der Kopf vonM′ steht auf dem linkesten #.

1. Schritt: Der Kopf vonM′ lauft nach rechts bis zum rechtesten # und merkt sich in einemendlichen Speicher (→ eigener Zustand), was die k Kopfe vonM lesen wurden.

11

Page 41: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis:

Jeder Rechenschritt vonM wird durchM′ wie folgt simuliert:

Der Kopf vonM′ steht auf dem linkesten #.

1. Schritt: Der Kopf vonM′ lauft nach rechts bis zum rechtesten # und merkt sich in einemendlichen Speicher (→ eigener Zustand), was die k Kopfe vonM lesen wurden.

2. Schritt: Der Kopf von M′ lauft nach links und an den entsprechenden Markierungenwerden die Bandbeschriftungen so verandert, wie esM tun wurde.Die Positionsmarkierungen werden ggf. nach links bzw. rechts verschoben.

Merke: Zustand, in dem sich nunM befindet.

11

Page 42: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Beweis:

Jeder Rechenschritt vonM wird durchM′ wie folgt simuliert:

Der Kopf vonM′ steht auf dem linkesten #.

1. Schritt: Der Kopf vonM′ lauft nach rechts bis zum rechtesten # und merkt sich in einemendlichen Speicher (→ eigener Zustand), was die k Kopfe vonM lesen wurden.

2. Schritt: Der Kopf von M′ lauft nach links und an den entsprechenden Markierungenwerden die Bandbeschriftungen so verandert, wie esM tun wurde.Die Positionsmarkierungen werden ggf. nach links bzw. rechts verschoben.

Merke: Zustand, in dem sich nunM befindet.

3. Schritt: Der Kopf vonM′ lauft zum linkesten #.

⇒ Ausgangssituation fur nachsten Berechnungsschritt t + 1.

11

Page 43: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

12

Page 44: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Laufzeit:

t(n) beschrankt die Breite des betrachteten Bandes vonM′.

Jede Rechenschritt von t(n) wird in O(t(n)) Zeit simuliert.

⇒ M′ simuliertM in O(t2(n)) Zeit.

12

Page 45: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Erweiterte Turing-Maschinen

Satz: Eine k -Band-Turing-Maschine M, die mit Rechenzeit t(n) undPlatz s(n) auskommt, kann von einer Turing-MaschineM′ mit ZeitbedarfO(t2(n)) und Platzbedarf O(s(n)) simuliert werden.

Laufzeit:

t(n) beschrankt die Breite des betrachteten Bandes vonM′.

Jede Rechenschritt von t(n) wird in O(t(n)) Zeit simuliert.

⇒ M′ simuliertM in O(t2(n)) Zeit.

Speicherverbrauch:

M′ braucht nur um einen konstanten Faktor mehr Speicher:Anzahl Spuren vonM′ = 2· Anzahl Bander vonM.

12

Page 46: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit

13

Page 47: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Definitionen

es eine Turing-Maschine gibt, dieEine Sprache L ⊆ Σ∗ heißt semi-entscheidbar, wenn

es eine Turing-Maschine gibt, dieEine Sprache L ⊆ Σ∗ heißt entscheidbar, wenn

eine Eingabe w genau dann akzeptiert, wenn w ∈ L gilt.auf allen Eingaben stoppt und

alleSprachen

semi-entscheidbareSprachen

eine Eingabe w genau dann akzeptiert, wenn w ∈ L gilt.

L wird

”erkannt“

L wird

”entschieden“

entscheidbareSprachen

14

Page 48: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Zusammenhange

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

15

Page 49: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Zusammenhange

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Beweis, links nach rechts:L entscheidbar Lc entscheidbar

L semi-entscheidbar Lc semi-entscheidbar⇓ ⇓

einfache Modifikationeiner TMM fur L

(siehe VL)15

Page 50: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Zusammenhange

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Beweis, rechts nach links:L semi-entscheidbar Turing-MaschineM1 akzeptiert bei w ∈ LLc semi-entscheidbar Turing-MaschineM2 akzeptiert bei w /∈ L

15

Page 51: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Zusammenhange

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Beweis, rechts nach links:L semi-entscheidbar Turing-MaschineM1 akzeptiert bei w ∈ LLc semi-entscheidbar Turing-MaschineM2 akzeptiert bei w /∈ LKonstruiere 2-Band-Turing-MaschineM:

FuhreM1 auf Band 1 undM2 auf Band 2 aus.Schreibe w auf beide Bander.

Akzeptiere, wennM1 akzeptiert. Lehne ab, wennM2 akzeptiert.

15

Page 52: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Zusammenhange

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Beweis, rechts nach links:L semi-entscheidbar Turing-MaschineM1 akzeptiert bei w ∈ LLc semi-entscheidbar Turing-MaschineM2 akzeptiert bei w /∈ LKonstruiere 2-Band-Turing-MaschineM:

FuhreM1 auf Band 1 undM2 auf Band 2 aus.Schreibe w auf beide Bander.

Akzeptiere, wennM1 akzeptiert. Lehne ab, wennM2 akzeptiert.

M entscheidet L

15

Page 53: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Uberblick

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Korollar: L ist entscheidbar ⇐⇒ Lc ist entscheidbar

Frage: L1, L2 entscheidbar ⇒ L1 ∪ L2, L1 ∩ L2 entscheidbar?

16

Page 54: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Komplementbildung

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

17

Page 55: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Komplementbildung

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

Beweis:L1 ist entscheidbar Turing-MaschineM1 erkennt, ob w ∈ L1

L2 ist entscheidbar Turing-MaschineM2 erkennt, ob w ∈ L2

17

Page 56: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Komplementbildung

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

Beweis:L1 ist entscheidbar Turing-MaschineM1 erkennt, ob w ∈ L1

L2 ist entscheidbar Turing-MaschineM2 erkennt, ob w ∈ L2

Konstruiere 2-Band-Turing-MaschineM:

FuhreM1 auf Band 1 undM2 auf Band 2 aus.Schreibe w auf beide Bander.

Akzeptiere, wennM1 akzeptiert undM2 ablehnt.

17

Page 57: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Komplementbildung

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

Beweis:L1 ist entscheidbar Turing-MaschineM1 erkennt, ob w ∈ L1

L2 ist entscheidbar Turing-MaschineM2 erkennt, ob w ∈ L2

Konstruiere 2-Band-Turing-MaschineM:

FuhreM1 auf Band 1 undM2 auf Band 2 aus.Schreibe w auf beide Bander.

Akzeptiere, wennM1 akzeptiert undM2 ablehnt.

M entscheidet L

17

Page 58: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Uberblick

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Korollar: L ist entscheidbar ⇐⇒ Lc ist entscheidbar

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

Korollar: L1, L2 entscheidbar ⇒ L1 ∩ L2, L1 ∪ L2 entscheidbar

18

Page 59: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Uberblick

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Korollar: L ist entscheidbar ⇐⇒ Lc ist entscheidbar

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

Korollar: L1, L2 entscheidbar ⇒ L1 ∪ L2, L1 ∩ L2 entscheidbar

Frage: L1, L2 semi-entscheidbar ⇒ L1 \ L2 semi-entscheidbar?

Frage: L1, L2 semi-entscheidbar ⇒ L1 ∪ L2, L1 ∩ L2 semi-entsch.?

18

Page 60: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Uberblick

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Satz: L ist entscheidbar ⇐⇒ L und Lc sind semi-entscheidbar

Korollar: L ist entscheidbar ⇐⇒ Lc ist entscheidbar

Satz: L1 und L2 sind entscheidbar ⇒ L1 \ L2 ist entscheidbar

Korollar: L1, L2 entscheidbar ⇒ L1 ∪ L2, L1 ∩ L2 entscheidbar

Frage: L1, L2 semi-entscheidbar ⇒ L1 \ L2 semi-entscheidbar?

Frage: L1, L2 semi-entscheidbar ⇒ L1 ∪ L2, L1 ∩ L2 semi-entsch.?

18

Page 61: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Beispiele

19

Page 62: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Diagonalsprache

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Godelnummer:injektive Abbildung von { alle Turing-Maschinen } nach {0, 1}∗

M−→ 〈M〉 ∈ {0, 1}∗ w ∈ {0, 1}∗ −→ TwNotation:

Diagonalsprache:Ld = {w ∈ {0, 1}∗ | Tw akzeptiert w nicht}

VL: Ld ist nicht entscheidbar. UB: Lcd ist semi-entscheidbar.

Ld

20

Page 63: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Halteproblem

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Sprache des Halteproblems:

universelle Turing-Maschine:

H = {wv ∈ {0, 1}∗ | Tw halt bei Eingabe v}

VL: H ist nicht entscheidbar. UB: Hc ist nicht semi-entscheidbar.

Ld

bei Eingabe (w , v ) wird Tw mit Eingabe v simuliert

universelle Turing-Maschine: H ist semi-entscheidbar.

H

21

Page 64: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Universelle Sprache

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Die universelle Sprache:

Vergleiche:

Lu = {wv ∈ {0, 1}∗ | v ∈ L(Tw )}

VL: Lu ist nicht entscheidbar. VL: Lu ist semi-entscheidbar.

Ld H Lu

H = {wv ∈ {0, 1}∗ | Tw halt bei Eingabe v}

= {wv ∈ {0, 1}∗ | Tw halt und akzeptiert bei Eingabe v}

22

Page 65: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Post’sches Korrespondenzproblem

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Das Problem Π:

Die zugehorige Sprache:

VL: LP ist nicht entscheidbar, aber semi-entscheidbar.

Ld H Lu

LP := L[Π, s] = {x ∈ Σ∗ | x kodiert Ja-Beispiel von Π unter s}

1

101

10

00

011

11

1: 2: 3:Losungen:

1

101

011

11

10

00

011

111 3 2 3Indexfolge

LP

23

Page 66: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 67: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}

Beobachtung: N und N1 sind semi-entscheidbar.

N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 68: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}

Beobachtung: N und N1 sind semi-entscheidbar.

Idee fur N1: Uberprufe, ob die Folge 0, 1,−1, 2,−2, . . . eine Nullstelle vonp enthalt.

N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 69: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}

Beobachtung: N und N1 sind semi-entscheidbar.

Idee fur N1: Uberprufe, ob die Folge 0, 1,−1, 2,−2, . . . eine Nullstelle vonp enthalt.

Verfahren terminiert nur, wenn p eine ganzzahlige Nullstelle hat.

Einschrankung auf ein bestimmtes Interval moglich

N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 70: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}

Beobachtung: N und N1 sind semi-entscheidbar.

Idee fur N1: Uberprufe, ob die Folge 0, 1,−1, 2,−2, . . . eine Nullstelle vonp enthalt.

N1 ist entscheidbar

Verfahren terminiert nur, wenn p eine ganzzahlige Nullstelle hat.

Einschrankung auf ein bestimmtes Interval moglich

N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 71: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}

Beobachtung: N und N1 sind semi-entscheidbar.

Idee fur N1: Uberprufe, ob die Folge 0, 1,−1, 2,−2, . . . eine Nullstelle vonp enthalt.

N1 ist entscheidbar

Dieses Intervall existiert fur N nicht.

Verfahren terminiert nur, wenn p eine ganzzahlige Nullstelle hat.

Einschrankung auf ein bestimmtes Interval moglich

N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 72: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

Frage von Hilbert: Sind die folgenden Sprachen entscheidbar?

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}

Beobachtung: N und N1 sind semi-entscheidbar.

Idee fur N1: Uberprufe, ob die Folge 0, 1,−1, 2,−2, . . . eine Nullstelle vonp enthalt.

N1 ist entscheidbar

Dieses Intervall existiert fur N nicht.Matijasevic: N ist nicht entscheidbar

Verfahren terminiert nur, wenn p eine ganzzahlige Nullstelle hat.

Einschrankung auf ein bestimmtes Interval moglich

N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

24

Page 73: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hilberts zehntes Problem

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Polynome mit ganzzahligen Nullstellen:

letzte Folie: N1 ist entscheidbar, N ist semi-entscheidbar.

Ld H Lu LP

N1 = {p | p ist ganzzahliges Polynom uber x mit ganzzahliger Nullstelle}N = {p | p ist ganzzahliges Polynom mit ganzzahliger Nullstelle}

Matijasevic: N ist nicht entscheidbar.

N1

N

25

Page 74: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aquivalenzproblem

alle Sprachen

semi-entscheidbareSprachen

entscheidbareSprachen

semi-entscheidbaresKomplement

Aquivalenz von Turingmaschinen:

UB: Sowohl LAq als auch LcAq lassen sich auf Lc

u reduzieren.

Ld H Lu LPN1

N

LAq := {w#v | w , v ∈ {0, 1}∗, L(Tw ) = L(Tv )}

LAq

26

Page 75: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entscheidbarkeit – Werkzeugkasten

27

Page 76: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Satz von Rice

Satz von Rice: Sei S eine nicht-triviale Teilmenge von be-rechenbaren Funktionen. Dann ist

L(S) := {w ∈ {0, 1}∗ | Tw realisiert Funktion aus S}nicht entscheidbar.

Beweisidee: Zeige, dass L(S) Erweiterung von Hε ist.

28

Page 77: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Satz von Rice

Satz von Rice: Sei S eine nicht-triviale Teilmenge von be-rechenbaren Funktionen. Dann ist

L(S) := {w ∈ {0, 1}∗ | Tw realisiert Funktion aus S}nicht entscheidbar.

Beweisidee: Zeige, dass L(S) Erweiterung von Hε ist.

Beispiel 1: L1 = {w ∈ {0, 1}∗ | Tw berechnet 17 bei Eingabe 42}

L1 ist nicht berechenbar nach Satz von Rice.

28

Page 78: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Satz von Rice

Satz von Rice: Sei S eine nicht-triviale Teilmenge von be-rechenbaren Funktionen. Dann ist

L(S) := {w ∈ {0, 1}∗ | Tw realisiert Funktion aus S}nicht entscheidbar.

Beweisidee: Zeige, dass L(S) Erweiterung von Hε ist.

Beispiel 1: L1 = {w ∈ {0, 1}∗ | Tw berechnet 17 bei Eingabe 42}

Beispiel 2: L2 = {w ∈ {0, 1}∗ | Tw macht 17 Schritte bei Eingabe 42}

L1 ist nicht berechenbar nach Satz von Rice.

Keine Aussage uber L2 durch Satz von Rice.Ist L2 berechenbar?

28

Page 79: 3. Übung, Theoretische Grundlagen der Informatik · 3. Jonas Sauer 3. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Jonas Sauer – 3. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Zusammenfassung (Werkzeugkasten)

L ist entscheidbar

Konstruiere TM oder NTM,die L entscheidet.

Benutze Satz von Rice.

Reduziere nicht entscheid-bare Sprache N auf L.

Konstruiere (N)TM fur Naus (N)TM fur L.

Zeige L, Lc

semi-entscheidbar.

L ist semi-entscheidbar

Konstruiere TM oder NTM,die L erkennt.

L ist nicht entscheidbar

L ist nicht semi-entscheidbar

Zeige L nicht entscheidbarund Lc semi-entscheidbar.

Reduziere nicht semi-ent-scheidbare Sprache auf L.

alle Lsemi-entsch.semi-entsch.

Lc

entsch.L L

29