Akzeptierende Turing-Maschine

Ähnliche Dokumente
Informatik III - WS07/08

Theoretische Grundlagen der Informatik

A : z z A : z z : ( z, x, z ) δ

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

Kurz-Skript zur Theoretischen Informatik I

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

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

10 Kellerautomaten. Kellerautomaten

Nichtdeterministischer Kellerautomat

Formale Sprachen und endliche Automaten

Kontextfreie Sprachen

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

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

Typ-0-Sprachen und Turingmaschinen

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

Übersicht. 3 3 Kontextfreie Sprachen

F2 Zusammenfassung Letzte Tips zur Klausur

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Grundlagen der Informatik II

Rekursiv aufzählbare Sprachen

Kontextfreie Sprachen

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

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

Motivation natürliche Sprachen

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201

Einführung in die Computerlinguistik

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

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

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

Einführung in die Theoretische Informatik

Grundlagen der Theoretischen Informatik

Automaten und formale Sprachen Klausurvorbereitung

Turing-Maschine Definition

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

Theoretische Informatik II

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

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

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

Theorie der Informatik

Grundlagen der Theoretischen Informatik

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

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

Formale Sprachen. Script, Kapitel 4. Grammatiken

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Das Halteproblem für Turingmaschinen

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

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

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

Musterlösung Informatik-III-Klausur

Ogden s Lemma: Der Beweis (1/5)

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

5.2 Endliche Automaten

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

11.1 Kontextsensitive und allgemeine Grammatiken

Spracherkennung (Syntaxanalyse)

Musterlösung Informatik-III-Nachklausur

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

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

Klausur zur Vorlesung Einführung in die Theoretische Informatik

Theoretische Informatik 1

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

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

Nachklausur zur Vorlesung

Theoretische Grundlagen der Informatik

Automatentheorie und formale Sprachen rechtslineare Grammatiken

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen

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

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

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

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

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

Universität Heidelberg 23. Juli 2018 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl. Math. Martin Monath

Formale Sprachen und Automaten

Chomsky-Grammatiken 16. Chomsky-Grammatiken

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

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

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Teil IV. Kontextfreie Sprachen, Teil 4: Kellerautomaten

Kontextfreie Sprachen werden von PDAs akzeptiert

Formale Sprachen und Automaten: Tutorium Nr. 8

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

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Informatik I

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

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

8. Turingmaschinen und kontextsensitive Sprachen

Die mathematische Seite

2.4 Kontextsensitive und Typ 0-Sprachen

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

Transkript:

Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte Sprache T (M) wird durch T (M) = {w : w X, (λ, z 0, w) = (v 1, q, v 2 ) für ein q F } definiert. Theoretische Informatik, Formale Sprachen und Automaten 60

Akzeptierende Turing-Maschine Beispiel I M 1 = ({a, b}, {z 0, z a, z b, q a, q b }, z 0, {q a, q b }, δ, {q a }) δ z 0 z a z b (q,, N) (q a, a, N) (q b, b, N) a (z a,, R) (z a, a, R) (z b, a, R) b (z b,, R) (z a, b, R) (z b, b, R) T (M 1) = {aw w {a, b} }. Theoretische Informatik, Formale Sprachen und Automaten 61

Akzeptierende Turing-Maschine Beispiel II M 2 = ({a, b}, {z 0, z 1, q}, z 0, {q}, δ, {q}) δ z 0 z 1 (z 0,, N) (q,, N) a (z 1, a, R) (z 0, a, R) b (z 1, b, R) (z 0, b, R) T (M 2) = {w : w {a, b}, w ungerade}. Theoretische Informatik, Formale Sprachen und Automaten 62

Eine Normalform für akzeptierende Turing-Maschinen Lemma: Zu jeder akzeptierenden Turing-Maschine M gibt es eine akzeptierende Turing-Maschine M, deren Menge der Stopzustände mit der Menge der akzeptierenden Zustände übereinstimmt und für die T (M) = T (M ) gilt. Dabei kann die Menge der Stopzustände von M einelementig gewählt werden. Satz: Eine Sprache wird genau dann von einer Turing-Maschine akzeptiert, wenn sie Definitionsbereich einer Turing-berechenbaren Funktion ist. Theoretische Informatik, Formale Sprachen und Automaten 63

