Berechenbarkeit. Script, Kapitel 2

Ähnliche Dokumente
Berechenbarkeit. Script, Kapitel 2

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

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit

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

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

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

2.4 Kontextsensitive und Typ 0-Sprachen

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008

LOOP-Programme: Syntaktische Komponenten

Weitere universelle Berechnungsmodelle

Berechenbarkeit und Komplexität

ALP I Turing-Maschine

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

Entscheidungsprobleme

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theorie der Informatik

LOOP-Programme: Syntaktische Komponenten

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

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

Theoretische Grundlagen der Informatik

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

Typ-0-Sprachen und Turingmaschinen

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik

Turing Maschinen II Wiederholung

Berechenbarkeit/Entscheidbarkeit

11.1 Kontextsensitive und allgemeine Grammatiken

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

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

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

Theoretische Informatik Mitschrift

Einige Beispiele zur Turingmaschine

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Universelle Rechner und Church sche These

Einführung in die Informatik Turing Machines

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

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Theoretische Informatik 1

Präsenzübung Berechenbarkeit und Komplexität

Mehrband-Turingmaschinen

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

Theoretische Grundlagen der Informatik

2.5 Halteproblem und Unentscheidbarkeit

Formale Sprachen und Automaten

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Einführung in die Informatik Turing Machines

Grundlagen der Theoretischen Informatik

Halteproblem/Kodierung von Turing-Maschinen

Theoretische Informatik 1

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

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

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

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

Deterministische Turing-Maschinen

Clevere Algorithmen programmieren

11.3 Eindimensionale Turingmaschinen

Kontextfreie Sprachen

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

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

Entscheidungsprobleme

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

2. Tag. Teil II. 1.5 Interpretation der Grenzwertregeln

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

Kapitel 3: Berechnungstheorie Gliederung

Alternative Berechnungsmodelle

Alan Mathison Turing ( )

Beispiele für Turingmaschinen. 1. Addition 1.1 Trennzeichen l öschen 1.2 Summanden kopieren

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

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Einführung in die Theoretische Informatik

ALP I Turing-Maschine

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

Theoretische Informatik 1

Grundlagen der Theoretischen Informatik

Formale Grundlagen der Wirtschaftsinformatik

Rekursiv aufzählbare Sprachen

Akzeptierende Turing-Maschine

Kontextfreie Sprachen

Theoretische Informatik II

Grundlagen der Theoretischen Informatik

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

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

Berechnungsmodelle. Mathias Hecht. April 29, 2010

Einführung in die Informatik

8. Turingmaschinen und kontextsensitive Sprachen

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

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

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Grundlagen der Theoretischen Informatik

Das Halteproblem für Turingmaschinen

Vorlesung Berechenbarkeit und Komplexität Wintersemester 2017/18

Theoretische Informatik 1

Transkript:

Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen B Reichel, R Stiebe 21

Intuitiver Algorithmusbegriff Ein Algorithmus überführt Eingabedaten in Ausgabedaten (wobei die Art der Daten vom Problem, das durch den Algorithmus gelöst werden soll, abhängig ist), besteht aus einer endlichen Folge von Anweisungen mit folgenden Eigenschaften: es gibt eine eindeutig festgelegte Anweisung, die als erste auszuführen ist, nach Abarbeitung einer Anweisung gibt es eine eindeutig festgelegte Anweisung, die als nächste abzuarbeiten ist, oder die Abarbeitung des Algorithmus ist beendet und hat eindeutig bestimmte Ausgabedaten geliefert, die Abarbeitung einer Anweisung erfordert keine Intelligenz (ist also prinzipiell durch eine Maschine realisierbar) B Reichel, R Stiebe 22

Beispiele für Algorithmen der Gaußsche 1 Algorithmus zur Lösung von linearen Gleichungssystemen (über den rationalen Zahlen), Kochrezepte (mit Zutaten und Kochgeräten als Eingabe und dem fertigen Gericht als Ausgabe), Bedienungsanweisungen für Geräte, PASCAL-Programme 1 Carl Friedrich Gauss, 1777 1855, deutscher Mathematiker B Reichel, R Stiebe 23

Idee der Turingmaschine 2 Arbeitsband beidseitig (potenziell) unendliches Band, in Felder eingeteilt; jedes Feld enthält einen Buchstaben aus dem Bandalphabet; zum Bandalphabet gehört das Leerzeichen oder Blank-Symbol Schreib-Lesekopf über dem Band beweglich bearbeitet ein aktuelles Feld endliche Steuerung oder Kontrolle endliche Menge von internen Zuständen, die den Programmablauf regeln 2 Alan Mathison Turing (1912 1954), britischer Mathematiker, Logiker, Kryptoanalytiker und Computerkonstrukteur B Reichel, R Stiebe 24

