Algorithmentheorie 2. Vorlesung

Ähnliche Dokumente
Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Theoretische Informatik 1

Algorithmentheorie 4. Vorlesung

Algorithmentheorie 8. Vorlesung

Typ-0-Sprachen und Turingmaschinen

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

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

Rekursiv aufzählbare Sprachen

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Algorithmentheorie 9. Vorlesung

Theoretische Informatik 1

1.5 Turing-Berechenbarkeit

Theoretische Informatik 1

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

Theoretische Informatik 1

1.5 Turing-Berechenbarkeit

Informatik III - WS07/08

Halteproblem/Kodierung von Turing-Maschinen

Mächtigkeit von WHILE-Programmen

Turing-Maschinen: Ein abstrakes Maschinenmodell

Theoretische Informatik 1

Berechenbarkeit und Komplexität Vorlesung 10

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

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

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

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

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

Die Komplexitätsklassen P und NP

Berechenbarkeit/Entscheidbarkeit

5.2 Endliche Automaten

ALP I Turing-Maschine

Das Halteproblem für Turingmaschinen

Weitere universelle Berechnungsmodelle

DisMod-Repetitorium Tag 4

3. RAM als Rechnermodell

Diskrete Mathematik II

Theoretische Informatik. Berechenbarkeit

WS07/08 Automaten und Formale Sprachen 14. Vorlesung

mehreren Präzisierungen des intuitiven Begriffs des Verfahren sein muss, so legt sich nahe, dass er Der Begriff der TURING-Maschine ist eine unter

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

Laufzeit einer DTM, Klasse DTIME

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

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

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

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

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

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

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

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

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

Einige Beispiele zur Turingmaschine

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

Unentscheidbarkeitssätze der Logik

Automaten und Formale Sprachen 14. Vorlesung

Berechenbarkeit. Script, Kapitel 2

Theoretische Grundlagen der Informatik

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

Einführung in die Theoretische Informatik

2. Tag. Teil II. 1.5 Interpretation der Grenzwertregeln

2.4 Kontextsensitive und Typ 0-Sprachen

Ogden s Lemma: Der Beweis (1/5)

Theoretische Grundlagen der Informatik

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Automaten und formale Sprachen Klausurvorbereitung

Grundbegriffe der Informatik Tutorium 13

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

Die Klassen P und NP. 4. Dezember / 39

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

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

Theoretische Grundlagen der Informatik

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

10. Der Äquivalenzsatz

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

Berechenbarkeit und Komplexität Vorlesung 11

Registermaschine (RAM), Church-Turing-These

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

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

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

Akzeptierende Turing-Maschine

Theoretische Informatik II

Theoretische Grundlagen der Informatik

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Präsenzübung Berechenbarkeit und Komplexität

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Grundlagen der Theoretischen Informatik

Transkript:

Algorithmentheorie 2. Vorlesung Martin Dietzfelbinger 13. April 2006 FG KTuEA, TU Ilmenau AT 13.04.2006

Maschinenmodelle Registermaschinen (RAMs) bearbeiten Zahlen Turingmaschinen (TMn) bearbeiten Wörter/Strings/Zeichenfolgen FG KTuEA, TU Ilmenau AT 13.04.2006 1

Registermaschinen Random Access Machine Rechner mit wahlfreiem Speicherzugriff 0: 1: 2:... l 1: B B B B 0 1 2 l 1 BZ 4 3 R 5 0 4 0 2 0 R R R R R R 0 1 2 3 4 5 6 Steuereinheit mit Programm und Befehlszähler Speicher FG KTuEA, TU Ilmenau AT 13.04.2006 2

Registermaschinen Komponenten: Speicher: Register R 0, R 1, R 2,... Inhalt: Natürliche Zahlen. Zu jedem Zeitpunkt: Nur endlich viele 0. Steuereinheit mit Befehlszähler Programm: Liste (B 0,..., B l 1 ) von Befehlen ( Primitiv-Assembler, das Programm spezifiziert RAM M) Befehlssatz: Siehe Skript. FG KTuEA, TU Ilmenau AT 13.04.2006 3

