Mehrband-Turingmaschinen

Ähnliche Dokumente
Mehrband-Turingmaschinen und die universelle Turingmaschine

VL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Berechenbarkeit. Script, Kapitel 2

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Turing Maschinen II Wiederholung

Berechenbarkeit. Script, Kapitel 2

1.5 Turing-Berechenbarkeit

LOOP-Programme: Syntaktische Komponenten

1.5 Turing-Berechenbarkeit

GOTO simuliert Turingmaschinen

Halteproblem/Kodierung von Turing-Maschinen

Grundlagen der Theoretischen Informatik

Turing-Maschinen: Ein abstrakes Maschinenmodell

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

Einführung in die Theoretische Informatik

Weitere universelle Berechnungsmodelle

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

THEORETISCHE INFORMATIK UND LOGIK

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Berechenbarkeit und Komplexität

Theoretische Informatik 1

Churchsche These. Die Menge der Turing-berechenbaren Funktionen ist genau die Menge der im intuitiven Sinne berechenbaren Funktionen.

Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge.

Berechenbarkeit und Komplexität Vorlesung 11

Theoretische Informatik SS 03 Übung 3

Mächtigkeit von WHILE-Programmen

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Theoretische Informatik SS 03 Übung 4

Grundbegriffe der Informatik

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Theoretische Informatik Mitschrift

Komplexitätstheorie WiSe 2008/09 in Trier. Henning Fernau Universität Trier

LOOP-Programme: Syntaktische Komponenten

THEORETISCHE INFORMATIK UND LOGIK

Theoretische Informatik II

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ

THEORETISCHE INFORMATIK UND LOGIK

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Universelle Maschinen und universelle Funktionen

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus

Grundlagen der Theoretischen Informatik: Übung 10

Präsenzübung Berechenbarkeit und Komplexität

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

MPCP das modifizierte PCP

Rekursive Aufzählbarkeit Die Reduktion

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Berechenbarkeit und Komplexität Vorlesung 10

5.2 Endliche Automaten

Berechenbarkeitstheorie 14. Vorlesung

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

Übungsblatt Nr. 4. Lösungsvorschlag

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

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Mächtigkeit von WHILE-Programmen

Registermaschine (RAM), Church-Turing-These

VL-02: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Syntax von LOOP-Programmen

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Grundlagen der Theoretischen Informatik

Einige Beispiele zur Turingmaschine

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

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

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst

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

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Typ-0-Sprachen und Turingmaschinen

1 Random Access Maschine

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Mächtigkeit von WHILE-Programmen

Theorie der Informatik

Algorithmen und Datenstrukturen

Lösungen zur 3. Projektaufgabe TheGI1

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Einführung in die Theoretische Informatik

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These

ALP I Turing-Maschine

2.4 Kontextsensitive und Typ 0-Sprachen

Berechenbarkeitstheorie 1. Vorlesung

Formale Grundlagen der Wirtschaftsinformatik

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Universelle Rechner und Church sche These

2. Tag. Teil II. 1.5 Interpretation der Grenzwertregeln

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

Theoretische Informatik 1

Alternative Berechnungsmodelle

Modelle der Parallelverarbeitung

Wie man eine Sprache versteht

Übung Theoretische Grundlagen

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theorie der Informatik

Transkript:

Mehrband-Turingmaschinen Definition wie bei 1-Band-TM, nur mehrere Bänder. Dann natürlich pro Band ein Schreib-/Lesekopf. Übergangsfunktion von Z k nach Z k {L, R, N} k. Satz: Zu jeder Mehrband-Turingmaschine M gibt es eine 1-Band-TM M 0 mit T (M) =T (M 0 ) bzw. bei Funktionenberechnung so, dass M und M 0 dieselbe Funktion berechnen. Einheit 6 Folie 6.1