Veranschaulichung einer Turingmaschine x y z # x $ 1 1 unendliches Band endliche Kontrolle Schreib-Lesekopf B Reichel, R Stiebe 25

Definition der Turingmaschine Eine (deterministische) Turingmaschine (kurz: TM) ist gegeben durch ein 7-Tupel M = (Z, Σ, Γ, δ, z 0,, E) Hierbei sind Z eine endliche Menge (Zustandsmenge), Σ ein Alphabet (Eingabealphabet), Γ ein Alphabet (Bandalphabet) mit Σ Γ, δ : (Z \ E) Γ Z Γ {L, R, N} eine Funktion (Überführungsfunktion), z 0 Z (Anfangszustand), Γ \ Σ (Leerzeichen, Blank), E Z (Menge der Endzustände) B Reichel, R Stiebe 26

Erstes Beispiel einer Turingmaschine Gegeben sei die Turingmaschine M = ({z 0, z 1, z 2, z e }, {0, 1}, {0, 1, }, δ, z 0,, {z e }), wobei δ wie folgt definiert ist Wir geben dabei δ in einer Tabelle an, wobei im Kreuzungspunkt der Zeile mit der Bezeichnung a und der Spalte mit der Bezeichnung z der Funktionswert δ(z, a) steht δ z 0 z 1 z 2 (z 1,, L) (z e, 1, N) (z e,, R) 0 (z 0, 0, R) (z 2, 1, L) (z 2, 0, L) 1 (z 0, 1, R) (z 1, 0, L) (z 2, 1, L) B Reichel, R Stiebe 27

Konfiguration einer Turingmaschine Eine Konfiguration k einer Turingmaschine M = (Z, Σ, Γ, δ, z 0,, E) ist ein Wort k Γ ZΓ Dabei soll k = αzβ folgendermaßen interpretiert werden: αβ steht auf dem Eingabeband, des weiteren stehen nur noch Blankzeichen auf dem Band, die Turingmaschine befindet sich im Zustand z und der Kopf der Turingmaschine steht über dem ersten Symbol von β Eine Startkonfiguration ist k 0 = z 0 w mit w Σ Eine Endkonfiguration ist k e = m z e w n mit z e E, w Σ, m, n N B Reichel, R Stiebe 28

Die binäre Relation in der Menge der Konfigurationen (Änderung der Konfiguration in einem Schritt der TM) a 1 a m zb 1 b n a 1 a m z cb 2 b n falls δ(z, b 1 ) = (z, c, N), m 0, n 1, a 1 a m cz b 2 b n falls δ(z, b 1 ) = (z, c, R), m 0, n 2, a 1 a m 1 z a m cb 2 b n falls δ(z, b 1 ) = (z, c, L), m 1, n 1, a 1 a m zb 1 a 1 a m cz falls δ(z, b 1 ) = (z, c, R), m 0, zb 1 b n z cb 2 b n falls δ(z, b 1 ) = (z, c, L), n 1 B Reichel, R Stiebe 29

Die binäre Relation * (Änderung der Konfiguration in endlich vielen Schritten der TM) Mit bezeichnen wir den reflexiven und transitiven Abschluss der binären Relation, also es gilt k 0 k e genau dann, wenn (i) k 0 = k e ist, oder (ii) eine Zahl n 0 und Konfigurationen k 1, k 2,, k n existieren, so dass k 0 k 1 k 2 k n k e B Reichel, R Stiebe 30