Registermaschinen Beispielprogramm Berechnung von a a 1 0. Zeile Befehl Kommentar 0 R 2 1 Konstante 1 1 R 4 1 a 0 0 2 if (R 3 = 0) goto 6 Zeilen 2 5: 3 R 4 R 4 R 1 Schleife 4 R 3 R 3 R 2 5 goto 2 6 R 1 R 4 Resultatformat 7 R 0 1 herstellen FG KTuEA, TU Ilmenau AT 13.04.2006 4

Registermaschinen Programmablauf Trace; Protokoll; Berechnung Schritt-Nr. R 0 R 1 R 2 R 3 R 4 BZ 0 2 6 0 3 0 0 1 2 6 1 3 0 1 2 2 6 1 3 1 2 3 2 6 1 3 1 3 4 2 6 1 3 6 4 5 2 6 1 2 6 5 6 2 6 1 2 6 2 7 2 6 1 2 6 3 FG KTuEA, TU Ilmenau AT 13.04.2006 5

Schritt-Nr. R 0 R 1 R 2 R 3 R 4 BZ 7 2 6 1 2 6 3 8 2 6 1 2 36 4 9 2 6 1 1 36 5 10 2 6 1 1 36 2 11 2 6 1 1 36 3 12 2 6 1 1 216 4 13 2 6 1 0 216 5 14 2 6 1 0 216 2 15 2 6 1 0 216 6 16 2 216 1 0 216 7 17 1 216 1 0 216 8 FG KTuEA, TU Ilmenau AT 13.04.2006 6

Registermaschinen Programmablauf Eingabe: Input (a 0,..., a n 1 ) N n : Anfangs steht n in R 0, a 0,..., a n 1 in R 1, R 3, R 5,..., R 2n 1. (R 2, R 4,... : Hilfsregister.) Dann wird Schritt für Schritt ausgeführt, gemäß Programm M. Halten: Wenn BZ l. Ausgabe: R 1, R 3,..., R 2m 1, wo m = R 0 FG KTuEA, TU Ilmenau AT 13.04.2006 7

Registermaschinen Beispiel Berechne Summe a 0 +... + a n 1 (Ausgabe in R 1 ) und Produkt a 0... a n 1 (Ausgabe in R 3 ). In R 2 : von n nach 0 herunterzählen in R 4 : Summe, in R 6 : Produkt akkumulieren, R 8 : Index des nächsten zu verarbeitenden Inputregisters, R 10 : Inhalt dieses Registers, R 12 : Konstante 1, R 14 : Konstante 2. FG KTuEA, TU Ilmenau AT 13.04.2006 8

Zeile Befehl Kommentar 0 R 12 1 Konstante 1 R 14 2 laden 2 R 2 R 0 n ins Zählregister 3 R 4 0 Initialisiere Teilsumme 4 R 6 1 und Teilprodukt 5 R 8 1 Indexregister auf R 1 stellen 6 if (R 2 = 0) goto 13 Schleife: Zeilen 6 12 7 R 10 R R8 Operanden holen 8 R 4 R 4 + R 10 addieren 9 R 6 R 6 R 10 multiplizieren 10 R 8 R 8 + R 14 Indexregister um 2 erhöhen 11 R 2 R 2 R 12 Zähler dekrementieren 12 goto 6 zum Schleifentest 13 R 1 R 4 Ausgabeformat 14 R 3 R 6 herstellen: 15 R 0 2 2 Ausgabewerte FG KTuEA, TU Ilmenau AT 13.04.2006 9

Registermaschinen berechnete Funktion Definition Für eine RAM M definieren wir: (a) H M := {(a 0,..., a n 1 ) Seq(N) auf Eingabe (a 0,..., a n 1 ) angesetzt, hält M nach endlich vielen Schritten} (b) Für a = (a 0,..., a n 1 ) Seq(N) sei undefiniert, falls a / H M ; (b f M (a) = 0,..., b m 1 ), falls M auf Eingabe (a 0,..., a n 1 ) beim Anhalten die Ausgabe (b 0,..., b m 1 ) erzeugt. f M heißt die von M berechnete Funktion. FG KTuEA, TU Ilmenau AT 13.04.2006 10