Beweis des Satzes M sei k-band-tm mit Arbeitsalphabet. Idee: Spuren (auf 1 Band) ersetzen Bänder der Mehrband-TM Problem: Viele Köpfe müssen durch einen Kopf simuliert werden! Lösung: Simuliere z.b. zwei Bänder durch zwei Spuren eines Bandes. Dabei ersetzen wir das Bandalphabet durch 0 0 mit 0 = [{ˆ 2 }. Das Hütchen in ˆ markiert eine virtuelle Kopfposition. Nun muss man allerdings für jeden Schritt der ursprünglichen TM einmal das gesamte Band durchgehen. Machen Sie sich klar, warum das im allgemeinen tatsächlich notwendig ist! Einheit 6 Folie 6.2

Beweis des Satzes (Details) Das neue Bandalphabet 0 0 ist geeignet, um auf einem Band den Inhalt zweier Bänder (jeweils mit Alphabet )undfür beide Schreib-/Leseköpfe die Kopfpositionen darzustellen. Die Simulation eines Schrittes der 2-Band-TM verläuft dann etwa folgendermaßen: Einmal wird das gesamte Band (z.b. von links nach rechts) gelesen. Dabei werden alle Informationen gesammelt, die notwendig sind, um festzustellen, welcher Übergang durchzuführen ist. Nun wird das gesamte Band noch einmal (diesmal von rechts nach links) gelesen, wobei die zum durchgeführten Übergang gehörenden Änderungen ausgeführt werden. Weitere Details werden an der Tafel vorgeführt und diskutiert. Einheit 6 Folie 6.3

Notation für spezielle Turingmaschinen Sei M eine 1-Band-TM. M(i, k) bezeichnet die k-band-maschine, die wie M arbeitet, wobei Band i als Arbeitsband benutzt wird (übrige Bänder ungenutzt). Technisch bedeutet das, dass der Übergang (von M) (z, a) =(z 0, b, y) in M(i, k) zu folgendem Übergang wird: (z, c 1,...,c i 1, a, c i+1,...,c k )= (z 0, c 1,...,c i 1, b, c i+1,...,c k, N,...,N, y, N,...,N) (Wo genau steht hier das y in der Liste von N s?) Wenn der Wert von k uninteressant ist, schreiben wir M(i). Einheit 6 Folie 6.4

Weitere Schreibweisen Band := Band+1 oder Band := Band 1 Band i := Band i + 1 oder Band i := Band i 1 Sei M eine Maschine, die die Inkrement-Funktion berechnet, M 0 entsprechend für die Dekrement-Funktion. Dann sind M(i) und M 0 (i) die Maschinen für Band i := Band i ± 1. Band i := 0 Wir beginnen mit einer Maschine M für Band := 0-dasisteinfach. Dann ist M(i) die gesuchte Maschine! Band i := Band j Auch das ist eine kleine Programmierübung. Voraussetzung ist hier allerdings, dass die Bänder diszipliniert verwendet werden. (Z.B. Kopf immer wieder zum Anfang) Einheit 6 Folie 6.5

Hintereinanderausführung Flussdiagrammnotation: start! M 1! M 2! stop Programmiersprachen-Notation: Bedeutung: M 1 ; M 2 Die Maschinen M i seien als 7-Tupel (Z i,, Dabei sei o.b.d.a. Z 1 \ Z 2 = ;. i, i, z i,, E i ) gegeben. Als M 1 ; M 2 bezeichnen wir dann die folgende Maschine M: M =(Z 1 [ Z 2,, 1 [ 2,,z 1,, E 2 ) mit = 1 [ 2 [{(z, a, z 2, a, N) z 2 E 1, a 2 1 } Einheit 6 Folie 6.6

Anwendung/Variation z.b. Erzeugen der Konstante 5 auf Band 3 und 6 auf Band 5: M sei die Maschine Band := Band+1. Definiere ˆM so: ˆM: start! M! M! M! M! M! stop Damit: Band 3 := 0; ˆM(3); Band 5 := 0; ˆM(5); M(5) Notation für Aufspaltung: Die folgende Notation benutzen wir, um mit Turingmaschinen ein Analogon zur IF-THEN-ELSE-Konstruktion der Programmiersprachen zu erhalten: z e1 M 1! stop start! M 0 z e2 M 2! stop Einheit 6 Folie 6.7

Nulltest Wir wollen eine Turingmaschine entwerfen, die abfragt, ob Band i den Wert 0 hat: (z, a) =(nein, a, N) für alle a 2 \{0} (z, 0) =(z 1, 0, R) (z 1, a) =(nein, a, N) für alle a 2 \{0} (z 1, ) =(ja,, L) Diese Maschine heiße Band = 0? Wir schreiben Band i = 0? statt Band = 0?(i) Einheit 6 Folie 6.8

While-Schleife als Turingmaschine Benutze die Nulltest-Maschine für die Ablaufkontrolle: Ja start Band i = 0? stop Nein M Diese Konstruktion entspricht while Band i 6= 0doM. Einheit 6 Folie 6.9