Turingberechenbarkeit Eine Funktion f : Σ Σ heißt Turingberechenbar, falls es eine Turingmaschine M = (Z, Σ, Γ, δ, z 0,, E) gibt, so dass für alle x, y Σ gilt: f(x) = y genau dann, wenn z 0 x z e y für ein z e E Eine Funktion f : N k N für ein k N heißt Turingberechenbar, falls es eine Turingmaschine M = (Z, {0, 1, #}, Γ, δ, z 0,, E) gibt, so dass für alle n 1, n 2,, n k, m N gilt: f(n 1, n 2,, n k ) = m genau dann, wenn für ein z e E : z 0 bin(n 1 )#bin(n 2 )# #bin(n k ) z e bin(m) B Reichel, R Stiebe 31

Beispiele für Turingberechenbare Funktionen Die Nachfolgerfunktion f : N N vermöge n f(n) = n + 1 ist Turingberechenbar, da die Turingmaschine aus unserem ersten Beispiel die Eingabe bin(n) in die Ausgabe bin(n + 1) transformiert Die für alle Wörter aus {a, b} nicht-definierte Funktion Ω: {a, b} {a, b} vermöge w Ω(w) = nicht definiert ist Turing-berechenbar, da sie von der Turingmaschine M = ({z 0, z e }, {a, b}, {a, b, }, δ, z 0,, {z e }) mit δ(z 0, x) = (z 0, x, N) für alle x {a, b, } berechnet wird B Reichel, R Stiebe 32

Mehrband-Turingmaschinen k 1 Bänder (Eingabe/Ausgabe auf Band 1) Jedes Band hat einen eigenen Schreib-Lesekopf, der separat bewegt wird Formal δ : Z Γ k Z Γ k {L, R, N} k B Reichel, R Stiebe 33

Äquivalenz von Mehrband- und (Einband)-TM Zu jeder Mehrband-TM M gibt es eine (Einband-)TM M, die dieselbe Funktion berechnet wie M Mehrband-TM a a a b b a a b a b b a a a b a Einband-TM a a a b b a a b a b b a a a b a l k Bänder 1 Schritt 1 Band mit 2k Spuren 2(l + k) Schritte B Reichel, R Stiebe 34

Notationen : modifizierte Subtraktion : N 2 N vermöge (n 1, n 2 ) n 1 n 2 = { n 1 n 2 falls n 1 n 2, 0 sonst Band := Band + 1 : TM, die zu einer Zahl 1 dazuaddiert Band(i) := Band(i) + 1 : k-band-tm, die auf i-tem Band 1 addiert und alle anderen Bänder unverändert läßt Band(i) := Band(i) 1 : k-band-tm, die auf i-tem Band 1 modifiziert subtrahiert und alle anderen Bänder unverändert läßt Band(i) := Band(j) : k-band-tm, die Inhalt des j-ten Bandes auf i-tes Band kopiert B Reichel, R Stiebe 35

Nacheinanderausführung von Turingmaschinen Seien M 1 und M 2 zwei Turingmaschinen, so wollen wir durch start M 1 M 2 stop oder auch durch M 1 ; M 2 diejenige Turingmaschine verstehen, die zuerst wie die Turingmaschine M 1 arbeitet und wenn M 1 einen Stopzustand erreichen würde in den Anfangszustand von M 2 übergeht und jetzt wie die Turingmaschine M 2 arbeitet Sie stoppt dann, wenn M 2 einen Stopzustand erreichen würde B Reichel, R Stiebe 36

Beispiel für Nacheinanderausführung von TM Betrachten wir das Diagramm in folgender Abbildung So erkennen wir, dass dort das schematische Flussbild einer Turingmaschine steht, welche dreimal nacheinander zur Zahl auf dem Band 1 addiert, also es sich um die Turingmaschine Band := Band + 3 handelt B Reichel, R Stiebe 37

Beispiel für Verzweigung von TM Folgende Abbildung stellt eine sich verzweigende TM dar Sie soll nach Simulation der Turingmaschine M die Turingmaschine M 1 simulieren, falls sie bei der Simulation von M im Zustand z e1 stoppt Analog soll sie die Turingmaschine M 2 abarbeiten, falls sie bei der Simulation von M im Zustand z e2 stoppt B Reichel, R Stiebe 38

Beispiel für Band (i) = 0? Es sei M = ({z 0, z 1, ja, nein}, Σ, Γ, δ, z 0,, {ja, nein}) mit 0 Σ sowie mit der Überführungsfunktion δ, gegeben durch δ(z 0, a) = (nein, a, N) für a 0, δ(z 0, 0) = (z 1, 0, R), δ(z 1, a) = (nein, a, L) für a, δ(z 1, ) = (ja,, L) Diese Turingmaschine testet, ob die Eingabe genau das Wort 0 ist Falls ja, stoppt sie im Zustand ja, falls nein, stoppt sie im Zustand nein Wir wollen diese Turingmaschine mit Band = 0? bezeichnen Die k-band-tm, die das i-te Band auf 0 testet, nennen wir Band(i) = 0? B Reichel, R Stiebe 39

Beispiel für WHILE-Schleife Sei M eine beliebige Turingmaschine start Band (i) = 0? M nein ja stop Dann bezeichnen wir die Turingmaschine, die durch das Diagramm gegeben ist, mit WHILE Band(i) 0 DO M Die Arbeitsweise ist einfach zu erkennen B Reichel, R Stiebe 40