1 Varianten von Turingmaschinen



Ähnliche Dokumente
Theoretische Grundlagen der Informatik

Theoretische Informatik Mitschrift

Das Halteproblem für Turingmaschinen

Rekursiv aufzählbare Sprachen

Theoretische Informatik II

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

Weitere universelle Berechnungsmodelle

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

8. Turingmaschinen und kontextsensitive Sprachen

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

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

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

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008

Informatik III - WS07/08

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

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

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Typ-0-Sprachen und Turingmaschinen

Rekursive Aufzählbarkeit Die Reduktion

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Lösungen zur 3. Projektaufgabe TheGI1

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Theoretische Grundlagen der Informatik

Wie man eine Sprache versteht

Theoretische Informatik I

Formale Grundlagen der Wirtschaftsinformatik

1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

Unentscheidbare Probleme bei formalen Sprachen

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

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

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

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

Lösungen zu Übungsblatt 6

Theoretische Informatik Mitschrift

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

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

Musterlösung Informatik-III-Nachklausur

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

Vorlesung Theoretische Informatik (Info III)

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Präsenzübung Berechenbarkeit und Komplexität

Theorie der Informatik

Halteproblem/Kodierung von Turing-Maschinen

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Ausgewählte unentscheidbare Sprachen

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Formale Sprachen. Script, Kapitel 4. Grammatiken

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

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

Theoretische Grundlagen der Informatik

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

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

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

Theoretische Grundlagen der Informatik

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Grundlagen der Theoretischen Informatik

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

Willkommen zur Vorlesung Komplexitätstheorie

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

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

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

Ogden s Lemma: Der Beweis (1/5)

Reduktionen. Formalisierung von Sprache A ist nicht schwerer als Sprache B.

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Automatentheorie und formale Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen

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

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Akzeptierbarkeit und Entscheidbarkeit. Teil V.

Grundlagen der Theoretischen Informatik

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Automaten und formale Sprachen Klausurvorbereitung

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Kontextfreie Sprachen

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

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

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

Software Engineering Ergänzung zur Vorlesung

Kontextfreie Sprachen

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

(Prüfungs-)Aufgaben zu formale Sprachen

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

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

Einführung in die Computerlinguistik

Die mathematische Seite

THEORETISCHE INFORMATIK UND LOGIK

Transkript:

1 Varianten von Turingmaschinen Es gibt weitere Definitionen für Turingmaschinen. Diese haben sich aber alle als äquivalent herausgestellt. Ein wiederkehrendes Element der Vorlesung: Äquivalenz von Formalismen zeigen (z.b. durch konstruktive Beweise). Bsp.: DEA = NEA = ε-nea = RegEx = RLIN, PDA = CFG, 2-PDA = QA = TM = CH0-G (a) TMs mit k Bändern: Ein- und Ausgabe auf Band 1, k Lese-/Schreibköpfe, ein paralleler Schritt für alle Köpfe Simulation: Schreibe alle Bandinhalte durch Trennsymbole getrennt hintereinander Markiere Kopfpositionen durch neue Symbole laufe von links nach rechts und sammle die Symbole ein (nur endlich viele Kombinationen möglich) laufe über das Band und führe nacheinander alle Änderungen durch (endlich viele) Sollte mal ein Band voll werden, so unterbrich die aktuelle Arbeit, verschiebe alle Symbole um ein Feld, und fahre dann fort. Am Ende muss man das Band entsprechend leeren. (b) TMs mit k Köpfen (c) TMs mit zweidimensionalem Band (d) TMs mit einseitig unendlichem Band 1.1 TMs mit Endzuständen nicht äquivalent, da nur Sprachakzeptor (also keine allgemeine Ausgabe mehr) Def. 1.12 (1) Eine Konfiguration K = uqv von τ heißt akzeptierend, falls q F ist. (2) Sei v Σ. Die TM τ akzeptiert v, falls es eine akzeptierende Endkonfiguration K mit α(v) τ K gibt. (3) Die von τ akzeptierte Sprache ist L(τ) = {v Σ τ akzeptiert v}. 1