Rekursive Sprachen Definition: Eine Sprache L X heißt rekursiv, falls es eine akzeptierende Turing-Maschine M = (X, Z, z 0, Q, δ, F ) gibt, die auf jeder Eingabe stoppt und L akzeptiert. Satz: Eine Sprache L X ist genau dann rekursiv, wenn sowohl L als auch X \ L von Turing-Maschinen akzeptiert werden Satz: Für eine rekursive Menge L ist die charakteristische Funktion ϕ L (x) = { 0 x / L 1 x L von L algorithmisch berechenbar. Satz: Die Menge der rekursiven Sprachen ist echt in der Menge der von Turing- Maschinen akzeptierbarten Sprachen enthalten. Theoretische Informatik, Formale Sprachen und Automaten 64

Turing-Maschinen versus Regelgrammatiken Lemma: Zu jeder Turing-Maschine M gibt es eine Regelgrammatik G mit L(G) = T (M). Lemma: Zu jeder Regelgrammatik G gibt es eine nichtdeterministische Turing-Maschine M mit T (M) = L(G). Satz: Die folgenden Aussagen sind äquivalent: i) L wird von einer Regelgrammatik erzeugt. ii) L wird von einer deterministischen Turing-Maschine akzeptiert. iii) L wird von einer nichtdeterministischen Turing-Maschine akzeptiert. Theoretische Informatik, Formale Sprachen und Automaten 65

Nichtdeterministische Turing-Maschinen Definition: Eine nichtdeterministische Turing-Maschine M ist ein Quintupel M = (X, Z, z 0, Q, τ, F ), wobei X, Z, z 0, Q und F wie bei einer (akzeptierenden deterministischen) Turing-Maschine definiert sind und τ eine Funktion τ : (Z \ Q) (X { }) 2 Z (X { }) {R,N,L} ist. Definition: Es sei M = (X, Z, z 0, Q, δ) eine nichtdeterministische Turing- Maschine. Die von M akzeptierte Sprache T (M) definieren wir durch T (M) = {w : w X, (λ, z 0, w) = (v 1, q, v 2 ) für ein q F }. Theoretische Informatik, Formale Sprachen und Automaten 66

Nichtdeterministische Turing-Maschinen Beispiel M = ({a, b}, {z 0, z 0,2 z 1,2, z 2, z 2, z 2, q}, z 0, {q}, τ, {q}) τ(z 0, x) = {(z 2, x, N), (z 3, x, N)} für x {a, b}, τ(z i, a) = {(z i, a, R)} für i {2, 3}, τ(z i, a) = {(z i, a, R)} für i {2, 3}, τ(z i, a) = {(z i, a, R)}, τ(z i, ) = {(z i,, N)} für i {2, 3}, τ(z i, ) = {(q,, N)} für i {2, 3}, τ(z i, ) = {(z 0,i,, L)} für i {2, 3} Theoretische Informatik, Formale Sprachen und Automaten 67

Nichtdet. Turing-Maschinen Beispiel - Fortsetzung τ(z 0,2, a) = {(z 1,2, b, L)}, τ(z 1,2, a) = {(z 0,2, a, L)}, τ(z j,2, b) = {(z i,2, b, L)} für j {0, 1}, τ(z 0,3, a) = {(z 1,2, b, L)}, τ(z 1,3, a) = {(z 2,3, b, L)}, τ(z 2,3, a) = {(z 0,3, a, L)}, τ(z j,3, b) = {(z j,3, b, L)} für j {0, 1, 2}, τ(z 0,i, ) = {(z i,, R)} für i {2, 3}, τ(z j,i, ) = {(z j,i,, N)} für j {1, 2}, i {2, 3} T (M) = {a m : m = 2 n oder m = 3 n für ein n 0} Theoretische Informatik, Formale Sprachen und Automaten 68