(c) Die Menge der RAM-berechenbaren Funktionen ist die Menge aller Funktionen f, die sich als f M oder als die Einschränkung eines f M auf ein N n, n fest, beschreiben lassen. FG KTuEA, TU Ilmenau AT 13.04.2006 11

Registermaschinen Laufzeit/Kosten Uniformes Kostenmaß oder Schrittmaß: c M,unif (a) Anzahl der Schritte, die M auf Eingabe a macht. FG KTuEA, TU Ilmenau AT 13.04.2006 12

Registermaschinen Laufzeit/Kosten Logarithmisches Kostenmaß oder Bitmaß Idee: es kostet 1, ein gespeichertes Bit zu lesen oder sonst zu verwenden. c M,logar (a) oder c logar (a) Jede in einem ausgeführten Befehl als Registerinhalt oder Operand vorkommende Zahl p trägt bin(p) = max{1, log 2 (p + 1) } (die Anzahl der Bits in der Binärdarstellung bin(p)) zu den Kosten bei, im Zusatz zu Grundkosten 1 für jeden Befehl. FG KTuEA, TU Ilmenau AT 13.04.2006 13

Berechnung von a a 1 0. Beispielprogramm Zeile Befehl Kommentar 0 R 2 1 Konstante 1 1 R 4 1 a 0 0 2 if (R 3 = 0) goto 6 Zeilen 2 5: 3 R 4 R 4 R 1 Schleife 4 R 3 R 3 R 2 5 goto 2 6 R 1 R 4 Resultatformat 7 R 0 1 herstellen FG KTuEA, TU Ilmenau AT 13.04.2006 14

Beispielprogramm Uniforme Kosten: c M,unif (a 0, a 1 ) = 5 + 4a 1 Logarithmische Kosten: c M,logar (a 0, a 1 ) = O(a 2 1 log a 0 ) + O(a 1 log a 1 ) + O(1) = O(a 2 1 log a 0 ). FG KTuEA, TU Ilmenau AT 13.04.2006 15

RAMs Symbolische Marken/Registernamen Ziel: Maximum von n Zahlen. R 0 für R 2 Konstante 0 R 1 für R 4 Konstante 1 R 2 für R 6 Konstante 2 R max für R 8 derzeitiges Maximum R akt für R 10 Zeiger im Array R hilf für R 12 Hilfsregister FG KTuEA, TU Ilmenau AT 13.04.2006 16

R 0 0 Initialisiere R 1 1 Konstante R 2 2 R max 0 max( ) := 0 R akt R 2 R 0 Zeiger auf R akt R akt R 1 R 2n 1 stellen fertig?: if (R akt = 0) goto fertig for-schleife R hilf R Rakt R hilf R hilf R max if (R hilf = 0) goto gleich R max R Rakt R max R Rakt gleich: R akt R akt R 2 goto fertig? fertig: R 1 R max Ausgabe- R 0 1 format FG KTuEA, TU Ilmenau AT 13.04.2006 17

RAMs Abstraktion/Idealisierung Man kann im Prinzip jedes Pascal/C/C++/Java-Programm in ein RAM-Programm transformieren, das dasselbe Ein-/Ausgabeverhalten hat. Dasselbe gilt für Haskell (funktional) oder Prolog (logisch) usw. (Benutze Compiler oder Interpretierer, führt schließlich auf Maschinenprogramm RAM-Programm.) FG KTuEA, TU Ilmenau AT 13.04.2006 18

RAMs Abstraktion/Idealisierung Jedes RAM-Programm kann in ein äquivalentes Pascal/C/C++/Java-Programm transformiert werden. Jede RAM-berechenbare Funktion kann durch ein Pascal/C/C++/Java-Programm berechnet werden. Wir abstrahieren von Speicherplatzbeschränkungen Rechenzeitbeschränkungen FG KTuEA, TU Ilmenau AT 13.04.2006 19

