• Keine Ergebnisse gefunden

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
93
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-02: Turing Maschinen II

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

WS 2019, RWTH

(2)

Organisatorisches

Achtung!

Die Verteilung auf Tutorien ist fehlgeschlagen Die Anmeldungen m¨ussen wiederholt werden Die Priorit¨aten m¨ussen neu eingegeben werden

N¨achste Vorlesung:

Freitag, Oktober 18, 12:30–14:00 Uhr, Audimax Mittwoch, Oktober 23:Keine Vorlesung Webseite:

https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py

(3)

Wiederholung

(4)

Wdh.: Kodierung von Berechnungsproblemen

Drei m¨ogliche formale Definitionen:

Als Relation:

Primfaktor:

(110,11)∈R (101,11)∈/R (00110,11)∈/ R Multiplikation:

(11#10,110)∈R (11#10,11)∈/R (1#1#0,110)∈/ R W¨orter die auf 1 enden:

(11,1)∈R

Als Funktion:

f(11#10) =110 (f(1#1#0) =⊥)

f(11) =1

Als Sprache:

11∈L

(5)

Wdh.: Turingmaschinen

Anschauliche Definition:

· · ·

· · · B 0 0 1 0 B B B

δ 0 1 B

q1 (q1,1,L) (q2,1,R) (q1,B,N) q2 (q3,B,R) (q1,0,L) (q3,B,R) q3 (q2,0,N) (q2,0,R) (q3,B,R)

q3

Formale Definition:

Eine Turingmaschine ist ein 7-Tupel(Q,Σ,Γ,B,q0,q, δ), wobei¯ Q,Σ,Γendliche Mengen sind,

Σ⊆Γ, B ∈Γ\Σ,

(6)

Wdh.: Funktionsweise der TM (1)

Ausgangssituation

Auf dem Band steht die Eingabex∈Σ eingerahmt von Blanks Der initiale Zustand ist q0

Der Kopf steht ¨uber dem ersten Symbol vonx Durchf¨uhrung eines einzelnen 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 aufq0gesetzt

An der Kopfposition wird das Symbol a0 geschrieben

Der Kopf bewegt sich um eine Position nach rechts (falls d=R),

(7)

Wdh.: Funktionsweise der TM (2)

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Γ\Σ

Ende der Berechnung / Variante

Auf dem Band steht die Ausgabey ∈Σeingerahmt von Blanks Der aktuelle Zustand ist der Endzustand ¯q

Der Kopf steht ¨uber dem ersten Symbol vony

(8)

Wdh.: Laufzeit und Speicherbedarf

Laufzeit = Anzahl von Rechenschritten bis zur Terminierung Speicherbedarf = Anzahl von Bandzellen, die w¨ahrend der Berechnung besucht werden

(9)

Wdh.: TM-Techniken

Speicher im Zustandsraum: Qneu:=Q×Γk Mehrspurmaschinen: Γneu:= Γ∪Γk

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

1 1 0

· · ·

· · ·

· · ·

· · ·

· · ·

· · ·

DFA

(10)

Vorlesung VL-02 Turing Maschinen II

Mehrband-Turingmaschinen G¨odelnummern

Die universelle Turingmaschine Church-Turing These

(11)

Mehrband-Turingmaschinen

(12)

Turingmaschinen mit mehreren B¨ andern

k-Band-TM

Einek-Band-TMist eine Verallgemeinerung der Turingmaschine.

Sie verf¨ugt ¨uberk Arbeitsb¨ander mit jeweils einem unabh¨angigen Kopf.

Die Zustands¨ubergangsfunktion ist entsprechend von der Form δ: (Q\ {¯q})×Γk →Q×Γk× {L,R,N}k .

Band 1 fungiert als Ein-/Ausgabeband wie bei der (1-Band-)TM.

Die Zellen der B¨ander2, . . . ,k sind anfangs leer (ausschliesslichB).

· · ·

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

· · ·

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

(13)

Simulation k -Band-TM durch 1-Band-TM (1)

Satz

Einek-Band-TMM mit Zeitbedarft(n)und Platzbedarfs(n) kann von einer 1-Band-TMM0

mit ZeitbedarfO(t2(n))und PlatzbedarfO(s(n))simuliert werden.

Beweisskizze:

Die TMM0 verwendet2k Spuren.

Nach Simulation dest-ten Schrittes f¨ur0≤t≤t(n)gilt

Die ungeraden Spuren1,3, . . . ,2k−1enthalten den Inhalt der B¨ander1, . . . ,k von M.

Auf den geraden Spuren2,4, . . . ,2k sind die Kopfpositionen auf diesen B¨andern mit dem Zeichen# markiert.

(14)

Simulation k -Band-TM durch 1-Band-TM (1)

Satz

Einek-Band-TMM mit Zeitbedarft(n)und Platzbedarfs(n) kann von einer 1-Band-TMM0

mit ZeitbedarfO(t2(n))und PlatzbedarfO(s(n))simuliert werden.

Beweisskizze:

Die TMM0 verwendet2k Spuren.

Nach Simulation dest-ten Schrittes f¨ur0≤t≤t(n)gilt

Die ungeraden Spuren1,3, . . . ,2k−1enthalten den Inhalt der B¨ander1, . . . ,k von M.

Auf den geraden Spuren2,4, . . . ,2k sind die Kopfpositionen auf diesen B¨andern mit dem Zeichen# markiert.

(15)

Simulation k -Band-TM durch 1-Band-TM (2)

Simulierte 2-Band-TuringmaschineM:

· · ·

· · · B A r b e i t s b a n d 2 * * * * B B B

· · ·

· · · B * * * * A r b e i t s b a n d 1 B B B

Simulierende 4-Spur-TuringmaschineM0 (zu Beginn des Simulationsschrittes):

· · ·

· · · B * * * * A r b e i t s b a n d 1 B B B

· · ·

· · · B B B B B B # B B B B B B B B B B B B B

· · ·

· · · B A r b e i t s b a n d 2 * * * * B B B

· · ·

· · · B # B B B B B B B B B B B B B B B B B B

* B A

#

(16)

Simulation k -Band-TM durch 1-Band-TM (3)

Jeder Rechenschritt von M wird durchM0 wie folgt simuliert.

Am Anfang steht der Kopf vonM0 auf der linkesten Zelle, die# enth¨alt, undM0 kennt den Zustand vonM.

Der Kopf vonM0 l¨auft dann nach rechts bis zum rechtesten#, wobei diek Zeichen an den mit# markierten Spurpositionen im Zustand abgespeichert werden.

An der Zelle mit dem rechtesten#-Zeichen angekommen, kannM0 die ¨Ubergangsfunktion vonM auswerten und

kennt den neuen Zustand vonM sowie die erforderlichen ¨Uberg¨ange auf den k B¨andern.

Nun l¨auft der Kopf vonM0zur¨uck, ver¨andert dabei die

Bandinschriften an den mit# markierten Stellen und verschiebt, falls erforderlich, auch die#-Markierungen um eine Position nach links oder rechts.

(17)

Simulation k -Band-TM durch 1-Band-TM (3)

Jeder Rechenschritt von M wird durchM0 wie folgt simuliert.

Am Anfang steht der Kopf vonM0 auf der linkesten Zelle, die# enth¨alt, undM0 kennt den Zustand vonM.

Der Kopf vonM0 l¨auft dann nach rechts bis zum rechtesten#, wobei diek Zeichen an den mit#markierten Spurpositionen im Zustand abgespeichert werden.

An der Zelle mit dem rechtesten#-Zeichen angekommen, kannM0 die ¨Ubergangsfunktion vonM auswerten und

kennt den neuen Zustand vonM sowie die erforderlichen ¨Uberg¨ange auf den k B¨andern.

Nun l¨auft der Kopf vonM0zur¨uck, ver¨andert dabei die

Bandinschriften an den mit# markierten Stellen und verschiebt, falls erforderlich, auch die#-Markierungen um eine Position nach links oder rechts.

(18)

Simulation k -Band-TM durch 1-Band-TM (3)

Jeder Rechenschritt von M wird durchM0 wie folgt simuliert.

Am Anfang steht der Kopf vonM0 auf der linkesten Zelle, die# enth¨alt, undM0 kennt den Zustand vonM.

Der Kopf vonM0 l¨auft dann nach rechts bis zum rechtesten#, wobei diek Zeichen an den mit#markierten Spurpositionen im Zustand abgespeichert werden.

An der Zelle mit dem rechtesten#-Zeichen angekommen, kannM0 die ¨Ubergangsfunktion vonM auswerten und

kennt den neuen Zustand vonM sowie die erforderlichen ¨Uberg¨ange auf den k B¨andern.

Nun l¨auft der Kopf vonM0zur¨uck, ver¨andert dabei die

Bandinschriften an den mit# markierten Stellen und verschiebt, falls erforderlich, auch die#-Markierungen um eine Position nach links oder rechts.

(19)

Simulation k -Band-TM durch 1-Band-TM (3)

Jeder Rechenschritt von M wird durchM0 wie folgt simuliert.

Am Anfang steht der Kopf vonM0 auf der linkesten Zelle, die# enth¨alt, undM0 kennt den Zustand vonM.

Der Kopf vonM0 l¨auft dann nach rechts bis zum rechtesten#, wobei diek Zeichen an den mit#markierten Spurpositionen im Zustand abgespeichert werden.

An der Zelle mit dem rechtesten#-Zeichen angekommen, kannM0 die ¨Ubergangsfunktion vonM auswerten und

kennt den neuen Zustand vonM sowie die erforderlichen ¨Uberg¨ange auf den k B¨andern.

Nun l¨auft der Kopf vonM0zur¨uck, ver¨andert dabei die

Bandinschriften an den mit# markierten Stellen und verschiebt, falls erforderlich, auch die#-Markierungen um eine Position nach

(20)

Simulation k -Band-TM durch 1-Band-TM (4)

Laufzeitanalyse:

Wieviele Bandpositionen k¨onnen zwischen dem linkesten und dem rechtesten# liegen?

Nacht Schritten vonM k¨onnen diese Markierungen h¨ochstens 2t Positionen auseinanderliegen.

Also ist der Abstand zwischen diesen Zeichen und somit auch die Laufzeit zur Simulation eines einzelnen Schrittes durchO(t(n)) beschr¨ankt.

Insgesamt ergibt das dann f¨ur die Simulation vont(n)Schritten eine Laufzeitschranke von O(t(n)2). Q.E.D.

(21)

Simulation k -Band-TM durch 1-Band-TM (4)

Laufzeitanalyse:

Wieviele Bandpositionen k¨onnen zwischen dem linkesten und dem rechtesten# liegen?

Nacht Schritten vonM k¨onnen diese Markierungen h¨ochstens 2t Positionen auseinanderliegen.

Also ist der Abstand zwischen diesen Zeichen und somit auch die Laufzeit zur Simulation eines einzelnen Schrittes durchO(t(n)) beschr¨ankt.

Insgesamt ergibt das dann f¨ur die Simulation vont(n)Schritten eine Laufzeitschranke von O(t(n)2). Q.E.D.

(22)

Simulation k -Band-TM durch 1-Band-TM (4)

Laufzeitanalyse:

Wieviele Bandpositionen k¨onnen zwischen dem linkesten und dem rechtesten# liegen?

Nacht Schritten vonM k¨onnen diese Markierungen h¨ochstens 2t Positionen auseinanderliegen.

Also ist der Abstand zwischen diesen Zeichen und somit auch die Laufzeit zur Simulation eines einzelnen Schrittes durchO(t(n)) beschr¨ankt.

Insgesamt ergibt das dann f¨ur die Simulation vont(n)Schritten eine Laufzeitschranke von O(t(n)2). Q.E.D.

(23)

Simulation k -Band-TM durch 1-Band-TM (4)

Laufzeitanalyse:

Wieviele Bandpositionen k¨onnen zwischen dem linkesten und dem rechtesten# liegen?

Nacht Schritten vonM k¨onnen diese Markierungen h¨ochstens 2t Positionen auseinanderliegen.

Also ist der Abstand zwischen diesen Zeichen und somit auch die Laufzeit zur Simulation eines einzelnen Schrittes durchO(t(n)) beschr¨ankt.

Insgesamt ergibt das dann f¨ur die Simulation vont(n)Schritten eine Laufzeitschranke von O(t(n)2). Q.E.D.

(24)

Die universelle Turingmaschine

(25)

Special Purpose versus General Purpose Rechner

Bisher haben wir f¨ur jedes Problem eine eigene TM entworfen, einenspecial purposeRechner.

Real existierende Maschinen sind jedoch programmierbare general purpose Rechner.

Wir konstruieren jetzt eine programmierbare Variante der TM, die sogenannteuniverselle TM.

(26)

Ein-/Ausgabeverhalten der universellen TM

Das “Programm” der universellen TMU ist die Kodierung einer beliebigen TMM.

Mit hMibezeichnen wir diese Kodierung der TMM. Als Eingabe erh¨altU einen String der FormhMiw

bestehend aus einer TM-KodierunghMiund einem Wort w. Die universelle TM simuliert das Verhalten der TMM auf der Eingabe w.

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

Fehlermeldung aus.

(27)

Ein-/Ausgabeverhalten der universellen TM

Das “Programm” der universellen TMU ist die Kodierung einer beliebigen TMM.

Mit hMibezeichnen wir diese Kodierung der TMM.

Als Eingabe erh¨altU einen String der FormhMiw

bestehend aus einer TM-KodierunghMiund einem Wortw.

Die universelle TM simuliert das Verhalten der TMM auf der Eingabe w.

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

Fehlermeldung aus.

(28)

Ein-/Ausgabeverhalten der universellen TM

Das “Programm” der universellen TMU ist die Kodierung einer beliebigen TMM.

Mit hMibezeichnen wir diese Kodierung der TMM.

Als Eingabe erh¨altU einen String der FormhMiw

bestehend aus einer TM-KodierunghMiund einem Wortw. Die universelle TM simuliert das Verhalten der TMM auf der Eingabe w.

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

Fehlermeldung aus.

(29)

Intermezzo: G¨ odelnummern

(30)

G¨ odelnummern (1)

Wir entwickeln nun eine eindeutige pr¨afixfreie Kodierung, die jeder TuringmaschineM ein WorthMi¨uber dem Alphabet{0,1}zuordnet.

Definition

Wir nennen diese KodierunghMidieG¨odelnummerder TuringmaschineM.

Pr¨afixfrei bedeutet, dass keine G¨odelnummer Pr¨afix (Anfangsteilwort) einer anderen G¨odelnummer sein darf.

Um Pr¨afixfreiheit zu erreichen, vereinbaren wir, dass alle

G¨odelnummern mit 111 beginnen und auf 111 enden und ansonsten den Teilstring 111 nicht in ihrer Kodierung enthalten.

(31)

G¨ odelnummern (2)

Zur pr¨afixfreien Kodierung von TMen gibt es viele M¨oglichkeiten.

Wir stellen jetzt eine m¨ogliche Definition der G¨odelnummer vor.

Wir beschr¨anken uns auf TMen der folgenden Form:

Q={q1, . . . ,qt}f¨ur eint≥2.

Der Anfangszustand istq1und der Endzustand istq2. Γ ={0,1,B}.

Zur Beschreibung von TMen dieser Form m¨ussen wir nur die Ubergangsfunktion als Bin¨¨ arstring kodieren.

Wir nummerieren das Alphabet durch,

indem wirX1=0,X2=1undX3=B setzen.

Auch die m¨oglichen Kopfbewegungen nummerieren wir, indem wirD1=L, D2=N undD3=R setzen.

(32)

G¨ odelnummern (2)

Zur pr¨afixfreien Kodierung von TMen gibt es viele M¨oglichkeiten.

Wir stellen jetzt eine m¨ogliche Definition der G¨odelnummer vor.

Wir beschr¨anken uns auf TMen der folgenden Form:

Q={q1, . . . ,qt}f¨ur eint≥2.

Der Anfangszustand istq1und der Endzustand istq2. Γ ={0,1,B}.

Zur Beschreibung von TMen dieser Form m¨ussen wir nur die Ubergangsfunktion als Bin¨¨ arstring kodieren.

Wir nummerieren das Alphabet durch,

indem wirX1=0, X2=1undX3=B setzen.

Auch die m¨oglichen Kopfbewegungen nummerieren wir,

(33)

G¨ odelnummern (3)

Kodierung der ¨Ubergangsfunktion

Der ¨Ubergangδ(qi,Xj) = (qk,X`,Dm)wird kodiert durch den Bin¨arstring

0i10j10k10`10m

Die Kodierung dest-ten ¨Ubergangs bezeichnen wir mitcode(t). Die G¨odelnummer einer TMM mit s Uberg¨¨ angen ist dann

hMi = 111 code(1)11 code(2)11. . .code(s)111

(34)

G¨ odelnummern (3)

Kodierung der ¨Ubergangsfunktion

Der ¨Ubergangδ(qi,Xj) = (qk,X`,Dm)wird kodiert durch den Bin¨arstring

0i10j10k10`10m

Die Kodierung dest-ten ¨Ubergangs bezeichnen wir mitcode(t).

Die G¨odelnummer einer TMM mit s Uberg¨¨ angen ist dann hMi = 111 code(1)11 code(2)11. . .code(s)111

(35)

G¨ odelnummern (3)

Kodierung der ¨Ubergangsfunktion

Der ¨Ubergangδ(qi,Xj) = (qk,X`,Dm)wird kodiert durch den Bin¨arstring

0i10j10k10`10m

Die Kodierung dest-ten ¨Ubergangs bezeichnen wir mitcode(t).

Die G¨odelnummer einer TMM mit s Uberg¨¨ angen ist dann hMi = 111 code(1)11 code(2)11. . . code(s)111

(36)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111

0101010001000 11 0100100010001000 11 010001001000100 11 00010101001000 11 000100100101000 11 000100010100010

111

(37)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111

0101010001000 11 0100100010001000 11 010001001000100 11 00010101001000 11 000100100101000 11 000100010100010

(38)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000

11 0100100010001000 11 010001001000100 11 00010101001000 11 000100100101000 11 000100010100010

111

(39)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000 110100100010001000

11 010001001000100 11 00010101001000 11 000100100101000 11 000100010100010

(40)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000 11 0100100010001000 11010001001000100

11 00010101001000 11 000100100101000 11 000100010100010

111

(41)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000 11 0100100010001000 11 010001001000100 11

11 000100100101000 11 000100010100010

(42)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000 11 0100100010001000 11 010001001000100 11 00010101001000 11000100100101000

11 000100010100010

111

(43)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000 11 0100100010001000 11 010001001000100 11

(44)

G¨ odelnummern: Beispielkodierung

· · ·

· · · B B B B B

δ 0 1 B

q1 (q1,B,R) (q3,B,R) (q2,B,N) q3 (q1,1,R) (q2,0,R) (q1,B,L)

Start Ende Blank q2

q1 B

Σ ={0,1}

Γ ={0,1,B} Q={q1,q2,q3}

111 0101010001000 11 0100100010001000 11 010001001000100 11 00010101001000 11 000100100101000 11 000100010100010 111

(45)

Kurt G¨ odel (1906–1978)

Wikipedia: Kurt Friedrich G¨odel war ein ¨Osterreichischer Mathematiker und einer der bedeutendsten Logiker des 20. Jahrhunderts. Er leistete maßgebliche Beitr¨age zur Pr¨adikatenlogik (Vollst¨andigkeit und Entscheidungsproblem in der Arithmetik und der axiomatischen Mengenlehre), zu den Beziehungen der intuitionistischen Logik zur klassischen Logik, und zur Relativit¨atstheorie in der Physik.

DerErste G¨odelsche Unvollst¨andig- keitssatzbesagt, dass es in jedem widerspruchsfreien Axiomensystem, das gen¨ugend reichhaltig ist, um die

Arithmetik der nat¨urlichen Zahlen in der

¨

ublichen Weise aufzubauen, Aussagen

(46)

Ende des Intermezzos — Zur¨ uck zur universellen

Turingmaschine

(47)

Implementierung der universellen TM (1)

Als Eingabe erh¨alt die universelle TMU

ein Wort der FormhMiw f¨ur beliebigesw ∈ {0,1}.

Wir implementierenU zun¨achst in Form einer 3-Band-TM: Band 1 von U simuliert das Band der TMM.

Band 2 von U enth¨alt die G¨odelnummer vonM.

Auf Band 3 speichertU den jeweils aktuellen Zustand vonM.

(48)

Implementierung der universellen TM (1)

Als Eingabe erh¨alt die universelle TMU

ein Wort der FormhMiw f¨ur beliebigesw ∈ {0,1}.

Wir implementierenU zun¨achst in Form einer 3-Band-TM:

Band 1 von U simuliert das Band der TMM.

Band 2 von U enth¨alt die G¨odelnummer vonM.

Auf Band 3 speichertU den jeweils aktuellen Zustand vonM.

(49)

Implementierung der universellen TM (1)

Als Eingabe erh¨alt die universelle TMU

ein Wort der FormhMiw f¨ur beliebigesw ∈ {0,1}.

Wir implementierenU zun¨achst in Form einer 3-Band-TM:

Band 1 von U simuliert das Band der TMM.

Band 2 von U enth¨alt die G¨odelnummer vonM.

Auf Band 3 speichertU den jeweils aktuellen Zustand vonM.

(50)

Implementierung der universellen TM (1)

Als Eingabe erh¨alt die universelle TMU

ein Wort der FormhMiw f¨ur beliebigesw ∈ {0,1}.

Wir implementierenU zun¨achst in Form einer 3-Band-TM:

Band 1 von U simuliert das Band der TMM.

Band 2 von U enth¨alt die G¨odelnummer vonM.

Auf Band 3 speichertU den jeweils aktuellen Zustand vonM.

(51)

Implementierung der universellen TM (2a)

Initialisierung:

U ¨uberpr¨uft, ob die Eingabe eine korrekte G¨odelnummer enth¨alt.

Falls nein: Fehlermeldung.

U kopiert die G¨odelnummer auf Band 2 und

schreibt die Kodierung des Anfangszustands auf Band 3. U bereitet Band 1 so vor, dass es nur das Wortw enth¨alt. Der Kopf steht auf dem ersten Zeichen vonw.

Die Laufzeit der Initialisierung istO(1),

wenn wir die Kodierungsl¨ange vonM als Konstante ansehen.

(52)

Implementierung der universellen TM (2a)

Initialisierung:

U ¨uberpr¨uft, ob die Eingabe eine korrekte G¨odelnummer enth¨alt.

Falls nein: Fehlermeldung.

U kopiert die G¨odelnummer auf Band 2 und

schreibt die Kodierung des Anfangszustands auf Band 3.

U bereitet Band 1 so vor, dass es nur das Wortw enth¨alt. Der Kopf steht auf dem ersten Zeichen vonw.

Die Laufzeit der Initialisierung istO(1),

wenn wir die Kodierungsl¨ange vonM als Konstante ansehen.

(53)

Implementierung der universellen TM (2a)

Initialisierung:

U ¨uberpr¨uft, ob die Eingabe eine korrekte G¨odelnummer enth¨alt.

Falls nein: Fehlermeldung.

U kopiert die G¨odelnummer auf Band 2 und

schreibt die Kodierung des Anfangszustands auf Band 3.

U bereitet Band 1 so vor, dass es nur das Wortw enth¨alt.

Der Kopf steht auf dem ersten Zeichen vonw.

Die Laufzeit der Initialisierung istO(1),

wenn wir die Kodierungsl¨ange vonM als Konstante ansehen.

(54)

Implementierung der universellen TM (2a)

Initialisierung:

U ¨uberpr¨uft, ob die Eingabe eine korrekte G¨odelnummer enth¨alt.

Falls nein: Fehlermeldung.

U kopiert die G¨odelnummer auf Band 2 und

schreibt die Kodierung des Anfangszustands auf Band 3.

U bereitet Band 1 so vor, dass es nur das Wortw enth¨alt.

Der Kopf steht auf dem ersten Zeichen vonw. Die Laufzeit der Initialisierung istO(1),

wenn wir die Kodierungsl¨ange vonM als Konstante ansehen.

(55)

Implementierung der universellen TM (2b)

Simulierte TuringmaschineM

· · ·

· · · B * * * * E i n g a b e * * * * * B B B

Initialisierung der universellen MaschineU

· · ·

· · · B * * * * E i n g a b e * * * * * B B B

· · ·

· · · B * * * ” M ” * * B B B

· · ·

· · · B 0 B B B

(56)

Implementierung der universellen TM (3)

Simulation eines einzelnen Schritts vonM:

U sucht zu dem Zeichen an der Kopfposition auf Band 1 und zu dem Zustand auf Band 3 die Kodierung des

entsprechenden ¨Ubergangs vonM auf Band 2.

Wie in der ¨Ubergangsfunktion beschrieben aktualisiert U die Inschrift auf Band 1, bewegtU den Kopf auf Band 1, und

ver¨andertU den auf Band 3 abgespeicherten Zustand von M. Laufzeit eines Simulationsschrittes:O(1).

U simuliertM mit konstantem Zeitverlust!

(57)

Implementierung der universellen TM (3)

Simulation eines einzelnen Schritts vonM:

U sucht zu dem Zeichen an der Kopfposition auf Band 1 und zu dem Zustand auf Band 3 die Kodierung des

entsprechenden ¨Ubergangs vonM auf Band 2.

Wie in der ¨Ubergangsfunktion beschrieben aktualisiert U die Inschrift auf Band 1, bewegtU den Kopf auf Band 1, und

ver¨andertU den auf Band 3 abgespeicherten Zustand von M.

Laufzeit eines Simulationsschrittes:O(1). U simuliertM mit konstantem Zeitverlust!

(58)

Implementierung der universellen TM (3)

Simulation eines einzelnen Schritts vonM:

U sucht zu dem Zeichen an der Kopfposition auf Band 1 und zu dem Zustand auf Band 3 die Kodierung des

entsprechenden ¨Ubergangs vonM auf Band 2.

Wie in der ¨Ubergangsfunktion beschrieben aktualisiert U die Inschrift auf Band 1, bewegtU den Kopf auf Band 1, und

ver¨andertU den auf Band 3 abgespeicherten Zustand von M.

Laufzeit eines Simulationsschrittes:O(1).

U simuliertM mit konstantem Zeitverlust!

(59)

Simulation durch universelle Maschine: Illustration

Simulierte TuringmaschineM

· · ·

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

· · ·

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

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

q3

q2

δ 0 1 B

q1 q2

q3 (q2,0,R)

Simulierende universelle MaschineU

· · ·

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

· · ·

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

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

· · ·

· · · 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B

(60)

Simulation durch universelle Maschine: Illustration

Simulierte TuringmaschineM

· · ·

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

· · ·

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

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

q3

q2

δ 0 1 B

q1 q2

q3 (q2,0,R)

Simulierende universelle MaschineU

· · ·

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

· · ·

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

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

· · ·

· · · 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B

(61)

Simulation durch universelle Maschine: Illustration

Simulierte TuringmaschineM

· · ·

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

· · ·

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

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

q3

q2

δ 0 1 B

q1 q2

q3 (q2,0,R)

Simulierende universelle MaschineU

· · ·

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

· · ·

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

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

· · ·

· · · 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B

Vergleiche Band 3 mit Band 2

(62)

Simulation durch universelle Maschine: Illustration

Simulierte TuringmaschineM

· · ·

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

· · ·

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

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

q3

q2

δ 0 1 B

q1 q2

q3 (q2,0,R)

Simulierende universelle MaschineU

· · ·

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

· · ·

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

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

· · ·

· · · 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B

Vergleiche Band 3 mit Band 2

(63)

Simulation durch universelle Maschine: Illustration

Simulierte TuringmaschineM

· · ·

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

· · ·

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

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

q3

q2

δ 0 1 B

q1 q2

q3 (q2,0,R)

Simulierende universelle MaschineU

· · ·

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

· · ·

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

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

· · ·

· · · 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B

Vergleiche Band 3 mit Band 2

(64)

Simulation durch universelle Maschine: Illustration

Simulierte TuringmaschineM

· · ·

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

· · ·

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

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

q3

q2

δ 0 1 B

q1 q2

q3 (q2,0,R)

Simulierende universelle MaschineU

· · ·

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

· · ·

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

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

· · ·

· · · 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B

· · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 0 B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B · · ·

· · · B 0 0 B B B B

Referenzen

ÄHNLICHE DOKUMENTE

Auch dieses Problem kann dadurch gel¨ ost werden, dass man einfach alle M¨ oglichkeiten durchprobiert. Und auch dieser Algorithmus ist

Basierend auf diesen Techniken k¨ onnen wir uns klar machen, dass bekannte Algorithmen (wie z.B. MergeSort) ohne Weiteres auf einer TM ausgef¨ uhrt werden k¨ onnen... Techniken

Variablen k¨ onnen realisiert werden, indem wir pro Variable eine Spur reservieren. Felder (Arrays) k¨ onnen ebenfalls auf einer Spur

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

Die Inhalte der Register sind nat¨ urliche Zahlen, die beliebig gross werden k¨ onnen.. in den ersten paar Registern

heute oder morgen oder in ferner Zukunft) um festzustellen, ob ein gegebenes Java Programm einer nicht-trivialen Spezifikation entspricht. Analoge Konsequenzen gelten f¨ ur alle

Variablen k¨ onnen realisiert werden, indem wir pro Variable eine Spur reservieren. Felder (Arrays) k¨ onnen ebenfalls auf einer eigenen Spur

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