Linear beschränkter Automat Definition: Ein linear beschränkter Automat ist eine nichtdeterministische Turing-Maschine M = (X, Z, z 0, Q, δ, F ), deren Kopf sich während der Abarbeitung der Eingabe w X höchstens über w + 2 verschiedenen Zellen befindet. Satz: Eine Sprache ist genau dann kontextabhängig, beschränkten Automaten akzeptiert werden kann. wenn sie von einem linear Theoretische Informatik, Formale Sprachen und Automaten 69

Endlicher Automat Definition Definition: i) Ein endlicher Automat ist ein Quintupel A = (X, Z, z 0, F, δ), wobei - X und Z Alphabete sind, - z 0 Z und F Z gelten, - δ eine Funktion von Z X in Z ist. ii) Die Erweiterung δ von δ auf Z X definieren wir durch δ (z, λ) = z und δ (z, wx) = δ(δ (z, w), x) für w X, x X. iii) Die durch A akzeptierte Wortmenge definieren wir durch T (A) = {w : w X, δ (z 0, w) F }. Theoretische Informatik, Formale Sprachen und Automaten 70

Endlicher Automat Beispiel A = (X, Z, z 0, F, δ) mit X = {a, b, c} Z = {z 0, z 1, z 2, z 3 }, F = {z 2 }, z 1 für z = z 0, x = a z δ(z, x) = 2 für z = z 1, x = a z 0 für z {z 0, z 2 }, x = c sonst z 3 T (A) = {c n 1aac n 1aac n 2aa... c n kaa k 1, n 1 0, n j 1, 2 j k} Theoretische Informatik, Formale Sprachen und Automaten 71

Nichtdeterministischer endlicher Automat Definition: i) Ein nichtdeterministischer endlicher Automat ist ein Quintupel A = (X, Z, z 0, F, δ), wobei für X, Z, z 0, F die Bedingungen wie beim endlichen Automaten gelten und δ eine Funktion von Z X in die Menge der Teilmengen von Z ist. ii) Wir definieren δ (z, λ) = {z} für z Z, und für w X, x X und z Z gelte z δ (z, wx) genau dann, wenn es einen Zustand z δ (z, w) mit z δ(z, x) gibt. iii) Die von A akzeptierte Wortmenge ist durch definiert. T (A) = {w : δ (z 0, w) F } Theoretische Informatik, Formale Sprachen und Automaten 72

Endliche Automaten versus reguläre Sprachen Satz: Die beiden folgenden Aussagen sind für eine Sprache L äquivalent: i) L wird von einem (deterministischen) endlichen Automaten akzeptiert. ii) L wird von einem nichtdeterministischen endlichen Automaten akzeptiert. Satz: Für eine Sprache L sind die beiden folgenden Aussagen äquivalent. i) L ist regulär. ii) L wird von einem (nichtdeterministischen) endlichen Automaten akzeptiert. Theoretische Informatik, Formale Sprachen und Automaten 73

Beispiel für Konstruktion des Automaten aus Grammatik I G = ({S, A, B}, {a, b}, P, S) P = {S λ, S aa, S a, S b, S bb, A a, A b, A aa, A bb, B bb, B bb, B b} G = ({S, A, B, $}, {a, b}, P, S) P = {S λ, S aa, S a$, S b$, S bb, A a$, A b$, A aa, A bb, B bb, B b$, $ λ}. nichtdeterministischer endlicher Automat: B = ({a, b}, {S, A, B, $}, S, {S, $}, δ) δ(s, a) = δ(a, a) = {A, $}, δ(s, b) = δ(a, b) = δ(b, b) = {B, $}, δ(b, a) = δ($, a) = δ($, b) =. Theoretische Informatik, Formale Sprachen und Automaten 74

