138
Berechenbarkeit und Komplexit ¨ atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit¨ atstheorie und Effiziente Algorithmen BuK – 30.10.2009

Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Berechenbarkeit undKomplexitatstheorie

3. Vorlesung

Martin Dietzfelbinger

30. Oktober 2009

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009

Page 2: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen

• rechnen mit Zeichenreichen

• verallgemeinern DFAs und DPDAs

• verallgemeinern NFAs und NPDAs (”Nichtdeterminismus“)

• bilden ein extrem simples Maschinenmodell

(technisch vorteilhaft)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 1

Page 3: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen

q

qm q

q

0

1

2

3q

Steuereinheit

B B B b a n d i n B B * # − s c h r i f t B B B B B B B ......

Bewegen um 1 BandfeldLese−Schreib−Kopf:

Schreiben Lesen

Übergangsfunktion

Zustandsmenge

gegenwärtiger Zustand

q

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 2

Page 4: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen

Def.: Eine Turingmaschine M besteht aus sieben Komponen-

ten Q,Σ,Γ,B, q0,F , δ, wobei gilt:

(a) Q 6= ∅ ist endliche Menge. (Zustande.)

(b) Σ 6= ∅ ist endliche Menge. (Eingabealphabet.)

(c) Γ ist eine endliche Menge mit Σ ⊆ Γ. (Bandalphabet.)

B ∈ Γ− Σ. (Blanksymbol.)

(d) q0 ∈ Q. (Startzustand.)

(e) F ⊆ Q. (Akzeptierende Zustande.)

(f) δ : Q×Γ→ Q×Γ×{R,N,L}∪{−}. (Ubergangsfunktion.)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 3

Page 5: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiel

TM M soll genau die Worter der Sprache

L = {anbncn | n ≥ 0}

akzeptieren.

Q = {A,C,D,E,H, Y }q0 = A

Σ = {a, b, c}Γ = {a, b, c, X, B}Blankbuchstabe B

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 4

Page 6: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Ubergangsfunktion δ als Tabelle:

a

q a b c X B

A (C, X, R) − − (A, X, R) (Y,B,N)C (C, a, R) (D, X, R) − (C, X, R) −D − (D, b, R) (E, X, R) (D, X, R) −E − − (E, c, R) − (H,B,L)H (H, a, L) (H, b, L) (H, c, L) (H, X, L) (A,B,R)Y − − − − −

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 5

Page 7: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

”Sinn“ der Zustande:

A: Uberquere X-e, finde und streiche (”X“) erstes a.

Falls nur X-e gefunden: Check war erfolgreich.

C: Uberquere a-s und X-e, finde und streiche (”X“) erstes b.

D: Uberquere b-s und X-e, finde und streiche (”X“) erstes c.

E: Uberquere c-s, finde erstes B.

H: Fahre nach links, bis das erste B links des Eingabebereichs

erreicht ist.

Y: Akzeptierender Zustand, wird erreicht, wenn in Zustand A

nur X-e gelesen werden.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 6

Page 8: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – graphische Darstellung

, RX|X

a|X , R , Rb|X

c|X , R

X|Xa|ab|b

, L, L, L, Lc|c

, Rc|cB | B, L

, Ra|a , Rb|b, RX|X , RX|X

B | B, N

Start

C D

HY

A

E

B | B, R

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 7

Page 9: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiel Binaradditiona

q 00 01 10 11p0 (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R)p (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R)r0 − − − −r1 − − − −

s0, s1 − − − −

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 8

Page 10: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiel Binaradditiona

q 00 01 10 11p0 (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R)p (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R)r0 − − − −r1 − − − −

s0, s1 − − − −a

q 0 1 2 Bp0 − − − −p − − − (r0, B, L)r0 − − − −r1 − − − −

s0, s1 − − − −

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 8

Page 11: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiel Binaradditiona

q 00 01 10 11p0 (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R)p (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R)r0 − − − −r1 − − − −

s0, s1 − − − −a

q 0 1 2 Bp0 − − − −p − − − (r0, B, L)r0 − − − −r1 − − − −

s0, s1 − − − −Ablauf einer Berechnung:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 8

Page 12: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

B B (p0, 10) 11 00 01 11 B

B B 1 (p, 11) 00 01 11 B

B B 1 2 (p, 00) 01 11 B

B B 1 2 0 (p, 01) 11 B

B B 1 2 0 1 (p, 11) B

B B 1 2 0 1 2 (p,B)

B B 1 2 0 1 (r0, 2) B

B B 1 2 0 (r1, 1) 0 B

B B 1 2 (r1, 0) 0 0 B

B B 1 (r0, 2) 1 0 0 B

B B (r1, 1) 0 1 0 0 B

B (r1, B) 0 0 1 0 0 B

B (s1, 1) 0 0 1 0 0 B

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 9

Page 13: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen

TMn definieren mathematisch exaktberechenbare Funktionen und entscheidbare Sprachen.