Eine Sprache L Σ heißt Turing-akzeptierbar, falls es eine TM τ mit Endzuständen gibt, für die L = L(τ) gilt. (4) Mit T bezeichnen wir in diesem Zusammenhang die von Turingmaschinen akzeptierten Sprachen. Satz 1.13 Sei L Σ und L = Σ \ L. L und L sind Turing-akzeptierbar L ist Turing-entscheidbar. Bew.: : Sei L durch τ entscheidbar. Durch Hinzufügen von Endzustandsübergängen erhält man akzeptierende TM für L und L. : L werde durch τ 1 und L durch τ 2 akzeptiert. Konstruiere nun τ mit 2 Bändern so, dass ein Schritt von τ 1 auf Band 1 und gleichzeitig ein Schritt von τ 2 auf Band 2 ausgeführt wird. Akzeptiert τ 1 das vorgegebene Wort, so gibt τ den Wert 1 aus. Sonst akzeptiert τ 2 das vorgegebene Wort, und τ gibt den Wert 0 aus. Somit entscheidet τ die Sprache L. Bem.: Wenn nur L Turing-akzeptierbar ist, so folgt noch nicht, dass L auch Turing-entscheidbar ist. Die akzeptierende TM könnte nämlich für Wörter aus L nicht anhalten. 1.2 Nichtdeterministische TMs Nur sinnvoll für Sprachakzeptanz; später und im nächsten Kapitel werden wir den Nichtdeterminismus als Hilfsmittel zum Raten verwenden. Idee: In jedem Schritt gibt es nur endlich viele Möglichkeiten. Laufe in Breitensuche durch den Suchbaum und zähle alle Möglichkeiten auf. Simuliere dann nacheinander alle Möglichkeiten systematisch. Sei r der höchste Grad an Nichtdeterminismus. Wir konstruieren eine TM mit 3 Bändern, die auf Band 1 das Eingabewort v unverändert speichert. Auf Band 2 werden alle Wörter über Σ = {1,..., r} der Länge nach und bei gleicher Länge in lexikografischer Reihenfolge erzeugt, d.h. ε, 1, 2,..., r, (1, 1), (1, 2), (1, r), (2, 1),..., (r, r),.... Auf Band 3 wird jeweils die Simulation der aktuellen Auswahl durchgeführt. Wenn es eine gültige Konfigurationenfolge gibt, die in einem Endzustand hält, wird das Wort irgendwann akzeptiert. Wenn nicht, gibt es zwei Möglichkeiten: Der Suchbaum ist endlich, d.h. jede mögliche Reihenfolge führt irgendwann zur Terminierung. Dann terminiert der Algorithmus. Es gibt nicht-terminierende Läufe. Dann terminiert der Algorithmus nicht, sondern zählt immer längere Reihenfolgen auf. 2

Bem.: Es werden u.u. Reihenfolgen aufgezählt, die nicht durchführbar sind. Das kann aber erkannt werden; in diesem Fall wird die Simulation einfach übersprungen. Der Suchaufwand ist exponentiell (Suchbaum mit Breite r). 2 Grammatiken Def. 2.1 CH0-Grammatik in Kurzform: Für Regeln u v in P gilt: u = u 1 Au 2 für u 1 u 2 (T N), A N Def. 2.2 Eine Sprache L T heißt Chomsky-0-Sprache, wenn es eine CH0- Grammatik G mit L(G) = L gibt. Satz 2.3 Jede Turing-akzeptierbare Sprache L T ist eine Chomsky-0- Sprache (T CH0). Beweis: Gegeben TM τ mit o.b.d.a. F = {q e } und in jeder Endkonfiguration ist der Lesekopf auf dem ersten Zeichen des Bandes. Wir konstruieren eine Grammatik G in vier Schritten: (1) G 1 = (N 1, T, P 1, S): Doppel- Anfangskonfiguration erzeugen: Für alle w T gilt S w#α(w)$ Wähle N 1 = {S, #, $, q 0,, A, B} {C a a T } und P 1 wie folgt: P 1 = { S #q 0 $} Start { S aa#c a $ a T } setze erstes Symbol { C a b bc a a, b T } bewege C a nach rechts { C a $ Ba$ a T } ersetze C a ganz rechts { bb Bb b T } bewege B nach links {A#B #q 0 } terminiere {A#B aa#c a a T } füge ein neues Symbol ein (2) G 2 = (N 2, T, P 2, S): Transitionsrelation τ simulieren: N 2 = {S, #, $} Q Γ, sodass für alle w T, v Γ gilt: α(w) τ q e v w#α(w)$ G 2 w#q e v$. 3