Turingmaschinen rechnen mit Zeichenreichen verallgemeinern DFAs und DPDAs verallgemeinern NFAs und NPDAs ( Nichtdeterminismus ) FG KTuEA, TU Ilmenau AT 13.04.2006 20

Turingmaschinen... B B B b a n d i n B B * # s c h r i f t B B B B B B B... Lese Schreib Kopf: Schreiben Lesen Bewegen um 1 Bandfeld Übergangsfunktion δ q m q 0 q 1 q q 3 2 Steuereinheit gegenwärtiger Zustand Zustandsmenge Q q FG KTuEA, TU Ilmenau AT 13.04.2006 21

Turingmaschinen Komponenten ein beidseitig unendliches Band, in Felder eingeteilt in Bandfeld: ein Bandbuchstabe aus Alphabet Γ Lese-/Schreibkopf, bewegt sich um (R/N/L) 1 Feld pro Schritt Steuereinheit mit Zustandsmenge Q und Programm oder Übergangsfunktion : δ : Q Γ Q Γ {R, N, L} { } FG KTuEA, TU Ilmenau AT 13.04.2006 22

Turingmaschinen Def.: Eine Turingmaschine M besteht aus sieben Komponenten Q, Σ, Γ, B, q 0, F, δ, wobei gilt: (a) Q ist eine endliche Menge. (Q ist die Menge der Zustände.) (b) Σ ist eine endliche nichtleere Menge. (Σ ist das Eingabealphabet.) (c) Γ ist eine endliche Menge mit Σ Γ. (Γ ist das Bandalphabet.) Dabei ist B Γ Σ. (B ist das Blanksymbol.) FG KTuEA, TU Ilmenau AT 13.04.2006 23

(d) q 0 Q. (q 0 ist der Startzustand.) (e) F Q. (F ist die Menge der akzeptierenden Zustände.) (f) δ : Q Γ Q Γ {R, N, L} { } ist die Übergangsfunktion. (Wenn δ(q, a) =, dann gilt δ(q, a) als undefiniert. δ ist also eine partielle Funktion.) FG KTuEA, TU Ilmenau AT 13.04.2006 24

Turingmaschinen ein Schritt Lies das Symbol a Γ, das in der eben vom Lese-Schreib- Kopf besuchten Zelle steht; Entscheide aufgrund des gegenwärtigen Zustands q und a, was der neue Zustand q, das neue Symbol a, die Bewegungsrichtung D sein soll, und führe die entsprechenden Übergänge aus. FG KTuEA, TU Ilmenau AT 13.04.2006 25

Turingmaschinen Startkonfiguration B B B B B B B B B B B e i n g a b e B B B B B B B B B B...... q 0 FG KTuEA, TU Ilmenau AT 13.04.2006 26

Turingmaschinen Ausgabewort... B i r r e l e v a n t r e s u l t a t B B i r r e l e v... q Alternative für Entscheidungsprobleme (Ja/Nein): Ausgabe per Zustand beim Anhalten. FG KTuEA, TU Ilmenau AT 13.04.2006 27

Turingmaschinen Beispiel TM M soll genau die Wörter der Sprache L = {a n b n c n n 0} akzeptieren. Wissen: Diese Sprache ist nicht kontextfrei. Also: TM mächtiger als NPDAs. FG KTuEA, TU Ilmenau AT 13.04.2006 28

Q = {A, C, D, E, H, Y } q 0 = A Σ = {a, b, c} Γ = {a, b, c, X, B} Blankbuchstabe B Turingmaschinen Beispiel FG KTuEA, TU Ilmenau AT 13.04.2006 29

Idee: Turingmaschinen Beispiel Fahre mit dem Kopf über den Eingabebereich hin und her. Bei jeder Reise von links nach rechts streiche ein a, ein b, ein c ab (ersetze durch X). Schließlich müssen alle Eingabebuchstaben durch X ersetzt worden sein. FG KTuEA, TU Ilmenau AT 13.04.2006 30

