Modelle der Parallelverarbeitung

Ähnliche Dokumente
Formale Sprachen und Automaten

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

2. Berechnungsmächtigkeit von Zellularautomaten. Ziele Simulation von Schaltwerken Simulation von Turingmaschinen

Berechenbarkeit. Script, Kapitel 2

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Modelle der Parallelverarbeitung 7. Baumförmige Zellularautomaten

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

11.1 Kontextsensitive und allgemeine Grammatiken

8. Turingmaschinen und kontextsensitive Sprachen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

11. Übungsblatt. x y(top(push(x, y)) = y)

Einige Beispiele zur Turingmaschine

Grundlagen der Theoretischen Informatik

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

Übung Theoretische Grundlagen

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Theoretische Informatik I

Rekursiv aufzählbare Sprachen

Sprachen und Automaten. Tino Hempel

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Theoretische Informatik 1

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

1 Varianten von Turingmaschinen

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

Berechenbarkeit/Entscheidbarkeit

Theoretische Informatik 1

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Welches ist die fleißigste unter allen erdenklichen Turingmaschinen mit n Zuständen?

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

Theoretische Informatik 2

Theoretische Informatik 1

Theoretische Grundlagen der Informatik

Grundbegriffe der Informatik

Theoretische Informatik I

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Theoretische Informatik 1

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Automaten und Formale Sprachen

Theoretische Grundlagen der Informatik

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Automaten und Coinduktion

Grundlagen der Theoretischen Informatik

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Lösungen zur 3. Projektaufgabe TheGI1

LOOP-Programme: Syntaktische Komponenten

Das Rechenmodell namens. Turing-Maschine. Hans U. Simon (RUB) Homepage:

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Kontextfreie Grammatiken

Theoretische Informatik 2

Theoretische Informatik I

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

1 Random Access Maschine

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

THEORETISCHE INFORMATIK

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Automaten und formale Sprachen Klausurvorbereitung

Komplexität und Komplexitätsklassen

7. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Grundlagen der Informatik II

Einführung in die Theoretische Informatik

Deterministische Turing-Maschinen

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Ausgewählte unentscheidbare Sprachen

THEORETISCHE INFORMATIK

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Einführung in die Informatik Turing Machines

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Reguläre Sprachen und endliche Automaten

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Formale Sprachen und Automaten

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Lexikalische Programmanalyse der Scanner

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Nichtdeterministische Platzklassen

Grundbegriffe der Informatik

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Automaten und Formale Sprachen ε-automaten und Minimierung

Deterministischer Kellerautomat (DPDA)

Theoretische Grundlagen der Informatik

Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Übung zur Vorlesung Theoretische Information. Pumping Lemma

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

Einführung in die Theoretische Informatik

Transkript:

Modelle der Parallelverarbeitung Modelle der Parallelverarbeitung 1. Turingmaschinen Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Sommersemester 2017 1 / 52

Überblick Überblick Turingmaschinen mit einem Arbeitsband Der rote Faden durch die Vorlesung Weiteres zu Turingmaschinen mit einem Arbeitsband Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit speziellen Bändern 2 / 52

Turingmaschinen mit einem Arbeitsband Überblick Turingmaschinen mit einem Arbeitsband Der rote Faden durch die Vorlesung Weiteres zu Turingmaschinen mit einem Arbeitsband Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit speziellen Bändern 3 / 52

Turingmaschinen mit einem Arbeitsband Turingmaschinen, einfachster Fall Eine Turingmaschine besteht im einfachsten Fall aus einem Arbeitsband ein Schreib-Lese-Kopf auf dem Band, verbunden mit einer Steuereinheit Alan Turing On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42, S. 230 265, 1936. 4 / 52

Turingmaschinen mit einem Arbeitsband Definition von W 1 -TM Bestandteile T = (S,..., B,..., δ,... ) Zustandsmenge S Bandalphabet B Überführungsfunktion δ : S B S B D mit D = { 1, 0, 1} 5 / 52

Turingmaschinen mit einem Arbeitsband Definition von W 1 -TM Bestandteile T = (S,..., B,..., δ,... ) Zustandsmenge S Bandalphabet B Überführungsfunktion δ : S B S B D mit D = { 1, 0, 1} bzw. δ = (δ s, δ b, δ d ) mit Notation W 1 : δ s : S B S δ b : S B B δ d : S B D ein W: ein Arbeitsband (working tape) Index 1: ein Kopf auf dem Band 5 / 52

