• 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!
37
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 ∈Γ\Σ, q0,¯q∈Q und

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

(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

Frage: Macht diese Variante das TM Modell st¨arker oder schw¨acher?

(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

Schleifen, Variablen, Felder (Arrays), Unterprogramme

(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 (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

#

(15)

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.

(16)

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.

(17)

Die universelle Turingmaschine

(18)

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.

(19)

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.

(20)

Intermezzo: G¨ odelnummern

(21)

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.

(22)

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,

(23)

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

(24)

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

(25)

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.

(26)

Ende des Intermezzos — Zur¨ uck zur universellen

Turingmaschine

(27)

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.

(28)

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.

(29)

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

(30)

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!

(31)

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

(32)

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

(33)

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.

(34)

Die Church-Turing These

(35)

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.

(36)

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.

(37)

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

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

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

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

I 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

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