Übergangsfunktion δ als Tabelle: a q a b c X B A (C, X, R) (A, X, R) (Y, B, N) C (C, a, R) (D, X, R) (C, X, R) D (D, b, R) (E, X, R) (D, X, R) E (E, c, R) (H, B, L) H (H, a, L) (H, b, L) (H, c, L) (H, X, L) (A, B, R) Y FG KTuEA, TU Ilmenau AT 13.04.2006 31

Turingmaschinen graphische Darstellung X X, R X X a a, R, R X X b b, R, R A a X, R C b X, R D Start B B, N B B, R c X, R Y X X, L a a, L b b, L c c, L H B B, L E c c, R FG KTuEA, TU Ilmenau AT 13.04.2006 32

Turingmaschinen Beispiel Binäraddition a q 00 01 10 11 0 1 2 B p 0 (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R) p (p, 0, R) (p, 1, R) (p, 1, R) (p, 2, R) (r 0, B, L) r 0 (r 0, 0, L) (r 0, 1, L) (r 1, 0, L) (s 0, B, R) r 1 (r 0, 1, L) (r 1, 0, L) (r 1, 1, L) (s 1, 1, N) s 0, s 1 Ablauf einer Berechnung: FG KTuEA, TU Ilmenau AT 13.04.2006 33

B B (p 0, 10) 11 00 01 11 B B B 1 (p, 11) 00 01 11 B B B 1 2 (p, 00) 01 11 B B B 1 2 0 (p, 01) 11 B B B 1 2 0 1 (p, 11) B B B 1 2 0 1 2 (p, B) B B 1 2 0 1 (r 0, 2) B B B 1 2 0 (r 1, 1) 0 B B B 1 2 (r 1, 0) 0 0 B B B 1 (r 0, 2) 1 0 0 B B B (r 1, 1) 0 1 0 0 B B (r 1, B) 0 0 1 0 0 B B (s 1, 1) 0 0 1 0 0 B FG KTuEA, TU Ilmenau AT 13.04.2006 34

Turingmaschinen TMn definieren mathematisch exakt berechenbare Funktionen und entscheidbare Sprachen. (Es gibt einen Algorithmus zur berechning von f bzw. es gibt einen Algorithmus zur Entscheidung der Frage Ist x L?) Operationale Semantik Hier beispielhaft einmal vollständig ausgeführt. FG KTuEA, TU Ilmenau AT 13.04.2006 35

Turingmaschinen Konfiguration snapshot, Momentaufnahme, instantaneous description : Wort α 1 (q, a)α 2 mit q Q, a Γ, α 1, α 2 Γ, wobei α 1 nicht mit B beginnt und α 2 nicht mit B endet. Interpretation: Bandinhalt α 1 a α 2, außenherum B s, Kopf auf der Zelle mit Buchstaben a, Zustand q.... B B B B α 1 a α 2 B B B B B B B B... q FG KTuEA, TU Ilmenau AT 13.04.2006 36

Turingmaschinen Nachfolgekonfiguration k = α 1 (q, a)α 2 gegeben. δ(q, a) = : k Haltekonfiguration, kein Nachfolger. Sonst: δ(q, a) = (q, a, D) Bilde ˆk = B α 1 (q, a)α 2 B = γ 1 c(q, a)dγ 2 ˆk := γ 1 (q, c)a dγ 2, falls D = L; γ 1 ca (q, d)γ 2, falls D = R; γ 1 c(q, a )dγ 2, falls D = N. Entferne aus ˆk alle B s am Anfang und am Ende. Liefert Nachfolgekonfiguration k. FG KTuEA, TU Ilmenau AT 13.04.2006 37

Turingmaschinen Beispiele XXaX(C, b)bxcc XXaXX(D, b)xcc und XXaXXbX(D, c)c XXaXXbXX(E, c), aber auch cxcx(d, b) cxcxx(d, B), Haltekonfiguration (nicht akzeptierend): XaXb(D, a)c Haltekonfiguration (akzeptierend): XXX(Y, B) FG KTuEA, TU Ilmenau AT 13.04.2006 38