(Es gibt einen Algorithmus zur Berechnung von f bzw. (esgibt einen Algorithmuszur Entscheidung der Frage

”Ist x ∈ L?“)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 10

Page 14: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen

TMn definieren mathematisch exaktberechenbare Funktionen und entscheidbare Sprachen.

(Es gibt einen Algorithmus zur Berechnung von f bzw. (esgibt einen Algorithmuszur Entscheidung der Frage

”Ist x ∈ L?“)

”Operationale Semantik“

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 10

Page 15: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen

TMn definieren mathematisch exaktberechenbare Funktionen und entscheidbare Sprachen.

(Es gibt einen Algorithmus zur Berechnung von f bzw. (esgibt einen Algorithmuszur Entscheidung der Frage

”Ist x ∈ L?“)

”Operationale Semantik“:

Drucke mit mathematischen Methoden aus, wie TMen rech-

nen, ohne auf die intuitiven Komponenten wie Bander,

Steuereinheiten, Zustande usw. Bezug zu nehmen.

Hier beispielhaft einmal vollstandig ausgefuhrt.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 10

Page 16: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Konfigurationen

”snapshot“

”Momentaufnahme“

”instantaneous description“

... B ...B B

q

r e s u l t a t i r r e l e vtnavelerri

Notiere nur: irrelevant(q, r)esultatBBirrelev

Komplette Beschreibung des Zustandes der TM.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 11

Page 17: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Konfigurationen

Definition

Eine Konfiguration der TM M = (Q,Σ,Γ, B, q0, F, δ) ist

ein Wort

α1(q, a)α2

mit q ∈ Q, a ∈ Γ, α1, α2 ∈ Γ∗, wobei α1 nicht mit B beginnt

und α2 nicht mit B endet.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 12

Page 18: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Konfigurationen

Definition

Eine Konfiguration der TM M = (Q,Σ,Γ, B, q0, F, δ) ist

ein Wort

α1(q, a)α2

mit q ∈ Q, a ∈ Γ, α1, α2 ∈ Γ∗, wobei α1 nicht mit B beginnt

und α2 nicht mit B endet.

KM : Menge aller Konfigurationen von M .

KM = (Γ∗ − {B}Γ∗)(Q× Γ)(Γ∗ − Γ∗{B})Abzahlbar (unendlich)!

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 12

Page 19: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 20: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

Sonst: δ(q, a) = (q′, a′, D)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 21: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

Sonst: δ(q, a) = (q′, a′, D)

Bilde k = B α1(q, a)α2B = γ1c(q, a)dγ2, mit c, d ∈ Γ.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 22: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

Sonst: δ(q, a) = (q′, a′, D)

Bilde k = B α1(q, a)α2B = γ1c(q, a)dγ2, mit c, d ∈ Γ.

k′ :=

γ1 (q′, c) a′ d γ2 , falls D = L;

γ1 c a′ (q′, d) γ2 , falls D = R;

γ1 c (q′, a′) d γ2 , falls D = N .

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 23: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

Sonst: δ(q, a) = (q′, a′, D)

Bilde k = B α1(q, a)α2B = γ1c(q, a)dγ2, mit c, d ∈ Γ.

k′ :=

γ1 (q′, c) a′ d γ2 , falls D = L;

γ1 c a′ (q′, d) γ2 , falls D = R;

γ1 c (q′, a′) d γ2 , falls D = N .

Entferne aus k′ alle B’s am Anfang und am Ende.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 24: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

Sonst: δ(q, a) = (q′, a′, D)

Bilde k = B α1(q, a)α2B = γ1c(q, a)dγ2, mit c, d ∈ Γ.

k′ :=

γ1 (q′, c) a′ d γ2 , falls D = L;

γ1 c a′ (q′, d) γ2 , falls D = R;

γ1 c (q′, a′) d γ2 , falls D = N .

Entferne aus k′ alle B’s am Anfang und am Ende.

Liefert die Nachfolgekonfiguration k′ von k.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 25: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Konfiguration k = α1(q, a)α2 sei gegeben.

Falls δ(q, a) = − : k Haltekonfiguration, kein Nachfolger.

Sonst: δ(q, a) = (q′, a′, D)

Bilde k = B α1(q, a)α2B = γ1c(q, a)dγ2, mit c, d ∈ Γ.

k′ :=

γ1 (q′, c) a′ d γ2 , falls D = L;

γ1 c a′ (q′, d) γ2 , falls D = R;

γ1 c (q′, a′) d γ2 , falls D = N .

Entferne aus k′ alle B’s am Anfang und am Ende.

Liefert die Nachfolgekonfiguration k′ von k.

Schreibweise: k `M k′ bzw. k ` k′

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 13

Page 26: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiele

XXaX(C, b)bXcc ` XXaXX(D, b)Xcc und

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 14

Page 27: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiele

XXaX(C, b)bXcc ` XXaXX(D, b)Xcc und

XXaXXbX(D, c)c ` XXaXXbXX(E, c) , aber auch

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 14

Page 28: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiele

XXaX(C, b)bXcc ` XXaXX(D, b)Xcc und

XXaXXbX(D, c)c ` XXaXXbXX(E, c) , aber auch

cXcX(C, b) ` cXcXX(D,B).

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 14

Page 29: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiele

XXaX(C, b)bXcc ` XXaXX(D, b)Xcc und

XXaXXbX(D, c)c ` XXaXXbXX(E, c) , aber auch

cXcX(C, b) ` cXcXX(D,B).

Haltekonfiguration (nicht akzeptierend):

XaXb(D, a)c

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 14

Page 30: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Beispiele

XXaX(C, b)bXcc ` XXaXX(D, b)Xcc und

XXaXXbX(D, c)c ` XXaXXbXX(E, c) , aber auch

cXcX(C, b) ` cXcXX(D,B).

Haltekonfiguration (nicht akzeptierend):

XaXb(D, a)c

Haltekonfiguration (akzeptierend):

XXX(Y,B)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 14

Page 31: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

TM - indirekte Nachfolgekonfigurationen

Definition

k `∗M k′ bzw. k `∗ k′:es existiert eine Folge

k = k0 `M k1 `M · · · `M ki = k′

Erlaubt: i = 0, d.h. k `∗ k gilt.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 15

Page 32: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

TM - indirekte Nachfolgekonfigurationen

Definition

k `∗M k′ bzw. k `∗ k′:es existiert eine Folge

k = k0 `M k1 `M · · · `M ki = k′

Erlaubt: i = 0, d.h. k `∗ k gilt.

”Reflexive und transitive Hulle“ von `M

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 15

Page 33: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Startkonfiguration

. . . auf Eingabe x = a1 . . . an ∈ Σ∗:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 16

Page 34: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Startkonfiguration

. . . auf Eingabe x = a1 . . . an ∈ Σ∗:

init(x) := initM(x) :={

(q0, a1)a2 · · · an falls n ≥ 1(q0, B) falls n = 0

(Anfangs steht der Kopf unter dem ersten Eingabezeichen.)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 16

Page 35: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Berechnung

Gegeben: Turingmaschine M , x ∈ Σ∗.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 17

Page 36: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Berechnung

Gegeben: Turingmaschine M , x ∈ Σ∗.

Startkonfiguration k0 = init(x) bestimmt eindeutig eine

Konfigurationsfolge

k0 ` k1 ` k2 ` · · ·

(endlich oder unendlich):

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 17

Page 37: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Berechnung

Gegeben: Turingmaschine M , x ∈ Σ∗.

Startkonfiguration k0 = init(x) bestimmt eindeutig eine

Konfigurationsfolge

k0 ` k1 ` k2 ` · · ·

(endlich oder unendlich):

die Berechnung von M auf x.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 17

Page 38: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – 2 Moglichkeiten

(i) Die Berechnung von M auf x ist endlich, d.h. init(x) `∗ kfur eine (eindeutig bestimmte) Haltekonfiguration k.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 18

Page 39: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – 2 Moglichkeiten

(i) Die Berechnung von M auf x ist endlich, d.h. init(x) `∗ kfur eine (eindeutig bestimmte) Haltekonfiguration k.

Wir sagen: M auf x halt.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 18

Page 40: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – 2 Moglichkeiten

(i) Die Berechnung von M auf x ist endlich, d.h. init(x) `∗ kfur eine (eindeutig bestimmte) Haltekonfiguration k.

Wir sagen: M auf x halt.

Wenn k akzeptierend: M akzeptiert x;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 18

Page 41: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – 2 Moglichkeiten

(i) Die Berechnung von M auf x ist endlich, d.h. init(x) `∗ kfur eine (eindeutig bestimmte) Haltekonfiguration k.

Wir sagen: M auf x halt.

Wenn k akzeptierend: M akzeptiert x;

wenn k verwerfend: M verwirft x.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 18

Page 42: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – 2 Moglichkeiten

(i) Die Berechnung von M auf x ist endlich, d.h. init(x) `∗ kfur eine (eindeutig bestimmte) Haltekonfiguration k.

Wir sagen: M auf x halt.

Wenn k akzeptierend: M akzeptiert x;

wenn k verwerfend: M verwirft x.

(ii) Die Berechnung von M auf x ist eine unendliche Folge von

Konfigurationen.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 18

Page 43: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – 2 Moglichkeiten

(i) Die Berechnung von M auf x ist endlich, d.h. init(x) `∗ kfur eine (eindeutig bestimmte) Haltekonfiguration k.

Wir sagen: M auf x halt.

Wenn k akzeptierend: M akzeptiert x;

wenn k verwerfend: M verwirft x.

(ii) Die Berechnung von M auf x ist eine unendliche Folge von

Konfigurationen. Wir sagen: M auf x halt nicht.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 18

Page 44: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Akzeptierte Sprache

LM := {x ∈ Σ∗ |M akzeptiert x}

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 19

Page 45: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Akzeptierte Sprache

LM := {x ∈ Σ∗ |M akzeptiert x}

heißt die von M akzeptierte Sprache.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 19

Page 46: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Akzeptierte Sprache

LM := {x ∈ Σ∗ |M akzeptiert x}

heißt die von M akzeptierte Sprache.

Turingmaschinen – Haltesprache

HM := {x ∈ Σ∗ |M halt auf x}

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 19

Page 47: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Akzeptierte Sprache

LM := {x ∈ Σ∗ |M akzeptiert x}

heißt die von M akzeptierte Sprache.

Turingmaschinen – Haltesprache

HM := {x ∈ Σ∗ |M halt auf x}

heißt die Haltesprache von M .

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 19

Page 48: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Akzeptierte Sprache

LM := {x ∈ Σ∗ |M akzeptiert x}

heißt die von M akzeptierte Sprache.

Turingmaschinen – Haltesprache

HM := {x ∈ Σ∗ |M halt auf x}

heißt die Haltesprache von M .

Σ∗ wird in drei disjunkte Teile zerlegt:

LM (X wird akzeptiert), HM − LM (x wird verworfen),

Σ∗ −HM (M halt nicht auf x).

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 19

Page 49: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Rekursiv aufzahlbare und rekursive SprachenDefinition

Eine Sprache L heißt rekursiv aufzahlbar (r. a.) (oder TM-akzeptierbar), falls es eine Turingmaschine M gibt, so dass

L = LM ist.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 20

Page 50: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Rekursiv aufzahlbare und rekursive SprachenDefinition

Eine Sprache L heißt rekursiv aufzahlbar (r. a.) (oder TM-akzeptierbar), falls es eine Turingmaschine M gibt, so dass

L = LM ist.

Definition

Eine Sprache L heißt rekursiv (rek.) (oder TM-entscheidbar), falls es eine Turingmaschine M gibt, die aufallen Inputs x ∈ Σ∗ halt, so dass L = LM ist.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 20

Page 51: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Rekursiv aufzahlbare und rekursive SprachenDefinition

Eine Sprache L heißt rekursiv aufzahlbar (r. a.) (oder TM-akzeptierbar), falls es eine Turingmaschine M gibt, so dass

L = LM ist.

Definition

Eine Sprache L heißt rekursiv (rek.) (oder TM-entscheidbar), falls es eine Turingmaschine M gibt, die aufallen Inputs x ∈ Σ∗ halt, so dass L = LM ist.

Klar: Jede rekursive Sprache ist r. a.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 20

Page 52: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 53: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 54: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 55: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

Beweis:

”⊆“:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 56: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

Beweis:

”⊆“: Aus TM M baue TM M ′ mit HM ′ = LM .

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 57: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

Beweis:

”⊆“: Aus TM M baue TM M ′ mit HM ′ = LM .

(M ′ rechnet wie M . Wenn M mit δ(q, a) = − halt und q ∈ Q − F ist,

lasse M ′ mit δ′(q, a) = (q, a,N) in eine”Endlosschleife“ gehen.)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 58: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

Beweis:

”⊆“: Aus TM M baue TM M ′ mit HM ′ = LM .

(M ′ rechnet wie M . Wenn M mit δ(q, a) = − halt und q ∈ Q − F ist,

lasse M ′ mit δ′(q, a) = (q, a,N) in eine”Endlosschleife“ gehen.)

”⊇“:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 59: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

Beweis:

”⊆“: Aus TM M baue TM M ′ mit HM ′ = LM .

(M ′ rechnet wie M . Wenn M mit δ(q, a) = − halt und q ∈ Q − F ist,

lasse M ′ mit δ′(q, a) = (q, a,N) in eine”Endlosschleife“ gehen.)

”⊇“: Aus TM M baue TM M ′ mit LM ′ = HM .

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 60: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Haltesprachen = r.a. Sprachen

Bemerkung:

{LM |M TM} = {HM |M TM}.

Die Haltesprachen sind identisch mit den r.a. Sprachen.

Beweis:

”⊆“: Aus TM M baue TM M ′ mit HM ′ = LM .

(M ′ rechnet wie M . Wenn M mit δ(q, a) = − halt und q ∈ Q − F ist,

lasse M ′ mit δ′(q, a) = (q, a,N) in eine”Endlosschleife“ gehen.)

”⊇“: Aus TM M baue TM M ′ mit LM ′ = HM .

(Andere F in F ′ = Q um.)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 21

Page 61: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Ausgabe

Ausgabe fM(x) von M auf x:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 22

Page 62: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Ausgabe

Ausgabe fM(x) von M auf x:

Falls M auf x nicht halt, ist fM(x) undefiniert.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 22

Page 63: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Ausgabe

Ausgabe fM(x) von M auf x:

Falls M auf x nicht halt, ist fM(x) undefiniert.

Sonst sei k die (eindeutige) Haltekonfiguration mit

init(x) `∗M k, und k = α1(q, b)α2, α1, α2 ∈ Γ∗, b ∈ Γ, q ∈ Q.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 22

Page 64: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Ausgabe

Ausgabe fM(x) von M auf x:

Falls M auf x nicht halt, ist fM(x) undefiniert.

Sonst sei k die (eindeutige) Haltekonfiguration mit

init(x) `∗M k, und k = α1(q, b)α2, α1, α2 ∈ Γ∗, b ∈ Γ, q ∈ Q.

Dann ist fM(x) das langste Prafix von bα2, das den Blank-

buchstaben B nicht enthalt.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 22

Page 65: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Turingmaschinen – Ausgabe

Ausgabe fM(x) von M auf x:

Falls M auf x nicht halt, ist fM(x) undefiniert.

Sonst sei k die (eindeutige) Haltekonfiguration mit

init(x) `∗M k, und k = α1(q, b)α2, α1, α2 ∈ Γ∗, b ∈ Γ, q ∈ Q.

Dann ist fM(x) das langste Prafix von bα2, das den Blank-

buchstaben B nicht enthalt.

Beachte: Fur die Bestimmung der Ausgabe von M auf x ist

es unerheblich, ob M x akzeptiert oder verwirft.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 22

Page 66: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Partiell rekursive Funktionen

Definition

Eine Funktion f : D → R heißt partiell rekursiv, falls es

eine TM M = (Q,Σ,Γ, . . .) gibt derart dass D = HM ,

R ⊆ (Γ− {B})∗ und f = fM ist.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 23

Page 67: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Partiell rekursive Funktionen

Definition

Eine Funktion f : D → R heißt partiell rekursiv, falls es

eine TM M = (Q,Σ,Γ, . . .) gibt derart dass D = HM ,

R ⊆ (Γ− {B})∗ und f = fM ist.

Definition

Eine Funktion f : Σ∗ → R heißt rekursiv oder deutlicher

total rekursiv, falls es eine TM M = (Q,Σ,Γ, . . .) gibt

derart dass f = fM ist.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 23

Page 68: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Partiell rekursive Funktionen

Definition

Eine Funktion f : D → R heißt partiell rekursiv, falls es

eine TM M = (Q,Σ,Γ, . . .) gibt derart dass D = HM ,

R ⊆ (Γ− {B})∗ und f = fM ist.

Definition

Eine Funktion f : Σ∗ → R heißt rekursiv oder deutlicher

total rekursiv, falls es eine TM M = (Q,Σ,Γ, . . .) gibt

derart dass f = fM ist.

Beachte: Diese TM M halt auf allen Inputs x ∈ Σ∗.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 23

Page 69: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 24

Page 70: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

• Mathematische Untersuchungen, Vergleich mit anderen Mo-

dellen, Aquivalenz zu Stufen der Chomsky-Hierarchie,”uni-

verselle“ (programmierbare) TM, Konstruktion nichtrekur-

siver Sprachen

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 24

Page 71: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

• Mathematische Untersuchungen, Vergleich mit anderen Mo-

dellen, Aquivalenz zu Stufen der Chomsky-Hierarchie,”uni-

verselle“ (programmierbare) TM, Konstruktion nichtrekur-

siver Sprachen

Primitive Struktur des Modells gunstig.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 24

Page 72: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

• Mathematische Untersuchungen, Vergleich mit anderen Mo-

dellen, Aquivalenz zu Stufen der Chomsky-Hierarchie,”uni-

verselle“ (programmierbare) TM, Konstruktion nichtrekur-

siver Sprachen

Primitive Struktur des Modells gunstig.

• Nachweis fuhren, dass f (partiell) rekursiv, dass L rekursiv.

D.h.: TM programmieren!

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 24

Page 73: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

• Mathematische Untersuchungen, Vergleich mit anderen Mo-

dellen, Aquivalenz zu Stufen der Chomsky-Hierarchie,”uni-

verselle“ (programmierbare) TM, Konstruktion nichtrekur-

siver Sprachen

Primitive Struktur des Modells gunstig.

• Nachweis fuhren, dass f (partiell) rekursiv, dass L rekursiv.

D.h.: TM programmieren!

Primitive Struktur des Modells sehr ungunstig.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 24

Page 74: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 25

Page 75: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

Beachte: In der Gestaltung der Komponenten Γ, Q, δ sind

wir frei.

Wahle diese Komponenten moglichst gunstig und

strukturiert.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 25

Page 76: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Wozu Turingmaschinen?

Beachte: In der Gestaltung der Komponenten Γ, Q, δ sind

wir frei.

Wahle diese Komponenten moglichst gunstig und

strukturiert.

Gravierende Programmierfehler:

• Unbegrenzt viele Bandbuchstaben;

• Unbegrenzt viele Zustande in der Steuereinheit;”Register“

in der Steuereinheit, das beliebige Zahlen speichert

Turingmaschinen mussen Zahlen in Ziffernschreibweise auf

das Band schreiben!

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 25

Page 77: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

1.2 Programmiertechniken

. . . und”Robustheit des TM-Modells“ gegenuber Varianten.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 26

Page 78: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit (1.2.1)

Beispiel :

L = {a1a2 · · · an−1an ∈ Σ∗ | n ≥ 2, a1a2 = an−1an}

Sprache der Worter, bei denen die beiden Anfangsbuchstaben

gleich den beiden Endbuchstaben sind.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 27

Page 79: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit (1.2.1)

Beispiel :

L = {a1a2 · · · an−1an ∈ Σ∗ | n ≥ 2, a1a2 = an−1an}

Sprache der Worter, bei denen die beiden Anfangsbuchstaben

gleich den beiden Endbuchstaben sind.

Programmieridee: Speichere a1 und a2 in einem Register in

der Steuereinheit.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 27

Page 80: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 81: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 82: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 83: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

δ((q2, a, b), c) = ((q2, a, b), c, R), fur a, b, c ∈ Σ

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 84: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

δ((q2, a, b), c) = ((q2, a, b), c, R), fur a, b, c ∈ Σ

δ((q2, a, b), B) = ((q3, a, b), B, L), fur a, b, c ∈ Σ

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 85: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

δ((q2, a, b), c) = ((q2, a, b), c, R), fur a, b, c ∈ Σ

δ((q2, a, b), B) = ((q3, a, b), B, L), fur a, b, c ∈ Σ

δ((q3, a, b), b) = ((q4, a), b, L), fur a, b ∈ Σ

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 86: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

δ((q2, a, b), c) = ((q2, a, b), c, R), fur a, b, c ∈ Σ

δ((q2, a, b), B) = ((q3, a, b), B, L), fur a, b, c ∈ Σ

δ((q3, a, b), b) = ((q4, a), b, L), fur a, b ∈ Σ

δ((q4, a), a) = (q5, a,N), fur a ∈ Σ

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 87: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

δ((q2, a, b), c) = ((q2, a, b), c, R), fur a, b, c ∈ Σ

δ((q2, a, b), B) = ((q3, a, b), B, L), fur a, b, c ∈ Σ

δ((q3, a, b), b) = ((q4, a), b, L), fur a, b ∈ Σ

δ((q4, a), a) = (q5, a,N), fur a ∈ Σ

Zustandsmenge: Q :={q0, q5} ∪ {(q1, a), (q4, a) | a ∈ Σ} ∪ {(q2, a, b), (q3, a, b) | a, b ∈ Σ}

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 88: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Endlicher Speicher in der Steuereinheit

δ(q0, a) = ((q1, a), a, R), fur a ∈ Σ

δ((q1, a), b) = ((q2, a, b), b, R), fur a, b ∈ Σ

δ((q2, a, b), c) = ((q2, a, b), c, R), fur a, b, c ∈ Σ

δ((q2, a, b), B) = ((q3, a, b), B, L), fur a, b, c ∈ Σ

δ((q3, a, b), b) = ((q4, a), b, L), fur a, b ∈ Σ

δ((q4, a), a) = (q5, a,N), fur a ∈ Σ

Zustandsmenge: Q :={q0, q5} ∪ {(q1, a), (q4, a) | a ∈ Σ} ∪ {(q2, a, b), (q3, a, b) | a, b ∈ Σ}Analog kann man bereitstellen: Flagbits, Register aus Flagbits.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 28

Page 89: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik (1.2.2)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 29

Page 90: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik (1.2.2)

∆ Alphabet, k ≥ 1.

Vorstellung: Band hat k Spuren (jede Zelle ist eine Spalte)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 29

Page 91: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik (1.2.2)

∆ Alphabet, k ≥ 1.

Vorstellung: Band hat k Spuren (jede Zelle ist eine Spalte)

Spur 12345

...

...

...

...

...

...

...

...

...

...

e i n s BB z w e i3 3 3 3 Bv i e r 4B B B B 5

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 29

Page 92: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik (1.2.2)

∆ Alphabet, k ≥ 1.

Vorstellung: Band hat k Spuren (jede Zelle ist eine Spalte)

Spur 12345

...

...

...

...

...

...

...

...

...

...

e i n s BB z w e i3 3 3 3 Bv i e r 4B B B B 5

Programmierfehler: k nicht begrenzt.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 29

Page 93: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik

Hierzu:

Γ ⊇ ∆k =

a1

...ak

: a1, . . . , ak ∈ ∆

.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 30

Page 94: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik

Hierzu:

Γ ⊇ ∆k =

a1

...ak

: a1, . . . , ak ∈ ∆

.

Verschiedene Spuranzahlen ≤ k in verschiedenen Bandab-

schnitten – oder gemischt:

∆ ∪∆2 ∪ · · · ∪∆k ⊆ Γ.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 30

Page 95: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik

Hierzu:

Γ ⊇ ∆k =

a1

...ak

: a1, . . . , ak ∈ ∆

.

Verschiedene Spuranzahlen ≤ k in verschiedenen Bandab-

schnitten – oder gemischt:

∆ ∪∆2 ∪ · · · ∪∆k ⊆ Γ.

Programmierfehler: Spuranzahl nicht begrenzt.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 30

Page 96: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik

Markierungen auf Spur 2:

...

.........

B b a n d # # i n s c h r i f t* +* +

TextspurMarkierung

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 31

Page 97: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Spurtechnik

Markierungen auf Spur 2:

...

.........

B b a n d # # i n s c h r i f t* +* +

TextspurMarkierung

Programmierfehler:

unbeschrankt viele Markierungen in einer Zelle.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 31

Page 98: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Technik: Bandinhalt verschieben (1.2.3)

vorher:

Spur 1

Spur 2

nachher:

Spur 1

Spur 2

Hilfsspur

l i n k s r e c h t s u n d s o w e i t e r

c $

B B B

c $

l i n k s B B B B B B B B r e c h t s u n d s o w

r e c h t s u n d s o w

zu verschieben

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 32

Page 99: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Technik: Bandinhalt verschieben (1.2.3)

vorher:

Spur 1

Spur 2

nachher:

Spur 1

Spur 2

Hilfsspur

l i n k s r e c h t s u n d s o w e i t e r

c $

B B B

c $

l i n k s B B B B B B B B r e c h t s u n d s o w

r e c h t s u n d s o w

zu verschieben

Zweck: Erzeugen von Platz im Inneren einer Bandinschrift.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 32

Page 100: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bandinhalt verschieben

”Detaillierte Beschreibung“, kein TM-Programm:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 33

Page 101: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bandinhalt verschieben

”Detaillierte Beschreibung“, kein TM-Programm:

Kopf nach rechts bis zum /c.

Wiederhole folgendes (1.–5.):

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 33

Page 102: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bandinhalt verschieben

”Detaillierte Beschreibung“, kein TM-Programm:

Kopf nach rechts bis zum /c.

Wiederhole folgendes (1.–5.):

1. Speichere Buchstaben a aus Spur 1 in Steuereinheit;

markiere Zelle mit +;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 33

Page 103: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bandinhalt verschieben

”Detaillierte Beschreibung“, kein TM-Programm:

Kopf nach rechts bis zum /c.

Wiederhole folgendes (1.–5.):

1. Speichere Buchstaben a aus Spur 1 in Steuereinheit;

markiere Zelle mit +;

2. Fahre Kopf nach rechts bis zum ersten B auf der

Hilfsspur jenseits vom �;uberschreibe dieses B mit dem gespeicherten a;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 33

Page 104: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bandinhalt verschieben

”Detaillierte Beschreibung“, kein TM-Programm:

Kopf nach rechts bis zum /c.

Wiederhole folgendes (1.–5.):

1. Speichere Buchstaben a aus Spur 1 in Steuereinheit;

markiere Zelle mit +;

2. Fahre Kopf nach rechts bis zum ersten B auf der

Hilfsspur jenseits vom �;uberschreibe dieses B mit dem gespeicherten a;

3. Fahre Kopf nach links, bis + erreicht wird;

losche dieses +;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 33

Page 105: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bandinhalt verschieben

”Detaillierte Beschreibung“, kein TM-Programm:

Kopf nach rechts bis zum /c.

Wiederhole folgendes (1.–5.):

1. Speichere Buchstaben a aus Spur 1 in Steuereinheit;

markiere Zelle mit +;

2. Fahre Kopf nach rechts bis zum ersten B auf der

Hilfsspur jenseits vom �;uberschreibe dieses B mit dem gespeicherten a;

3. Fahre Kopf nach links, bis + erreicht wird;

losche dieses +;

4. Wenn Kopf in der $-Zelle steht, gehe zu 6.

5. Sonst Kopf um eine Zelle nach rechts und zu 1.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 33

Page 106: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 107: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 108: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

8. von der �-Zelle (einschließlich) nach rechts gehend kopiere

die Buchstaben von Spur 3 auf dasselbe Feld in Spur 1,

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 109: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

8. von der �-Zelle (einschließlich) nach rechts gehend kopiere

die Buchstaben von Spur 3 auf dasselbe Feld in Spur 1, losche

dabei gleichzeitig Spur 3, bis zur ersten Zelle (ausschließlich),

die in Spur 3 ein B enthalt;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 110: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

8. von der �-Zelle (einschließlich) nach rechts gehend kopiere

die Buchstaben von Spur 3 auf dasselbe Feld in Spur 1, losche

dabei gleichzeitig Spur 3, bis zur ersten Zelle (ausschließlich),

die in Spur 3 ein B enthalt;

9. fahre den Kopf nach links bis zur /c-Zelle.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 111: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

8. von der �-Zelle (einschließlich) nach rechts gehend kopiere

die Buchstaben von Spur 3 auf dasselbe Feld in Spur 1, losche

dabei gleichzeitig Spur 3, bis zur ersten Zelle (ausschließlich),

die in Spur 3 ein B enthalt;

9. fahre den Kopf nach links bis zur /c-Zelle.

Ubung: ein TM-Programm erstellen.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 112: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

8. von der �-Zelle (einschließlich) nach rechts gehend kopiere

die Buchstaben von Spur 3 auf dasselbe Feld in Spur 1, losche

dabei gleichzeitig Spur 3, bis zur ersten Zelle (ausschließlich),

die in Spur 3 ein B enthalt;

9. fahre den Kopf nach links bis zur /c-Zelle.

Ubung: ein TM-Programm erstellen.

Wieviele Schritte?

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 113: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

6. Fahre Kopf nach links bis zur /c-Zelle;

7. Fahre Kopf nach rechts bis zur �-Zelle, uberschreibe dabei

Spur 1 mit B;

8. von der �-Zelle (einschließlich) nach rechts gehend kopiere

die Buchstaben von Spur 3 auf dasselbe Feld in Spur 1, losche

dabei gleichzeitig Spur 3, bis zur ersten Zelle (ausschließlich),

die in Spur 3 ein B enthalt;

9. fahre den Kopf nach links bis zur /c-Zelle.

Ubung: ein TM-Programm erstellen.

Wieviele Schritte? O(l · d), l: Lange, d: Distanz.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 34

Page 114: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Modelleinschrankung: Einseitigunbeschranktes Band (1.2.4)

Idee: Wenn man eine Rechnung auf einem gewohnlichen Band

durchfuhren kann, dann auch auf einem Band, bei dem

niemals eine Zelle links der Eingabe betreten wird

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 35

Page 115: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Modelleinschrankung: Einseitigunbeschranktes Band (1.2.4)

Idee: Wenn man eine Rechnung auf einem gewohnlichen Band

durchfuhren kann, dann auch auf einem Band, bei dem

niemals eine Zelle links der Eingabe betreten wird

verboten

i n p u t B B B B B B B ...

0 1 2 3 4 5

q0

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 35

Page 116: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal:

• Zu jeder beliebigen TM M gibt es eine TM M ′ mit LM =LM ′ und HM = HM ′ und fM = fM ′ derart dass der

Bandkopf von M ′ niemals eine Bandzelle links von seiner

anfanglichen Position besucht.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 36

Page 117: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal:

• Zu jeder beliebigen TM M gibt es eine TM M ′ mit LM =LM ′ und HM = HM ′ und fM = fM ′ derart dass der

Bandkopf von M ′ niemals eine Bandzelle links von seiner

anfanglichen Position besucht.

Die Behauptung wird konstruktiv bewiesen:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 36

Page 118: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal:

• Zu jeder beliebigen TM M gibt es eine TM M ′ mit LM =LM ′ und HM = HM ′ und fM = fM ′ derart dass der

Bandkopf von M ′ niemals eine Bandzelle links von seiner

anfanglichen Position besucht.

Die Behauptung wird konstruktiv bewiesen:

Gegeben M , kann man M zu einem geeigneten M ′ umbauen.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 36

Page 119: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal:

• Zu jeder beliebigen TM M gibt es eine TM M ′ mit LM =LM ′ und HM = HM ′ und fM = fM ′ derart dass der

Bandkopf von M ′ niemals eine Bandzelle links von seiner

anfanglichen Position besucht.

Die Behauptung wird konstruktiv bewiesen:

Gegeben M , kann man M zu einem geeigneten M ′ umbauen.

Achte auf solche Konstruktionen! Wesentliche Technik!

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 36

Page 120: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Idee: Linke Seite des Bandes umklappen.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 37

Page 121: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Idee: Linke Seite des Bandes umklappen.

5

b a n d + v o n + M + 2 s e i t i g B ...

−3 −2 −1 0 1 2 3 4 5

Band

von M’:n + M + 2 s e i t i g B B B B B B

* o v + d n a b B B B B B B B B B

...

...

−1 −2 −3

0 1 2 3 4

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 37

Page 122: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Steuereinheit der neuen TM M ′:

Steuer−

einheit

von M oben

ea Puffer

oben/unten?

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 38

Page 123: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal:

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 39

Page 124: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal: M ′ = (Q′,Σ,Γ′, B′, q′0, F′, δ′) mit

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 39

Page 125: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal: M ′ = (Q′,Σ,Γ′, B′, q′0, F′, δ′) mit

Q′ = Q× {u, o} ∪ {q′0};

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 39

Page 126: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal: M ′ = (Q′,Σ,Γ′, B′, q′0, F′, δ′) mit

Q′ = Q× {u, o} ∪ {q′0};Γ′ = Γ× (Γ ∪ {∗}) ∪ Σ;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 39

Page 127: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Formal: M ′ = (Q′,Σ,Γ′, B′, q′0, F′, δ′) mit

Q′ = Q× {u, o} ∪ {q′0};Γ′ = Γ× (Γ ∪ {∗}) ∪ Σ;

B′ = (B,B)

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 39

Page 128: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 129: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 130: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 131: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

δ′((q, o), (a, c)) = ((p, o), (b, c), D), fur q ∈ Q, δ(q, a) = (p, b,D), c 6= ∗;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 132: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

δ′((q, o), (a, c)) = ((p, o), (b, c), D), fur q ∈ Q, δ(q, a) = (p, b,D), c 6= ∗;

δ′((q, u), (c, a)) = ((p, u), (c, b), D), fur q ∈ Q, δ(q, a) = (p, b,D), a 6= ∗,

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 133: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

δ′((q, o), (a, c)) = ((p, o), (b, c), D), fur q ∈ Q, δ(q, a) = (p, b,D), c 6= ∗;

δ′((q, u), (c, a)) = ((p, u), (c, b), D), fur q ∈ Q, δ(q, a) = (p, b,D), a 6= ∗,

wobei R = L, L = R, N = N ;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 134: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

δ′((q, o), (a, c)) = ((p, o), (b, c), D), fur q ∈ Q, δ(q, a) = (p, b,D), c 6= ∗;

δ′((q, u), (c, a)) = ((p, u), (c, b), D), fur q ∈ Q, δ(q, a) = (p, b,D), a 6= ∗,

wobei R = L, L = R, N = N ;

δ′((q, u), (a, ∗))δ′((q, o), (a, ∗))

}=

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 135: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

δ′((q, o), (a, c)) = ((p, o), (b, c), D), fur q ∈ Q, δ(q, a) = (p, b,D), c 6= ∗;

δ′((q, u), (c, a)) = ((p, u), (c, b), D), fur q ∈ Q, δ(q, a) = (p, b,D), a 6= ∗,

wobei R = L, L = R, N = N ;

δ′((q, u), (a, ∗))δ′((q, o), (a, ∗))

}=

((p, u), (b, ∗), R), falls D = L,

((p, o), (b, ∗), R), falls D = R,

((p, o), (b, ∗), N), falls D = N ;

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 136: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Neue Ubergangsfkt. (a, b, c ∈ Γ, q, p ∈ Q,D ∈ {L,R,N}):

δ′(q′0, a) = ((q0, o), (a, ∗), N), fur a ∈ Σ;

δ′(q′0, (B,B)) = ((q0, o), (B, ∗), N), (falls der Input ε ist);

δ′((q, o), (a, c)) = ((p, o), (b, c), D), fur q ∈ Q, δ(q, a) = (p, b,D), c 6= ∗;

δ′((q, u), (c, a)) = ((p, u), (c, b), D), fur q ∈ Q, δ(q, a) = (p, b,D), a 6= ∗,

wobei R = L, L = R, N = N ;

δ′((q, u), (a, ∗))δ′((q, o), (a, ∗))

}=

((p, u), (b, ∗), R), falls D = L,

((p, o), (b, ∗), R), falls D = R,

((p, o), (b, ∗), N), falls D = N ;

wobei immer δ(q, a) = (p, b,D).

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 40

Page 137: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Einseitig unbeschranktes Band

Nach dem Halten:

Transport des Ausgabewortes in Spur 1, beginnend in der

∗-Zelle,

abschließen mit (B,B).

Hierfur muss man weitere Zustande einfuhren und δ′ erweitern.

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 41

Page 138: Martin Dietzfelbinger 30. Oktober 2009 · 2010. 5. 3. · Berechenbarkeit und Komplexit atstheorie 3. Vorlesung Martin Dietzfelbinger 30. Oktober 2009 FG Komplexit atstheorie und

Bis nachste Woche

• Skript Seiten 25–45 (Beispiel 1.1.19 optional)

• Ubungsaufgaben drucken und vorbereiten

FG Komplexitatstheorie und Effiziente Algorithmen BuK – 30.10.2009 42