Beispiel für Konstruktion des Automaten aus Grammatik II deterministischer endlicher Automat: B = ({a, b}, {S, A, B, $}, {S}, {S, $}, δ ) {A, $} = δ ({S}, a) = δ ({A}, a) = δ ({S, A}, a) = δ ({S, B}, a) = δ ({A, B}, a) = δ ({S, A, B}, a), = δ ({B}, a) = δ (, a) = δ (, b) {B, $} = δ ({S}, b) = δ ({A}, b) = δ ({B}, b) = δ ({S, A}, b) = δ ({S, B}, b) = δ ({A, B}, b) = δ ({S, A, B}, b), δ (U {$}, x) = δ (U, x) {$} für U {S, A, B}, x {a, b} Theoretische Informatik, Formale Sprachen und Automaten 75

Kellerautomat Definition 1 Definition: Ein Kellerautomat ist ein Sechstupel M = (X, Z, Γ, z 0, F, δ), wobei - X das Eingabealphabet ist, - Z die endliche Menge von Zuständen ist, - Γ das Bandalphabet ist, - z 0 Z und F Z gelten, - δ eine Funktion von Z X (Γ {#}) in die Menge der endlichen Teilmengen von Z {R, N} Γ ist, wobei # / Γ, R und N zusätzliche Symbole sind. Theoretische Informatik, Formale Sprachen und Automaten 76

Kellerautomat Definition 2 Definition: Eine Konfiguration K des Kellerautomaten M ist ein Tripel (w, z, α#) mit w X, z Z und α Γ. Der Übergang von einer Konfiguration K 1 in die nachfolgende Konfiguration K 2 (geschrieben als K 1 = K 2 ) wird wie folgt beschreiben: Für x X, v X, z Z, z Z, γ Γ, β Γ α Γ gilt (xv, z, γα#) = (v, z, βα#), falls (z, R, β) δ(z, x, γ), (xv, z, γα#) = (xv, z, βα#), falls (z, N, β) δ(z, x, γ), (xv, z, #) = (v, z, β#), falls (z, R, β) δ(z, x, #), (xv, z, #) = (xv, z, β#), falls (z, N, β) δ(z, x, #). Definition: Sei M ein Kellerautomat. Die von M akzeptierte Sprache definieren wir durch T (M) = {w : (w, z 0, #) = (λ, q, #) für ein q F }. Theoretische Informatik, Formale Sprachen und Automaten 77

Kellerautomat Beispiele M = (X, Z, Γ, z 0, F, δ) X = {a, b}, Γ = {a}, Z = {z 0, z 1, z 2 }, F = {z 1 }, δ(z 0, a, #) = {(z 0, R, aa)}, δ(z 0, a, a) = {(z 0, R, aaa)}, δ(z 0, b, a) = {(z 1, R, λ), δ(q, b, a) = {(z 1, R, λ)}, δ(z, x, γ) = {(z 2, R, γ)} in allen anderen Fällen T (M) = {a n b 2n : n 1} M = (X, Z, Γ, z 0, F, δ ) X = ({a, b}, Γ = {S, a, b}, Z = {z 0, z 1, z 2}, F = {z 1} δ (z 0, x, #) = {(z 1, N, S)} für x {a, b}, δ (z 1, x, S) = {(z 1, N, asbb), (z 1, Nabb)} für x {a, b}, δ (z 1, x, x) = {(z 1, R, λ)} für x {a, b} δ (z, x, γ) = {(z 2, R, λ)} in allen weiteren Fällen T (M ) = {a n b 2n : n 1} Theoretische Informatik, Formale Sprachen und Automaten 78

Kellerautomaten versus kontextfreie Spachen Lemma: Für jede kontextfreie Sprache L gibt es einen Kellerautomaten M mit T (M) = L. Lemma: Zu jedem Kellerautomaten M gibt es eine kontextfreie Grammatik G mit L(G) = T (M). Satz: Die beiden folgenden Aussagen sind für eine Sprache L äquivalent: i) L ist eine kontextfreie Sprache. ii) L = T (M) gilt für einen Kellerautomaten M. Theoretische Informatik, Formale Sprachen und Automaten 79