TM - indirekte Nachfolger k k : es existiert eine Folge k 0 M k 1 k i = k Erlaubt: i = 0, d.h. k k gilt. Reflexive und transitive Hülle von M FG KTuEA, TU Ilmenau AT 13.04.2006 39

Turingmaschinen Startkonfiguration... auf Eingabe x = a 1... a n Σ : init(x) := init M (x) := { (q0, a 1 )a 2 a n falls n 1 (q 0, B) falls n = 0 FG KTuEA, TU Ilmenau AT 13.04.2006 40

Gegeben: M, x. Turingmaschinen Berechnung Startkonfiguration k 0 = init(x) bestimmt eindeutig Konfigurationsfolge k 0 k 1 k 2 (endlich oder unendlich): die Berechnung von M auf x. FG KTuEA, TU Ilmenau AT 13.04.2006 41

Turingmaschinen 2 Möglichkeiten (i) Die Berechnung von M auf x ist endlich, d.h. init(x) k für eine (eindeutig bestimmte) Haltekonfiguration k. Wir sagen: M auf x hält. Wenn k akzeptierend: M akzeptiert x; wenn k verwerfend: M verwirft x. (ii) Die Berechnung von M auf x ist eine unendliche Folge von Konfigurationen. Wir sagen: M auf x hält nicht. FG KTuEA, TU Ilmenau AT 13.04.2006 42

Turingmaschinen Akzeptierte Sprache L M := {x Σ M akzeptiert x} FG KTuEA, TU Ilmenau AT 13.04.2006 43

Turingmaschinen Haltesprache H M := {x Σ M hält auf x}. FG KTuEA, TU Ilmenau AT 13.04.2006 44

Rekursiv aufzählbare und rekursive Sprachen Definition Eine Sprache L heißt rekursiv aufzählbar (r. a.) (oder TMakzeptierbar), falls es eine Turingmaschine M gibt, so dass L = L M ist. Definition Eine Sprache L heißt rekursiv (rek.) (oder TMentscheidbar), falls es eine Turingmaschine M gibt, die auf allen Inputs x Σ hält, so dass L = L M ist. FG KTuEA, TU Ilmenau AT 13.04.2006 45

Haltesprachen = r.a. Sprachen Bemerkung: {L M M TM} = {H M M TM}. Die Haltesprachen sind identisch mit den r.a. Sprachen. FG KTuEA, TU Ilmenau AT 13.04.2006 46

Turingmaschinen Ausgabe Ausgabe f M (x) von M auf x: Falls M auf x nicht hält, ist f M (x) undefiniert. Sonst sei k die (eindeutige) Haltekonfiguration mit init(x) M k, und k = α 1(q, b)α 2, α 1, α 2 Γ, b Γ, q Q. Dann ist f M (x) das längste Präfix von bα 2, das den Blankbuchstaben B nicht enthält. Beachte: Für die Bestimmung der Ausgabe von M auf x ist es unerheblich, ob M x akzeptiert oder verwirft. FG KTuEA, TU Ilmenau AT 13.04.2006 47

Definition Partiell rekursive Funktionen Eine Funktion f : D R heißt partiell rekursiv, falls es eine TM M = (Q, Σ, Γ,...) gibt derart dass D = H M, R (Γ {B}) und f = f M ist. Definition Eine Funktion f : Σ R heißt rekursiv oder deutlicher total rekursiv, falls es eine TM M = (Q, Σ, Γ,...) gibt derart dass f = f M ist. Beachte: Diese TM M hält auf allen Inputs x Σ. FG KTuEA, TU Ilmenau AT 13.04.2006 48

Skript Seiten 15 36 Bis nächste Woche Übungsaufgaben drucken und vorbereiten Schöne Ostertage! FG KTuEA, TU Ilmenau AT 13.04.2006 49