VL-02: Turing Maschinen II
(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger
WS 2019, RWTH
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
Wiederholung
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
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 ∈Γ\Σ, q0,¯q∈Q und
δ: (Q\ {¯q})×Γ→Q×Γ× {R,L,N}.
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),
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
Frage: Macht diese Variante das TM Modell st¨arker oder schw¨acher?
Wdh.: Laufzeit und Speicherbedarf
Laufzeit = Anzahl von Rechenschritten bis zur Terminierung Speicherbedarf = Anzahl von Bandzellen, die w¨ahrend der Berechnung besucht werden
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
Schleifen, Variablen, Felder (Arrays), Unterprogramme
Vorlesung VL-02 Turing Maschinen II
Mehrband-Turingmaschinen G¨odelnummern
Die universelle Turingmaschine Church-Turing These
Mehrband-Turingmaschinen
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
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.
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
#
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.
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.
Die universelle Turingmaschine
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.
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.
Intermezzo: G¨ odelnummern
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.
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,
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
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 01010100010001101001000100010001101000100100010011 000101010010001100010010010100011000100010100010111
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 gibt, die aus diesem weder bewiesen noch widerlegt werden k¨onnen.
Ende des Intermezzos — Zur¨ uck zur universellen
Turingmaschine
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.
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.
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
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!
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
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
Implementierung der universellen TM (4)
K¨onnen wir dieses Ergebnis auch mit einer (1-Band-)TM erreichen?
Nat¨urlich k¨onnen wir die beschriebene 3-Band-TM auf der 1-Band TM mit mehreren Spuren simulieren.
Aber bei Verwendung dieser Simulation handeln wir uns einen quadratischen Zeitverlust ein.
Wir erhalten eineuniverselle 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.
Die Church-Turing These
Alonzo Church (1903–1995)
Wikipedia: Alonzo Church was an American mathematician and logician who made major contributions to mathematical logic and the foundations of theoretical computer science.
He is best known for the creation of the lambda calculus, the
Church-Turing thesis, proving that the Entscheidungsproblem is undecidable, proving that Peano arithmetic is undecidable, Frege-Church ontology, and the Church-Rosser theorem.
Alonzo Church was the founding editor of the Journal of Symbolic Logic, and he edited its reviews section until 1979.
Alan Mathison Turing OBE FRS (1912–1954)
Wikipedia: Alan Turing was an English computer scientist, mathematician, logician, cryptanalyst, philosopher and theoretical biologist.
Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence.
Die Church-Turing These
Kein bekanntes “vern¨unftiges” Rechnermodell ist m¨achtiger als die TM:
Lambda-Kalk¨ul (Alonzo Church):gleich m¨achtigwie TM Kanonische Systeme (Emil Post):gleich m¨achtigwie TM
µ-rekursive Funktionen (Stephen Kleene):gleich m¨achtigwie TM Alonzo Church und Alan Turing formulierten in den 1930er Jahren:
Church-Turing These
Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der “intuitiv berechenbaren” Funktionen ¨uberein.
Sprachliche ¨Ubereinkunft f¨ur den Rest der Vorlesung:
berechenbare Funktion= TM-berechenbare Funktion= rekursive Funktion entscheidbare Sprache= TM-entscheidbare Sprache= rekursive Sprache