Turingmaschinen mit einem Arbeitsband Arbeitsweise von W 1 -TM Konfiguration ( globaler Gesamtzustand ): c = (s,b,p) mit Zustand s S Bandbeschriftung b : Z B, i. e. b B Z Kopfposition p Z schreibe C T oder C für die Menge aller Konfigurationen ein globaler Schritt : C C, wobei (s,b,p) = (s,b,p ) mit s = δ s (s,b(p)) { b δ b (s,b(p)) falls i = p (i) = b(i) falls i p p = p + δ d (s,b(p)) 6 / 52

Turingmaschinen mit einem Arbeitsband Beispiel S = {A, B,C, D, E, F, Z } B = {1, } L statt 1, R statt +1 δ gegeben durch die folgende Tabelle: A B C D E F Z B1R C R D1L E L A R A1L 1 F L D R E1R D L C1R Z 1R 7 / 52

Turingmaschinen mit einem Arbeitsband Beispiel A B 1 C 1 D 1 1 E 1 1 C 1 1 D 1 1 1 D 1 1 8 / 52

Turingmaschinen mit einem Arbeitsband Beispiel A B 1 C 1 D 1 1 E 1 1 C 1 1 D 1 1 1 D 1 1 fleißiger Bieber (http://www.drb.insel.de/~heiner/bb/): mehr als 1.2 10 865 Einsen, mehr als 3.0 10 1730 Schritte 8 / 52

Turingmaschinen mit einem Arbeitsband Ein noch fleißigerer Biber Pavel Kropitz (2010) A B C D E F Z B1R C1R D1L E1R A1L Z 1L 1 E1L F 1R B0R C L D R C1R mehr als 3.514 10 18276 Einsen nach mehr als 7.412 10 36534 Schritten http://www.drb.insel.de/~heiner/bb/bb-xlist.txt 9 / 52

Der rote Faden durch die Vorlesung Überblick Turingmaschinen mit einem Arbeitsband Der rote Faden durch die Vorlesung Weiteres zu Turingmaschinen mit einem Arbeitsband Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit speziellen Bändern 10 / 52

Der rote Faden durch die Vorlesung In dieser Vorlesung betrachten wir Modelle der Parallelverarbeitung und zwar vom Standard -Standpunkt endliche Eingabe endliche Berechung endliche Ausgabe These von Church/Turing: Alle vernünftigen Modelle können die gleichen Funktionen berechnen. Das kann man für die parallelen Modelle auch beweisen. Wozu also Betrachtung paralleler Modelle? (und wozu Turingmaschinen?) 11 / 52

Der rote Faden durch die Vorlesung Effizienz Unterschiede zwischen verschiedenen Modellen erhofft/erwartet Zusammenhänge zwischen verschiedenen Modellen erhofft/erwartet wie messen? Komplexitätsmaße, genauer gesagt Maße für Berechnungskomplexität: Zeitkomplexität: Anzahl benötigter Schritte Platzkomplexität/Raumkomplexität:... andere...?... 12 / 52

Der rote Faden durch die Vorlesung Varianten gegeben: ein paralleles Modell! Es gibt schöne Algorithmen.? Wie realistisch ist das Modell?! Das Modell ist realistisch.? Wie schöne Algorithmen gibt es? tendenziell zu Beginn der Vorlesung: eher Standpunkt 1 gegen Ende der Vorlesung: eher Standpunkt 2 13 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Überblick Turingmaschinen mit einem Arbeitsband Der rote Faden durch die Vorlesung Weiteres zu Turingmaschinen mit einem Arbeitsband Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit speziellen Bändern 14 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband In dieser Vorlesung überwiegend Entscheidungsprobleme, also Erkennung formaler Sprachen: endliche Eingabe: ein Wort w A + endliche Berechung endliche Ausgabe: ein Bit (akzeptiert/abgelehnt) 15 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Eingabe formaler Sprachen bei TM Anfangszustand s 0 S Eingabealphabet A B { } Blanksymbol Anfangskonfiguration zu w: init : A + C : w 1 w n (s 0,b w, 1) mit { w i falls 1 i n b w (i) = sonst 16 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Halten bei TM und Erkennung formaler Sprachen Menge von Endzuständen F S isfinal : C B : (s,b,p) [s F] Forderung s F a B : δ(s, a) = (s, a, 0) stellt sicher, dass Endkonfigurationen erhalten bleiben. Menge akzeptierender Endzustände F + F isaccepting : C B : (s,b,p) [s F + ] isaccepting(c) = isfinal(c) 17 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Definition: Zeitkomplexität von TM In dieser Vorlesung: O. B. d. A. hält jede Maschine für jede Eingabe. akzeptable Annahme für z. B. harmlose Zeitschranken Dann sind die folgenden Funktionen total: time : A + N + w min{t N + isfinal( t (init(w)))} Time : N + N + n max{time(w) w A n } Diese Definition passt auch für andere Modelle, zum Beispiel W -TM siehe dort 18 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Von TM erkannte Sprache L(T ) = {w A + isaccepting( time(w) (init(w)))} Diese Definition passt auch für andere Modelle. 19 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Raumkomplexität für TM: 1. Versuch die Funktion (Diskussion: welche?) mem : C N + beschreibe den Speicherplatzbedarf einer Konfiguration definiere: space : A + N + w max{mem( t (init(w))) t time(w)} Space : N + N + n max{space(w) w A n } Was ist hier (unter Umständen) noch unzureichend? 20 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Raumkomplexität für TM: 2. Versuch Definiere: left-end : A + Z + w min {p Z t time(w) : in t (init(w)) wird p benutzt} right-end : A + Z + w max {p Z t time(w) : in t (init(w)) wird p benutzt} space : A + N + w 1 + right-end(w) left-end(w) Space : N + N + n max{space(w) w A n } Diskussion: andere Ideen? 21 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Definition: Raumkomplexität für TM Definiere: used-mem : C 2 Z c {p Z in c wird Feld p benutzt} space : A + N + w t time(w) used-mem( t (init(w))) Space : N + N + n max{space(w) w A n } leicht anpassbar an andere Modelle, z. B. W -TM dieses Thema kommt wieder... siehe dort 22 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Eine Beispielsprache Theorem Jede W 1 -TM, die die formale Sprache L vv = {v2 v v v {0, 1} + } erkennt, hat Zeitkomplexität Time T (n) Ω(n 2 ). F. C. Hennie One-tape, Off-line Turing Machine Computations. Information and Control 8, S. 553 578, 1965. 23 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Beweis des Satzes von Hennie zunächst technisches Hilfsmittel für den Beweis: sogenannte Überquerungsfolgen 24 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Überquerungsfolgen: Definition sei w A + und i Z Überquerungsfolge cs(w, i) die Liste der Zustände der TM bei Übergängen von Feld i nach i + 1 oder umgekehrt, wenn sie mit init(w) startet Überquerungsfolgen können leer sein. 25 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Zwei Beispielüberquerungsfolgen q 1 q 2 q 3 q 4 q 1 q 2 26 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Überquerungsfolgen Definition Für w = w 1 w n A n und 1 i < j w bezeichne w[i : j] das Teilwort w i w j. Lemma Es seien w 1 und w 2 Wörter, die von TM gleich behandelt werden, d. h. beide akzeptiert oder beide abgelehnt werden. Es seien i 1 und i 2 zwei Feldnummern mit 1 i 1 < w 1 und 1 i 2 < w 2, so dass cs(w 1, i 1 ) = cs(w 2, i 2 ) ist. 27 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Überquerungsfolgen Definition Für w = w 1 w n A n und 1 i < j w bezeichne w[i : j] das Teilwort w i w j. Lemma Es seien w 1 und w 2 Wörter, die von TM gleich behandelt werden, d. h. beide akzeptiert oder beide abgelehnt werden. Es seien i 1 und i 2 zwei Feldnummern mit 1 i 1 < w 1 und 1 i 2 < w 2, so dass cs(w 1, i 1 ) = cs(w 2, i 2 ) ist. Dann gilt:... was?... 27 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Beweisskizze zum Lemma q 1 q 2 q 1 q 2 q 1 q 2 28 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Überquerungsfolgen Definition Für w = w 1 w n A n und 1 i < j w bezeichne w[i : j] das Teilwort w i w j. Lemma Es seien w 1 und w 2 Wörter, die von TM gleich behandelt werden, d. h. beide akzeptiert oder beide abgelehnt werden. Es seien i 1 und i 2 zwei Feldnummern mit 1 i 1 < w 1 und 1 i 2 < w 2, so dass cs(w 1, i 1 ) = cs(w 2, i 2 ) ist. Dann gilt: Das Eingabewort w 1 [1 : i 1 ] w 2 [i 2 + 1 : w 2 ] wird genauso behandelt wie w 1 und w 2. 29 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Beweisskizze zum Lemma q 1 q 2 q 1 q 2 q 1 q 2 30 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Satz von Hennie Theorem Jede W 1 -TM, die die formale Sprache L vv = {v2 v v v {0, 1} + } erkennt, hat Zeitkomplexität Time T (n) Ω(n 2 ). 31 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Beweis Betrachte verschiedene Wörter w 1 L vv und w 2 L vv gleicher Länge n = 3m. w i = v i 2 m v i mit v i {0, 1} m (i = 1, 2) wegen w 1 w 2 auch v 1 v 2 Wegen des eben bewiesenen Lemmas gilt: Es darf keine Zustandsfolge s = (s 1,..., s k ) geben, so dass cs(w 1, i 1 ) = s = cs(w 2, i 2 ) für m/3 < i 1 < 2m/3 und m/3 < i 2 < 2m/3 denn für v 1 v 2 ist kein Wort v 1 2 l v 2 L vv. In L vv sind 2 m Wörter der Länge 3m. 32 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Beweis des Satzes von Hennie (2) Zählt man alle Überquerungsfolgen mit einer Länge i < m/log S, so kommt man nur auf (m/log S ) 1 i=0 S i < S m/log S = (2 log S ) m/log S = 2 m Also müssen für mindestens ein Wort in L vv A 3m alle mittleren m 1 Überquerungsfolgen eine Länge von mindestens m/log S haben. Jeder Zustand in jeder Überquerungsfolge bedeutet einen Schritt der TM. Also ist die Anzahl TM-Schritte für diese Eingabe mindestens (m 1)m/loд S Ω(n 2 ). 33 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband andererseits... Beobachtung Es gibt eine W 1 -TM T mit Time T (n) Θ(n 2 ), die L vv erkennt. Übung... 34 / 52

Weiteres zu Turingmaschinen mit einem Arbeitsband Schreibweise: Komplexitätsklassen W 1 -TM-Spc(s(n))-Time(t(n)) Menge der formalen Sprachen, die von W 1 -TM T erkannt werden können mit Space T (n) s(n) und Time T (n) t(n) analog für W 1 -TM-Time(t(n)), etc. analog für W 1 -TM-Time(O(t(n))), etc. Beispiele: L vv W 1 -TM-Time(Θ(n 2 )) L vv W 1 -TM-Time(o(n 2 )) W 1 -TM-Time(Pol(n)) = P mit Pol(t(n)) = k N + O(t(n) k ) 35 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Überblick Turingmaschinen mit einem Arbeitsband Der rote Faden durch die Vorlesung Weiteres zu Turingmaschinen mit einem Arbeitsband Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit speziellen Bändern 36 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit mehreren Bändern/Köpfen unter Umständen mehrere Köpfe auf einem Band: W 1 oder W 2 oder W 3 oder... falls egal: W unter Umständen mehrere Bänder: W h1 W h2 W hk falls mehrere gleiche Bänder: z. B. 3W 5, W 1, W alle Köpfe mit der gleichen Steuereinheit verbunden 37 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit mehreren Bändern/Köpfen unter Umständen mehrere Köpfe auf einem Band: W 1 oder W 2 oder W 3 oder... falls egal: W unter Umständen mehrere Bänder: W h1 W h2 W hk falls mehrere gleiche Bänder: z. B. 3W 5, W 1, W alle Köpfe mit der gleichen Steuereinheit verbunden Ist das dann schon Parallelverarbeitung? 37 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM analog zu W 1 -TM, aber: δ : S B h 1 B h k S (B D) h 1 (B D) h k 38 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM analog zu W 1 -TM, aber: δ : S B h 1 B h k S (B D) h 1 (B D) h k Problem: 38 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM analog zu W 1 -TM, aber: δ : S B h 1 B h k S (B D) h 1 (B D) h k Problem: Die TM merkt nicht, wenn mehrere Köpfe auf dem gleichen Feld stehen. 38 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM analog zu W 1 -TM, aber: δ : S B h 1 B h k S (B D) h 1 (B D) h k Problem: Die TM merkt nicht, wenn mehrere Köpfe auf dem gleichen Feld stehen. Schreibkonflikte?! 38 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM analog zu W 1 -TM, aber: δ : S B h 1 B h k S (B D) h 1 (B D) h k Problem: Die TM merkt nicht, wenn mehrere Köpfe auf dem gleichen Feld stehen. Schreibkonflikte?! Lösungsmöglichkeiten: Verbot Kopf mit kleinster Nummer gewinnt auch nichts schreiben ermöglichen 38 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM analog zu W 1 -TM, aber: δ : S B h 1 B h k S (B D) h 1 (B D) h k Problem: Die TM merkt nicht, wenn mehrere Köpfe auf dem gleichen Feld stehen. Schreibkonflikte?! Lösungsmöglichkeiten: Verbot Kopf mit kleinster Nummer gewinnt auch nichts schreiben ermöglichen und Konflikte verbieten Das nehmen wir. 38 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Definition von W h1 W h2 W hk -TM Also: δ : S B h 1 B h k S (B D) h 1 (B D) h k mit B = B { }, wobei das nichts schreiben bedeutet. Diese Definition ermöglicht einer TM, herauszufinden, ob sich zwei Köpfe auf dem gleichen Feld befinden. Wie? also Schreibkonflikte problemlos vermeidbar 39 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Konfigurationen von W -TM c = (s,b 1,...,b k, (p 1,1,...,p 1,h1 ),... (p k,1,...,p k,hk )) mit s S b i B Z p i, j Z 40 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Erkennung formaler Sprachen mit W -TM analog wie bei W 1 -TM: Anfangszustand s 0 Anfangsbandbeschriftungen auf erstem Band das Eingabewort ggf. weitere Bänder leer Köpfe zu Beginn alle auf Feld 1 ihres Bandes finale und akzeptierende Zustände 41 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Zeit- und Raumkomplexität für W -TM Zeitkomplexität wie bei W 1 -TM siehe dort Raumkomplexität analog zu W 1 -TM siehe dort, aber used-mem : C 2 N + Z. 42 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Beispiel L vv mit W 3 -TM an der Tafel 43 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Beispiel L vv mit W 3 -TM an der Tafel Ergebnis: L vv W 3 -TM-Spc(Θ(n))-Time(Θ(n)) 43 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Beispiel L vv mit W 3 -TM an der Tafel Ergebnis: L vv W 3 -TM-Spc(Θ(n))-Time(Θ(n)) Kurzes Nachdenken zeigt, dass auch gilt: L vv W 2 -TM-Spc(Θ(n))-Time(Θ(n)) 43 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Zusammenhang zwischen W 1 - und W -TM Satz Für alle s(n) und t(n) größer gleich n gilt: W -TM-Spc(s(n))-Time(t(n)) W 1 -TM-Spc(Θ(s(n)))-Time(Θ(s(n) t(n))) W 1 -TM-Spc(Θ(s(n)))-Time(Θ(t(n) 2 )) Beweisidee: an der Tafel Das Beispiel L vv zeigt, dass der Exponent 2 optimal ist. Für die umgekehrte Richtung W 1 W kennt man keine wesentlichen Beschleunigungssätze. 44 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Zusammenhang zwischen W 1 - und W -TM etwas kompakter (ohne (n) ) notiert: Satz Für alle Raumschranken s id und Zeitschranken t id gilt: W -TM-Spc(s)-Time(t) W 1 -TM-Spc(Θ(s))-Time(Θ(s t)) W 1 -TM-Spc(Θ(s))-Time(Θ(t 2 )) 45 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Zusammenhang bei TM mit gleicher Gesamtkopfzahl 46 / 52

Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Zusammenhang bei TM mit gleicher Gesamtkopfzahl Satz Für alle t(n) n gilt: W k -TM-Time(t(n)) kw 1 -TM-Time(Θ(t(n))) H. J. Stoß. k-band-simulation von k-kopf-turing-maschinen. Computing, 6:309 317, 1970. Richtung kw 1 W k ist viel leichter... Satz ist nichttrivial man versuche sich an einem Beweis... 46 / 52

Turingmaschinen mit speziellen Bändern Überblick Turingmaschinen mit einem Arbeitsband Der rote Faden durch die Vorlesung Weiteres zu Turingmaschinen mit einem Arbeitsband Turingmaschinen mit mehreren Arbeitsbändern/Köpfen Turingmaschinen mit speziellen Bändern 47 / 52

Turingmaschinen mit speziellen Bändern Motivation Erkennung einer regulären Sprache mit einer W 1 -TM: 48 / 52

Turingmaschinen mit speziellen Bändern Motivation Erkennung einer regulären Sprache mit einer W 1 -TM: TM fährt nur lesend nur einmal über das Wort 48 / 52

Turingmaschinen mit speziellen Bändern Motivation Erkennung einer regulären Sprache mit einer W 1 -TM: TM fährt nur lesend nur einmal über das Wort Das Arbeits -Band wird gar nicht als Arbeitsspeicher (zum Merken berechneter Informationen) benötigt. Aber die Definition von Raumkomplexität nimmt darauf keine Rücksicht. (könnte sie?) Man möchte aber gerne sublineare Raumkomplexitäten, z. B. 0 im Fall regulärer Sprachen. Ein analoges Problem werden wir in einem späteren Kapitel bei der Erzeugung großer Ausgaben durch eine TM haben. 48 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. 49 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. Es kann nur gelesen werden. 49 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. Es kann nur gelesen werden. Es gibt nur einen einzigen Kopf darauf. 49 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. Es kann nur gelesen werden. Es gibt nur einen einzigen Kopf darauf. Diskussion: Warum? 49 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. Es kann nur gelesen werden. Es gibt nur einen einzigen Kopf darauf. Diskussion: Warum? Der Kopf darf nur auf den Eingabesymbolen und dem jeweils ersten links bzw. rechts angrenzenden leeren Feld stehen 49 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. Es kann nur gelesen werden. Es gibt nur einen einzigen Kopf darauf. Diskussion: Warum? Der Kopf darf nur auf den Eingabesymbolen und dem jeweils ersten links bzw. rechts angrenzenden leeren Feld stehen Diskussion: Warum? 49 / 52

Turingmaschinen mit speziellen Bändern Separates Eingabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. Es kann nur gelesen werden. Es gibt nur einen einzigen Kopf darauf. Diskussion: Warum? Der Kopf darf nur auf den Eingabesymbolen und dem jeweils ersten links bzw. rechts angrenzenden leeren Feld stehen Diskussion: Warum? Schreibweise: z. B. E-W 1 -TM 49 / 52

Turingmaschinen mit speziellen Bändern Beispiel: Erkennung L vv mit einer E-W 1 -TM an der Tafel: Variante mit kleiner Raumkomplexität 50 / 52

Turingmaschinen mit speziellen Bändern Beispiel: Erkennung L vv mit einer E-W 1 -TM an der Tafel: Variante mit kleiner Raumkomplexität Ergebnis: L vv E-W 1 -TM-Spc(O(logn))-Time(Pol(n)) 50 / 52

Turingmaschinen mit speziellen Bändern Beispiel: Erkennung L vv mit einer E-W 1 -TM an der Tafel: Variante mit kleiner Raumkomplexität Ergebnis: L vv E-W 1 -TM-Spc(O(logn))-Time(Pol(n)) Und was hat das in dieser Vorlesung zu suchen...?... 50 / 52

Turingmaschinen mit speziellen Bändern Separates Ausgabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. anfangs immer leer; Es gibt nur einen einzigen Kopf darauf, 51 / 52

Turingmaschinen mit speziellen Bändern Separates Ausgabeband für TM Wird bei der Bestimmung der Raumkomplexität ignoriert. anfangs immer leer; Es gibt nur einen einzigen Kopf darauf, der nur schreiben und sich nur nach rechts bewegen kann. Schreibweise: z. B. A-W 1 -TM 51 / 52

Turingmaschinen mit speziellen Bändern Zusammenfassung W 1 -Turingmaschinen benötigen zur Erkennung von L vv mindestens quadratische Zeit. Mit einer W 2 -Turingmaschine kann man L vv in Linearzeit erkennen. Mit einer E-W 1 -Turingmaschine kann man L vv auf logarithmischem Platz erkennen. Eingabe- und Ausgabebänder werden bei der Bestimmung der Raumkomplexität einer TM nicht berücksichtigt. 52 / 52