• Keine Ergebnisse gefunden

VL-02: Turing Maschinen I (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-02: Turing Maschinen I (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger"

Copied!
162
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-02: Turing Maschinen I

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

WS 2017, RWTH

BuK/WS 2017 VL-02: Turing Maschinen I 1/37

(2)

Turing Maschinen I

• Probleme und Berechnungen

• Turing Maschinen

• Turing Berechenbarkeit

• Programmierung von Turing Maschinen

(3)

Probleme und Berechnungen

BuK/WS 2017 VL-02: Turing Maschinen I 3/37

(4)

Was ist ein Berechnungsproblem?

Informelle Definition vonBerechnungsproblem

F¨ur gegebeneEingabensollen bestimmteAusgabenproduziert werden.

Die Berechnung geschieht mit einemAlgorithmus(Handlungsvorschrift). Algorithmus

x y

Mit”Problem“ meinen wir ab jetzt immer ein Berechnungsproblem. Wir ben¨otigen eine pr¨azisere Definition ...

(5)

Was ist ein Berechnungsproblem?

Informelle Definition vonBerechnungsproblem

F¨ur gegebeneEingabensollen bestimmteAusgabenproduziert werden.

Die Berechnung geschieht mit einemAlgorithmus(Handlungsvorschrift).

Algorithmus

x y

Mit”Problem“ meinen wir ab jetzt immer ein Berechnungsproblem. Wir ben¨otigen eine pr¨azisere Definition ...

BuK/WS 2017 VL-02: Turing Maschinen I 4/37

(6)

Was ist ein Berechnungsproblem?

Informelle Definition vonBerechnungsproblem

F¨ur gegebeneEingabensollen bestimmteAusgabenproduziert werden.

Die Berechnung geschieht mit einemAlgorithmus(Handlungsvorschrift).

Algorithmus

x y

Mit”Problem“ meinen wir ab jetzt immer ein Berechnungsproblem.

Wir ben¨otigen eine pr¨azisere Definition ...

(7)

Alphabete und W¨ orter

Ein- und Ausgaben sind W¨orter ¨uber einem Alphabet Σ.

Beispiele f¨ur Alphabete: Σ ={0,1,#}, Σ ={a,b,c, . . . ,z},

Σ ={B,D,F,H,J,K,M,O,. . . ,•}, Σ ={ , , }.

Σk ist die Menge aller Wörter der Längek, z.B. {0,1}3 = {000,001,010,011,100,101,110,111}

Dasleere Wort, also das Wort der Länge 0, bezeichnen wir mitε. Dann gilt: Σ0={ε}.

Σ=S

k∈N0Σk ist derKleenesche AbschlussvonΣund enthält alle Wörter überΣ. Diese kann man z.B. der Länge nach aufzählen

ε,0,1,00,01,10,11,000,001,010,011,100,101, . . .

BuK/WS 2017 VL-02: Turing Maschinen I 5/37

(8)

Alphabete und W¨ orter

Ein- und Ausgaben sind W¨orter ¨uber einem Alphabet Σ.

Beispiele f¨ur Alphabete: Σ ={0,1,#}, Σ ={a,b,c, . . . ,z},

Σ ={B,D,F,H,J,K,M,O,. . . ,•},

Σ ={ , , }. Σk ist die Menge aller Wörter der Längek, z.B.

{0,1}3 = {000,001,010,011,100,101,110,111}

Dasleere Wort, also das Wort der Länge 0, bezeichnen wir mitε. Dann gilt: Σ0={ε}.

Σ=S

k∈N0Σk ist derKleenesche AbschlussvonΣund enthält alle Wörter überΣ. Diese kann man z.B. der Länge nach aufzählen

ε,0,1,00,01,10,11,000,001,010,011,100,101, . . .

(9)

Alphabete und W¨ orter

Ein- und Ausgaben sind W¨orter ¨uber einem Alphabet Σ.

Beispiele f¨ur Alphabete: Σ ={0,1,#}, Σ ={a,b,c, . . . ,z},

Σ ={B,D,F,H,J,K,M,O,. . . ,•}, Σ ={ , , }.

Σk ist die Menge aller Wörter der Längek, z.B. {0,1}3 = {000,001,010,011,100,101,110,111}

Dasleere Wort, also das Wort der Länge 0, bezeichnen wir mitε. Dann gilt: Σ0={ε}.

Σ=S

k∈N0Σk ist derKleenesche AbschlussvonΣund enthält alle Wörter überΣ. Diese kann man z.B. der Länge nach aufzählen

ε,0,1,00,01,10,11,000,001,010,011,100,101, . . .

BuK/WS 2017 VL-02: Turing Maschinen I 5/37

(10)

Alphabete und W¨ orter

Ein- und Ausgaben sind W¨orter ¨uber einem Alphabet Σ.

Beispiele f¨ur Alphabete: Σ ={0,1,#}, Σ ={a,b,c, . . . ,z},

Σ ={B,D,F,H,J,K,M,O,. . . ,•}, Σ ={ , , }.

Σk ist die Menge aller Wörter der Längek, z.B.

{0,1}3 = {000,001,010,011,100,101,110,111}

Dasleere Wort, also das Wort der Länge 0, bezeichnen wir mitε. Dann gilt: Σ0={ε}.

Σ=S

k∈N0Σk ist derKleenesche AbschlussvonΣund enthält alle Wörter überΣ. Diese kann man z.B. der Länge nach aufzählen

ε,0,1,00,01,10,11,000,001,010,011,100,101, . . .

(11)

Alphabete und W¨ orter

Ein- und Ausgaben sind W¨orter ¨uber einem Alphabet Σ.

Beispiele f¨ur Alphabete: Σ ={0,1,#}, Σ ={a,b,c, . . . ,z},

Σ ={B,D,F,H,J,K,M,O,. . . ,•}, Σ ={ , , }.

Σk ist die Menge aller Wörter der Längek, z.B.

{0,1}3 = {000,001,010,011,100,101,110,111}

Dasleere Wort, also das Wort der Länge 0, bezeichnen wir mitε.

Dann gilt: Σ0={ε}.

Σ=S

k∈N0Σk ist derKleenesche AbschlussvonΣund enthält alle Wörter überΣ. Diese kann man z.B. der Länge nach aufzählen

ε,0,1,00,01,10,11,000,001,010,011,100,101, . . .

BuK/WS 2017 VL-02: Turing Maschinen I 5/37

(12)

Alphabete und W¨ orter

Ein- und Ausgaben sind W¨orter ¨uber einem Alphabet Σ.

Beispiele f¨ur Alphabete: Σ ={0,1,#}, Σ ={a,b,c, . . . ,z},

Σ ={B,D,F,H,J,K,M,O,. . . ,•}, Σ ={ , , }.

Σk ist die Menge aller Wörter der Längek, z.B.

{0,1}3 = {000,001,010,011,100,101,110,111}

Dasleere Wort, also das Wort der Länge 0, bezeichnen wir mitε.

Dann gilt: Σ0={ε}.

Σ=S

k∈N0Σk ist derKleenesche AbschlussvonΣund enthält alle Wörter überΣ. Diese kann man z.B. der Länge nach aufzählen

(13)

Probleme: als Relationen

Im Allgemeinen entspricht ein Problem einerRelationR⊆Σ×Σ0∗. Ein Paar (x,y)liegt inR, wenny eine zul¨assige Ausgabe zur Eingabe x ist.

BuK/WS 2017 VL-02: Turing Maschinen I 6/37

(14)

Beispiel: Primfaktorbestimung

Beispiel: Primfaktorbestimmung

Zu einer nat¨urlichen Zahlq≥2suchen wir einen Primfaktor.

Wir einigen uns darauf, Zahlen bin¨ar zu kodieren.

Die Bin¨arkodierung einer nat¨urlichen Zahli bezeichnen wir mitbin(i).

Also zum Beispiel: bin(0) =0,bin(6) =110 Die entsprechende Relation ist

R = {(x,y)∈ {0,1}× {0,1}|x =bin(q),y =bin(p), q,p∈N, q≥2, p prim, pteiltq}

Also zum Beispiel(110,11)∈R, aber(101,11)∈/R.

(15)

Probleme: als Funktionen

Bei vielen Problemen gibt es zu jeder Eingabe eine eindeutige Ausgabe.

Dann k¨onnen wir das Problem durch eine Funktionf: Σ→Σ0∗

beschreiben.

Die zur Eingabe x∈Σgesuchte Ausgabe ist f(x)∈Σ0∗.

Beispiel: Multiplikation

Zu zwei nat¨urlichen Zahleni1,i2∈Nsuchen wir das Produkt.

Um die Zahleni1undi2 in der Eingabe voneinander trennen zu k¨onnen, erweitern wir das Alphabet um ein Trennsymbol#, d.h. Σ ={0,1,#}. Die entsprechende Funktionf : Σ→Σ ist gegeben durch

f(bin(i1)#bin(i2)) = bin(i1·i2)

BuK/WS 2017 VL-02: Turing Maschinen I 8/37

(16)

Probleme: als Funktionen

Bei vielen Problemen gibt es zu jeder Eingabe eine eindeutige Ausgabe.

Dann k¨onnen wir das Problem durch eine Funktionf: Σ→Σ0∗

beschreiben.

Die zur Eingabe x∈Σgesuchte Ausgabe ist f(x)∈Σ0∗.

Beispiel: Multiplikation

Zu zwei nat¨urlichen Zahleni1,i2∈Nsuchen wir das Produkt.

Um die Zahleni1undi2 in der Eingabe voneinander trennen zu k¨onnen, erweitern wir das Alphabet um ein Trennsymbol#, d.h. Σ ={0,1,#}.

Die entsprechende Funktionf : Σ→Σ ist gegeben durch f(bin(i )#bin(i )) = bin(i ·i )

(17)

(Entscheidungs)Probleme: als Sprachen

Viele Probleme lassen sich als Ja-Nein-Fragen formulieren.

DerartigeEntscheidungsproblemesind von der Formf: Σ→ {0,1}, wobei wir0als

”Nein“ und1als

”Ja“ interpretieren.

SeiL=f−1(1)⊆Σ die Menge derjenigen Eingaben, die mit

”Ja“

beantwortet werden.

L ist eine Teilmenge der W¨orter ¨uber dem AlphabetΣ.

Eine Teilmenge von Σwird allgemein alsSprachebezeichnet.

Die SpracheList die zu dem durchf definierten Entscheidungsproblem geh¨orende Sprache.

BuK/WS 2017 VL-02: Turing Maschinen I 9/37

(18)

Beispiel: Entscheidungsproblem

Beispiel: Graphzusammenhang

Problemstellung: F¨ur einen gegebenen ungerichteten Graphen G soll bestimmt werden, obG zusammenh¨angend ist.

Der GraphG liegt dabei in einer geeigneten Kodierungcode(G)∈Σvor, z. B. als bin¨ar kodierte Adjazenzmatrix.

Beispiel: 1 2

3

0 0 1 0 0 0 1 0 0

 001000100

Die zu diesem Entscheidungsproblem geh¨orende Sprache ist L = {w ∈Σ | ∃ GraphG: w =code(G)und

G ist zusammenh¨angend}

(19)

Turing Maschinen

BuK/WS 2017 VL-02: Turing Maschinen I 11/37

(20)

Zentrale Fragestellung

Frage

Welche Funktionen sind durch einen Algorithmus berechenbar?

bzw.

Welche Sprachen k¨onnen von einem Algorithmus entschieden werden?

• Um diese Fragen in einem mathematisch exakten Sinne kl¨aren zu k¨onnen, m¨ussen wir festlegen, was eigentlich ein Algorithmus ist.

• Zu diesem Zweck definieren wir ein einfaches

”Computer“-Modell: Die Turingmaschine (TM)

(21)

Zentrale Fragestellung

Frage

Welche Funktionen sind durch einen Algorithmus berechenbar?

bzw.

Welche Sprachen k¨onnen von einem Algorithmus entschieden werden?

• Um diese Fragen in einem mathematisch exakten Sinne kl¨aren zu k¨onnen, m¨ussen wir festlegen, was eigentlich ein Algorithmus ist.

• Zu diesem Zweck definieren wir ein einfaches

”Computer“-Modell: Die Turingmaschine (TM)

BuK/WS 2017 VL-02: Turing Maschinen I 12/37

(22)

Zentrale Fragestellung

Frage

Welche Funktionen sind durch einen Algorithmus berechenbar?

bzw.

Welche Sprachen k¨onnen von einem Algorithmus entschieden werden?

• Um diese Fragen in einem mathematisch exakten Sinne kl¨aren zu k¨onnen, m¨ussen wir festlegen, was eigentlich ein Algorithmus ist.

• Zu diesem Zweck definieren wir ein einfaches

”Computer“-Modell:

Die Turingmaschine (TM)

(23)

Deterministische Turingmaschine (TM bzw. DTM)

0 1 1 0 1 1 1 0 1 1 0 1 0

0

· · ·

· · ·

DFA

Arbeitsband (beidseitig unbeschr¨ankt)

Schreib-/Lesekopf

q

δ 0 1 B

q0 (q0,B,L) (q1,0,R) reject q1 (q0,1,R) (q1,B,N) accept

BuK/WS 2017 VL-02: Turing Maschinen I 13/37

(24)

Deterministische Turingmaschine (TM bzw. DTM)

0 1 1 0 1 1 1 0 1 1 0 1 0

0

· · ·

· · ·

DFA

Arbeitsband (beidseitig unbeschr¨ankt)

Schreib-/Lesekopf

q

δ 0 1 B

q0 (q0,B,L) (q1,0,R) reject q1 (q0,1,R) (q1,B,N) accept

(25)

Deterministische Turingmaschine (TM bzw. DTM)

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

DFA

Arbeitsband (beidseitig unbeschr¨ankt)

Schreib-/Lesekopf

q

δ 0 1 B

q0 (q0,B,L) (q1,0,R) reject q1 (q0,1,R) (q1,B,N) accept

BuK/WS 2017 VL-02: Turing Maschinen I 13/37

(26)

Deterministische Turingmaschine (TM bzw. DTM)

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

DFA

Arbeitsband (beidseitig unbeschr¨ankt)

Schreib-/Lesekopf

q

δ 0 1 B

q0 (q0,B,L) (q1,0,R) reject q1 (q0,1,R) (q1,B,N) accept

(27)

Deterministische Turingmaschine (TM bzw. DTM)

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

DFA

Arbeitsband (beidseitig unbeschr¨ankt)

Schreib-/Lesekopf

q

δ 0 1 B

q0 (q0,B,L) (q1,0,R) reject q1 (q0,1,R) (q1,B,N) accept

BuK/WS 2017 VL-02: Turing Maschinen I 13/37

(28)

Deterministische Turingmaschine (TM bzw. DTM)

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

DFA

Arbeitsband (beidseitig unbeschr¨ankt)

Schreib-/Lesekopf

q

δ 0 1 B

q0 (q0,B,L) (q1,0,R) reject q1 (q0,1,R) (q1,B,N) accept

(29)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

BuK/WS 2017 VL-02: Turing Maschinen I 14/37

(30)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

(31)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

BuK/WS 2017 VL-02: Turing Maschinen I 14/37

(32)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern)

q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

(33)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

BuK/WS 2017 VL-02: Turing Maschinen I 14/37

(34)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

(35)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

BuK/WS 2017 VL-02: Turing Maschinen I 14/37

(36)

Komponenten der TM

Q die endliche Zustandsmenge

Σ das endliche Eingabealphabet

Γ⊃Σ das endliche Bandalphabet

B ∈Γ\Σ das Leerzeichen (Blank, in Bildern) q0∈Q der Anfangszustand

q¯∈Q der Endzustand

δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}

die Zustands¨uberf¨uhrungsfunktion

Definition

EineTuringmaschineist definiert durch das 7-Tupel(Q,Σ,Γ,B,q0,¯q, δ).

(37)

Funktionsweise der TM (1)

Ausgangssituation

auf dem Band steht die Eingabex ∈Σeingerahmt von Blanks der initiale Zustand istq0

der Kopf steht ¨uber dem ersten Symbol vonx

Nummerierung der Zellen des Bandes

die initiale Kopfposition wird als Position 0 bezeichnet bewegt sich der Kopf einen Schritt

”nach rechts“, erh¨oht sich die Position um 1

bewegt sich der Kopf um einen Schritt

”nach links“, erniedrigt sich die Position um 1

BuK/WS 2017 VL-02: Turing Maschinen I 15/37

(38)

Funktionsweise der TM (1)

Ausgangssituation

auf dem Band steht die Eingabex ∈Σeingerahmt von Blanks der initiale Zustand istq0

der Kopf steht ¨uber dem ersten Symbol vonx

· · ·

· · · x1 x2 x3 x4 x5 x6 x7 x8 x8 x9

Inputx

Nummerierung der Zellen des Bandes

die initiale Kopfposition wird als Position 0 bezeichnet bewegt sich der Kopf einen Schritt

”nach rechts“, erh¨oht sich die Position um 1

bewegt sich der Kopf um einen Schritt

”nach links“, erniedrigt sich die Position um 1

(39)

Funktionsweise der TM (1)

Ausgangssituation

auf dem Band steht die Eingabex ∈Σeingerahmt von Blanks der initiale Zustand istq0

der Kopf steht ¨uber dem ersten Symbol vonx

Nummerierung der Zellen des Bandes

die initiale Kopfposition wird als Position 0 bezeichnet bewegt sich der Kopf einen Schritt

”nach rechts“, erh¨oht sich die Position um 1

bewegt sich der Kopf um einen Schritt

”nach links“, erniedrigt sich die Position um 1

BuK/WS 2017 VL-02: Turing Maschinen I 15/37

(40)

Funktionsweise der TM (1)

Ausgangssituation

auf dem Band steht die Eingabex ∈Σeingerahmt von Blanks der initiale Zustand istq0

der Kopf steht ¨uber dem ersten Symbol vonx Nummerierung der Zellen des Bandes

die initiale Kopfposition wird als Position 0 bezeichnet bewegt sich der Kopf einen Schritt

”nach rechts“, erh¨oht sich die Position um 1

bewegt sich der Kopf um einen Schritt

”nach links“, erniedrigt sich die Position um 1

(41)

Funktionsweise der TM (2)

Durchf¨uhrung eines Rechenschrittes

a∈Γbezeichne das gelesene Symbol (unterm Kopf) q∈Q\ {¯q}bezeichne den aktuellen Zustand

angenommen δ(q,a) = (q0,a0,d), f¨urq0∈Q,a0∈Γ,d∈ {R,L,N}

dann wird der Zustand auf q0 gesetzt

an der Kopfposition wird das Symbol a0 geschrieben der Kopf

bewegt sich

um eine Position nach rechts fallsd=R um eine Position nach links fallsd=L

nicht fallsd=N

BuK/WS 2017 VL-02: Turing Maschinen I 16/37

(42)

Funktionsweise der TM (2)

Durchf¨uhrung eines Rechenschrittes

a∈Γbezeichne das gelesene Symbol (unterm Kopf) q∈Q\ {¯q}bezeichne den aktuellen Zustand

angenommen δ(q,a) = (q0,a0,d), f¨urq0∈Q,a0∈Γ,d∈ {R,L,N}

dann wird der Zustand auf q0 gesetzt

an der Kopfposition wird das Symbol a0 geschrieben der Kopf

bewegt sich

um eine Position nach rechts fallsd=R um eine Position nach links fallsd=L

nicht fallsd=N

(43)

Funktionsweise der TM (2)

Durchf¨uhrung eines Rechenschrittes

a∈Γbezeichne das gelesene Symbol (unterm Kopf) q∈Q\ {¯q}bezeichne den aktuellen Zustand

angenommen δ(q,a) = (q0,a0,d), f¨urq0∈Q,a0∈Γ,d∈ {R,L,N}

dann wird der Zustand auf q0 gesetzt

an der Kopfposition wird das Symbol a0 geschrieben

der Kopf

bewegt sich

um eine Position nach rechts fallsd=R um eine Position nach links fallsd=L

nicht fallsd=N

BuK/WS 2017 VL-02: Turing Maschinen I 16/37

(44)

Funktionsweise der TM (2)

Durchf¨uhrung eines Rechenschrittes

a∈Γbezeichne das gelesene Symbol (unterm Kopf) q∈Q\ {¯q}bezeichne den aktuellen Zustand

angenommen δ(q,a) = (q0,a0,d), f¨urq0∈Q,a0∈Γ,d∈ {R,L,N}

dann wird der Zustand auf q0 gesetzt

an der Kopfposition wird das Symbol a0 geschrieben der Kopf

bewegt sich

um eine Position nach rechts fallsd=R um eine Position nach links fallsd=L

nicht fallsd=N

(45)

Funktionsweise der TM (3)

Ende der Berechnung

die TM stoppt, wenn sie den Endzustandq¯erreicht

das Ausgabeworty ∈Σkann dann vom Band abgelesen werden:y beginnt an der Kopfposition und endet unmittelbar vor dem ersten Symbol ausΓ\Σ

Spezialfall

Bei Entscheidungsproblemen wird die Antwort wie folgt als JA oder NEIN interpretiert:

die TMakzeptiertdas Eingabewort, wenn sie terminiert und das Ausgabewort mit einer 1 beginnt

die TMverwirft das Eingabewort, wenn sie terminiert und das Ausgabewort nicht mit einer 1 beginnt

BuK/WS 2017 VL-02: Turing Maschinen I 17/37

(46)

Funktionsweise der TM (3)

Ende der Berechnung

die TM stoppt, wenn sie den Endzustandq¯erreicht

das Ausgabeworty ∈Σkann dann vom Band abgelesen werden:y beginnt an der Kopfposition und endet unmittelbar vor dem ersten Symbol ausΓ\Σ

Spezialfall

Bei Entscheidungsproblemen wird die Antwort wie folgt als JA oder NEIN interpretiert:

die TMakzeptiertdas Eingabewort, wenn sie terminiert und das Ausgabewort mit einer 1 beginnt

die TMverwirft das Eingabewort, wenn sie terminiert und das Ausgabewort nicht mit einer 1 beginnt

(47)

Funktionsweise der TM (3)

Ende der Berechnung

die TM stoppt, wenn sie den Endzustandq¯erreicht

das Ausgabeworty ∈Σkann dann vom Band abgelesen werden:y beginnt an der Kopfposition und endet unmittelbar vor dem ersten Symbol ausΓ\Σ

Spezialfall

Bei Entscheidungsproblemen wird die Antwort wie folgt als JA oder NEIN interpretiert:

die TMakzeptiertdas Eingabewort, wenn sie terminiert und das Ausgabewort mit einer 1 beginnt

die TMverwirft das Eingabewort, wenn sie terminiert und das Ausgabewort nicht mit einer 1 beginnt

BuK/WS 2017 VL-02: Turing Maschinen I 17/37

(48)

Funktionsweise der TM (4)

Bemerkungen

Beachte, es gibt die M¨oglichkeit, dass die TM den Endzustand niemals erreicht. Wir sagen dann, dieBerechnung terminiert nicht.

Laufzeit = Anzahl Zustands¨uberg¨ange bis zur Terminierung Speicherbedarf = Anzahl Bandzellen, die w¨ahrend der Berechnung besucht worden sind

(49)

Funktionsweise der TM (4)

Bemerkungen

Beachte, es gibt die M¨oglichkeit, dass die TM den Endzustand niemals erreicht. Wir sagen dann, dieBerechnung terminiert nicht.

Laufzeit = Anzahl Zustands¨uberg¨ange bis zur Terminierung

Speicherbedarf = Anzahl Bandzellen, die w¨ahrend der Berechnung besucht worden sind

BuK/WS 2017 VL-02: Turing Maschinen I 18/37

(50)

Funktionsweise der TM (4)

Bemerkungen

Beachte, es gibt die M¨oglichkeit, dass die TM den Endzustand niemals erreicht. Wir sagen dann, dieBerechnung terminiert nicht.

Laufzeit = Anzahl Zustands¨uberg¨ange bis zur Terminierung Speicherbedarf = Anzahl Bandzellen, die w¨ahrend der Berechnung besucht worden sind

(51)

Funktionsweise der TM: Beispiel (1)

SeiL={w1|w ∈ {0,1}}die Sprache der 0/1-W¨orter, die auf 1 enden.

Lwirdentschiedendurch die TM M= (Q,Σ,Γ,B,q0,q, δ)¯ mit Q ={q0,q1,q}¯

Σ ={0,1} Γ ={0,1,B} δ gem¨aß Tabelle

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

”accept“ steht als Abk¨urzung f¨ur(¯q,1,N).

”reject“ steht als Abk¨urzung f¨ur(¯q,0,N). Allgemein:

• M entscheidetL, wennM alle W¨orter inLakzeptiert und alle W¨orter, die nicht inLsind, verwirft.

• Wenn TM eine Sprache entscheidet, so muss sie immer halten

BuK/WS 2017 VL-02: Turing Maschinen I 19/37

(52)

Funktionsweise der TM: Beispiel (1)

SeiL={w1|w ∈ {0,1}}die Sprache der 0/1-W¨orter, die auf 1 enden.

Lwirdentschiedendurch die TM M= (Q,Σ,Γ,B,q0,q, δ)¯ mit Q ={q0,q1,q}¯

Σ ={0,1} Γ ={0,1,B} δ gem¨aß Tabelle

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

”accept“ steht als Abk¨urzung f¨ur(¯q,1,N).

”reject“ steht als Abk¨urzung f¨ur(¯q,0,N). Allgemein:

• M entscheidetL, wennM alle W¨orter inLakzeptiert und alle W¨orter, die nicht inLsind, verwirft.

• Wenn TM eine Sprache entscheidet, so muss sie immer halten

(53)

Funktionsweise der TM: Beispiel (1)

SeiL={w1|w ∈ {0,1}}die Sprache der 0/1-W¨orter, die auf 1 enden.

Lwirdentschiedendurch die TM M= (Q,Σ,Γ,B,q0,q, δ)¯ mit Q ={q0,q1,q}¯

Σ ={0,1}

Γ ={0,1,B} δ gem¨aß Tabelle

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

”accept“ steht als Abk¨urzung f¨ur(¯q,1,N).

”reject“ steht als Abk¨urzung f¨ur(¯q,0,N). Allgemein:

• M entscheidetL, wennM alle W¨orter inLakzeptiert und alle W¨orter, die nicht inLsind, verwirft.

• Wenn TM eine Sprache entscheidet, so muss sie immer halten

BuK/WS 2017 VL-02: Turing Maschinen I 19/37

(54)

Funktionsweise der TM: Beispiel (1)

SeiL={w1|w ∈ {0,1}}die Sprache der 0/1-W¨orter, die auf 1 enden.

Lwirdentschiedendurch die TM M= (Q,Σ,Γ,B,q0,q, δ)¯ mit Q ={q0,q1,q}¯

Σ ={0,1}

Γ ={0,1,B}

δ gem¨aß Tabelle

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

”accept“ steht als Abk¨urzung f¨ur(¯q,1,N).

”reject“ steht als Abk¨urzung f¨ur(¯q,0,N). Allgemein:

• M entscheidetL, wennM alle W¨orter inLakzeptiert und alle W¨orter, die nicht inLsind, verwirft.

• Wenn TM eine Sprache entscheidet, so muss sie immer halten

(55)

Funktionsweise der TM: Beispiel (1)

SeiL={w1|w ∈ {0,1}}die Sprache der 0/1-W¨orter, die auf 1 enden.

Lwirdentschiedendurch die TM M= (Q,Σ,Γ,B,q0,q, δ)¯ mit Q ={q0,q1,q}¯

Σ ={0,1}

Γ ={0,1,B}

δ gem¨aß Tabelle

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

”accept“ steht als Abk¨urzung f¨ur(¯q,1,N).

”reject“ steht als Abk¨urzung f¨ur(¯q,0,N).

Allgemein:

• M entscheidetL, wennM alle W¨orter inLakzeptiert und alle W¨orter, die nicht inLsind, verwirft.

• Wenn TM eine Sprache entscheidet, so muss sie immer halten

BuK/WS 2017 VL-02: Turing Maschinen I 19/37

(56)

Funktionsweise der TM: Beispiel (1)

SeiL={w1|w ∈ {0,1}}die Sprache der 0/1-W¨orter, die auf 1 enden.

Lwirdentschiedendurch die TM M= (Q,Σ,Γ,B,q0,q, δ)¯ mit Q ={q0,q1,q}¯

Σ ={0,1}

Γ ={0,1,B}

δ gem¨aß Tabelle

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

”accept“ steht als Abk¨urzung f¨ur(¯q,1,N).

”reject“ steht als Abk¨urzung f¨ur(¯q,0,N).

Allgemein:

• M entscheidetL, wennM alle W¨orter inLakzeptiert und alle W¨orter, die nicht inLsind, verwirft.

(57)

Funktionsweise der TM: Beispiel (2)

Die ¨Ubergangsfunktion ist zentraler Bestandteil der Turingmaschine.

Beschreibung der ¨Ubergangsfunktion als Tabelle:

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

Verbale Beschreibung des Algorithmus der TM: Solange ein Symbol aus {0,1}gelesen wird,

¨

uberschreibe das Symbol mitB, bewege den Kopf nach rechts, und

gehe in den Zustandq0, wenn das Symbol eine 0 war, sonst in den Zustandq1

Sobald ein Blank gelesen wird,

akzeptiere die Eingabe, falls der aktuelle Zustandq1 ist, und verwirf die Eingabe ansonsten.

BuK/WS 2017 VL-02: Turing Maschinen I 20/37

(58)

Funktionsweise der TM: Beispiel (2)

Die ¨Ubergangsfunktion ist zentraler Bestandteil der Turingmaschine.

Beschreibung der ¨Ubergangsfunktion als Tabelle:

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

Verbale Beschreibung des Algorithmus der TM:

Solange ein Symbol aus {0,1}gelesen wird,

¨

uberschreibe das Symbol mitB, bewege den Kopf nach rechts, und

gehe in den Zustandq0, wenn das Symbol eine 0 war, sonst in den Zustandq1

Sobald ein Blank gelesen wird,

(59)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B

· · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B B 1 1 0 1 0 1 B B B · · ·

· · · B B B B B B 1 0 1 0 1 B B B · · ·

· · · B B B B B B B 0 1 0 1 B B B · · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

BuK/WS 2017 VL-02: Turing Maschinen I 21/37

(60)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B

· · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B

· · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B B 1 1 0 1 0 1 B B B · · ·

· · · B B B B B B 1 0 1 0 1 B B B · · ·

· · · B B B B B B B 0 1 0 1 B B B · · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

(61)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B

· · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B

· · ·

· · · B B B B 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B B 1 1 0 1 0 1 B B B · · ·

· · · B B B B B B 1 0 1 0 1 B B B · · ·

· · · B B B B B B B 0 1 0 1 B B B · · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

BuK/WS 2017 VL-02: Turing Maschinen I 21/37

(62)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B

· · ·

· · · B B B B 0 1 1 0 1 0 1 B B B

· · ·

· · · B B B B B 1 1 0 1 0 1 B B B · · ·

· · · B B B B B B 1 0 1 0 1 B B B · · ·

· · · B B B B B B B 0 1 0 1 B B B · · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

(63)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B 0 1 1 0 1 0 1 B B B

· · ·

· · · B B B B B 1 1 0 1 0 1 B B B

· · ·

· · · B B B B B B 1 0 1 0 1 B B B · · ·

· · · B B B B B B B 0 1 0 1 B B B · · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

BuK/WS 2017 VL-02: Turing Maschinen I 21/37

(64)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B B 1 1 0 1 0 1 B B B

· · ·

· · · B B B B B B 1 0 1 0 1 B B B

· · ·

· · · B B B B B B B 0 1 0 1 B B B · · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

(65)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B B 1 1 0 1 0 1 B B B · · ·

· · · B B B B B B 1 0 1 0 1 B B B

· · ·

· · · B B B B B B B 0 1 0 1 B B B

· · ·

· · · B B B B B B B B 1 0 1 B B B · · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

BuK/WS 2017 VL-02: Turing Maschinen I 21/37

(66)

Veranschaulichung des Algorithmus

Eingabex=0100110101.

Eingabex

· · ·

· · · B 0 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B 1 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B 0 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B 0 1 1 0 1 0 1 B B B · · ·

· · · B B B B B 1 1 0 1 0 1 B B B · · ·

· · · B B B B B B 1 0 1 0 1 B B B · · ·

· · · B B B B B B B 0 1 0 1 B B B

· · ·

· · · B B B B B B B B 1 0 1 B B B

· · ·

· · · B B B B B B B B B 0 1 B B B · · ·

· · · B B B B B B B B B B 1 B B B · · ·

· · · B B B B B B B B B B B B B B · · ·

· · · B B B B B B B B B B B B B B

δ 0 1 B

q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept

Referenzen

ÄHNLICHE DOKUMENTE

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

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

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

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

Wir erhalten eine universelle 1-Band-TM mit konstantem Zeitverlust, wenn wir die G¨ odelnummer auf Spur 2 und den Zustand auf Spur 3 mit dem Kopf der TM M mitf¨ uhren... Alan

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

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

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