Wir benutzen die Übergangsfunktion δ: P 2 = {qa q a q, q Q und a, a Γ und δ(q, a) = (q, a, S) } {qab a q b q, q Q und a, a, b Γ und δ(q, a) = (q, a, R) } { qa$ a }{{} q $ q, q Q und a, a Γ nd δ(q, a) = (q, a, R) } TM steht vor rechtem Rand {bqa q ba q, q Q und a, a, b Γ und δ(q, a) = (q, a, L) } { #qa #q }{{} a q, q Q und a, a Γ und δ(q, a) = (q, a, L) } TM steht vor linkem Rand (3) G 3 = (N 3, T, P 3, S): Endkonfiguration löschen: N 3 = {S, #, $, q e,, D}, sodass für alle w T, v Γ gilt: Wähle P 3 wie folgt: w#q e v$ G 3 w. P 3 = { #q e D, Da D für alle a Γ, D$ ε } (4) Abschluss: Definiere G = (N, T, P, S) wie folgt: N = N 1 N 2 N 3, P = P 1 P 2 P 3 (disjunkte Vereinigung). Dann gilt für alle w T, v Γ : α(w) τ q e v S G w#α(w)$ (Regeln P 1) G w#q ev$ (Regeln P 2 ) G w (Regeln P 3) Für beachte man, dass auf ein vorgegebenes Wort über N T höchstens aus einer der drei Regelmengen P 1, P 2 oder P 3 eine Regel angewandt werden kann. Insgesamt erhalten wir L(G) = L. Korollar 2.4 Sei die Funktion f : T der Graph von f, d.h. die Menge part T Turing-berechenbar. Dann ist 4

eine CH0-Sprache. L = {w#f(w) w T und f(w) ist definiert}, Bew.: Wenn f von einer TM τ berechnet wird, so gibt es eine 2-Band TM τ, die L akzeptiert. Die TM τ arbeitet wie folgt: (1) τ belässt ein vorgegebenes Eingabewort der Form w#v unverändert auf dem 1. Band. (2) τ kopiert den Anteil w auf das anfangs leere 2. Band und simuliert dann τ auf diesem Band. (3) Falls τ hält, wird das Ergebnis f(w) der Endkonfiguration mit dem Anteil v des 1. Bandes verglichen. Falls f(w) = v gilt, akzeptiert τ die Eingabe w#v auf dem 1. Band. Anderenfalls akzeptiert τ die Eingabe w#v auf dem 1. Band nicht. Damit ist L Turing-akzeptierbar, also nach Satz 2.3 eine CH0-Sprache. Satz 2.5 Jede CH0-Sprache L T ist Turing-akzeptierbar (CH0 T ). Bew.: L werde von einer CH0-Grammatik G erzeugt, also L(G) = L. Wir konstruieren eine nichtdeterministische TM τ mit 2 Bändern, die L akzeptiert. Die TM τ arbeitet wie folgt: (1) τ belässt ein vorgegebenes Eingabewort w T unverändert auf dem 1. Band. (2) Auf dem anfangs leeren 2. Band erzeugt τ schrittweise Wörter über N T gemäß den Regeln aus P, beginnend mit dem Startwort S. In jedem Schritt wählt τ nichtdeterministisch ein Teilwort u aus dem zuletzt erzeugten Wort und eine Regel u v aus P und ersetzt dann u durch v. Entsteht in irgendeinem Schritt das Eingabewort w, so wird w akzeptiert. Damit gilt: τ akzeptiert L. 5