Übersicht. 3 3 Kontextfreie Sprachen

Ähnliche Dokumente
Theoretische Grundlagen der Informatik

10 Kellerautomaten. Kellerautomaten

Grundlagen der Theoretischen Informatik

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Einführung in die Computerlinguistik

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen

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

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

Teil IV. Kontextfreie Sprachen, Teil 4: Kellerautomaten

Informatik III - WS07/08

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

F2 Zusammenfassung Letzte Tips zur Klausur

Kontextfreie Sprachen

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

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

Kontextfreie Sprachen

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

kontextfreie Sprachen: Normalformen

Formale Sprachen und Automaten: Tutorium Nr. 8

Informatik 3 Theoretische Informatik WS 2016/17

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

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

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

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

Theorie der Informatik

Die mathematische Seite

(z', B 1...B k ) δ(z,a,a):

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Kellerautomaten u. kontextfr. Spr.

Automaten und formale Sprachen Notizen zu den Folien

PDA, Übergangsfunktion

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

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

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

Grundlagen der Theoretischen Informatik

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

5.2 Endliche Automaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

DKA und dkfs (mit Übungen)

Automaten und Formale Sprachen 14. Vorlesung

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

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

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

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

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

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

Rekursiv aufzählbare Sprachen

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

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

11.1 Kontextsensitive und allgemeine Grammatiken

(KFG und) Kellerautomaten

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

Formale Systeme, Automaten, Prozesse

Deterministischer Kellerautomat (DPDA)

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Theoretische Informatik 2

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

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

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

Grundlagen der Theoretischen Informatik

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

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

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

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

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

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

Das Pumping-Lemma Formulierung

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

Grundlagen der theoretischen Informatik

Automaten und formale Sprachen Klausurvorbereitung

2.4 Kontextsensitive und Typ 0-Sprachen

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

Nichtdeterministischer Kellerautomat

Das Halteproblem für Turingmaschinen

Automatentheorie und formale Sprachen

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

3 kontextfreie Sprachen

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

Theoretische Informatik Testvorbereitung Moritz Resl

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Formale Sprachen und Automaten

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver

Das Postsche Korrespondenzproblem

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

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

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

Übersicht. SD Einführung in die CL,

Theoretische Informatik 1

TGI-Übung 3 Besprechung Übungsblatt 2

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Grundlagen der Theoretischen Informatik

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft

Transkript:

Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform 3.7 Greibach-Normalform 3.8 Das Pumping-Lemma für CFLs 3.10 Deterministische Kellerautomaten 3.11 Abschlusseigenschaften kontextfreier Sprachen

Formale Systeme, Automaten, Prozesse Folie 177 Definition 3.9.1 Ein Kellerautomat (PDA) M = (Q, Σ, Γ, δ, q 0, Γ 0, F ) ist ein 7-Tupel. Hierbei ist: Q die endliche Menge der Zustände Σ das Eingabealphabet Γ das Kelleralphabet δ : Q (Σ {ɛ}) Γ 2 Q Γ, wobei δ(q, a, X ) stets eine endliche Menge von Paaren ist, die Übergangsfunktion q 0 Q der Startzustand Γ 0 Γ das Kellerbodensymbol F Q die Menge der Endzustände

Formale Systeme, Automaten, Prozesse Folie 178 Endliche Automaten (NFA) Endliche Steuerung Lesekopf Eingabeband

Formale Systeme, Automaten, Prozesse Folie 179 Kellerautomaten (PDA) Eingabeband Endliche Steuerung Lesekopf Γ 0 Keller

Formale Systeme, Automaten, Prozesse Folie 180 Konfigurationen Definition 3.9.2 Eine Konfiguration eines PDA ist ein Tripel (q, w, γ), wobei q Q ein Zustand, w das noch zu lesende Wort und γ der Kellerinhalt ist. Wir schreiben (q, a w, X β) (p, w, α β) falls (p, α) δ(q, a, X ), wobei a Σ {ɛ}, X Γ. (p, w, α β) ist eine Nachfolgekonfiguration von (q, a w, X β).

Formale Systeme, Automaten, Prozesse Folie 181 Beispiel b, X bx a, X ax b, b ɛ a, a ɛ q ɛ, X X 0 q ɛ, Γ 0 Γ 0 1 q 2 (q 0, abba, Γ 0 ) (q 0, bba, aγ 0 ) (q 0, ba, baγ 0 ) (q 1, ba, baγ 0 ) (q 1, a, aγ 0 ) (q 1, ɛ, Γ 0 ) (q 2, ɛ, Γ 0 )

Formale Systeme, Automaten, Prozesse Folie 182 Definition 3.9.3 Es sei M = (Q, Σ, Γ, δ, q 0, Γ 0, F ) ein PDA. Für ein Eingabewort w ist die Startkonfiguration (q 0, w, Γ 0 ). ist die reflexiv-transitive Hülle von. Die von M durch Endzustand akzeptierte Sprache L(M) ist { w Σ (q 0, w, Γ 0 ) (q, ɛ, β) für ein q F und β Γ }.

Formale Systeme, Automaten, Prozesse Folie 183 b, X bx a, X ax b, b ɛ a, a ɛ q ɛ, X X 0 q ɛ, Γ 0 Γ 0 1 q 2 (q 0, abba, Γ 0 ) (q 0, bba, aγ 0 ) (q 0, ba, baγ 0 ) (q 1, ba, baγ 0 ) (q 1, a, aγ 0 ) (q 1, ɛ, Γ 0 ) (q 2, ɛ, Γ 0 ) Startkonfiguration: (q 0, abba, Γ 0 ) abba wird akzeptiert.

Formale Systeme, Automaten, Prozesse Folie 184 Definition 3.9.4 Es sei M = (Q, Σ, Γ, δ, q 0, Γ 0, F ) ein PDA. Die von M durch leeren Keller akzeptierte Sprache N(M) ist N(M) = { w Σ (q 0, w, Γ 0 ) (p, ɛ, ɛ) für ein p Q} (F spielt keine Rolle und kann weggelassen werden.)

Formale Systeme, Automaten, Prozesse Folie 185 Beispiel b, X bx a, X ax b, b ɛ a, a ɛ q ɛ, X X 0 q ɛ, Γ 0 Γ 0 1 q 2 L(M) = { ww R w {a, b} }, aber N(M) =. b, X bx a, X ax b, b ɛ a, a ɛ q ɛ, X X 0 q ɛ, Γ 0 ɛ 1 q 2 N(M) = { ww R w {a, b} }, aber L(M) =.

Formale Systeme, Automaten, Prozesse Folie 186 Satz 3.9.5 Für einen PDA A = (Q, Σ, Γ, δ, q 0, Γ 0 ) gibt es einen PDA B mit L(B) = N(A).

Formale Systeme, Automaten, Prozesse Folie 187 Beweis. Verwende B = (Q {q 0, q f }, Σ, Γ {Γ 0 }, δ B, q 0, Γ 0, {q f }) B q0 ɛ, Γ 0 Γ 0 Γ 0 q 0 A ɛ, Γ 0 Γ 0 A : (q 0, w, Γ 0 ) A (p, ɛ, ɛ) q f B : (q 0, w, Γ 0 ) B (q 0, w, Γ 0 Γ 0 ) A (p, ɛ, Γ 0 ) B (q f, ɛ, Γ 0 )

Formale Systeme, Automaten, Prozesse Folie 188 Satz 3.9.6 Für einen PDA A = (Q, Σ, Γ, δ, q 0, Γ 0, F ) gibt es einen PDA B mit N(B) = L(A).

Formale Systeme, Automaten, Prozesse Folie 189 Beweis. B = (q {q, q0 }, Σ, Γ {Γ 0 }, δ B, q0, Γ 0 ) A ɛ, X ɛ B ɛ, X X q0 ɛ, Γ 0 Γ 0 Γ 0 q 0 q ɛ, X X B arbeitet wie A, kann aber von Endzuständen spontan nach q, wo der Keller geleert wird.

Formale Systeme, Automaten, Prozesse Folie 190 Satz 3.9.7 Es sei G = (N, T, P, S) eine CFG ohne ɛ-produktionen. Dann gibt es einen PDA M mit N(M) = L(G). Beweis. M = ({q}, T, N T, δ, q, S) wobei δ(q, a, a) = {(q, ɛ)} für alle a T δ(q, ɛ, A) = { (q, α) A α P } für alle A N. Behauptung: (q, w, S) (q, ɛ, ɛ) gdw. S w

Formale Systeme, Automaten, Prozesse Folie 191 Beispiel S asa bsb a b Zugehöriger PDA: ɛ, S asa ɛ, S bsb ɛ, S a ɛ, S b a, a ɛ b, b ɛ bzw. a, S Sa b, S Sb a, S ɛ b, S ɛ a, a ɛ b, b ɛ Das Kellerbodensymbol ist S.

Formale Systeme, Automaten, Prozesse Folie 192 Satz 3.9.8 Es sei M = (Q, Σ, Γ, δ, q 0, Γ 0 ) ein PDA. Dann gibt es eine CFG G mit L(G) = N(M).

Formale Systeme, Automaten, Prozesse Folie 193 Beweis. Für jedes p Q erzeuge eine Grammatik G p = (N, Σ, P, [q 0, Γ 0, p]) wobei N = {[q, Z, r] q, r Q, Z Γ}. P enthält folgende Regeln: falls [q, Z, q k ] a[r, X 1, q 1 ][q 1, X 2, q 2 ] [q k 1, X k, q k ] (r, γ) δ(q, a, Z) mit a Σ {ɛ} γ = X 1 X k mit X i Γ q i Q (alle Möglichkeiten!) Spezialfall: [q, Z, r] a falls γ = ɛ. Es gilt (q 0, w, Γ 0 ) (p, ɛ, ɛ) gdw. [q 0, Γ 0, p] N(M) = L(G p ). p Q w d.h.

Formale Systeme, Automaten, Prozesse Folie 194 Beispiel a, a aa b, a ɛ a, Γ 0 aγ 0 ɛ, Γ 0 ɛ q ɛ, a a 0 q 1 [q 0, Γ 0, q 1 ] a[q 0, a, q 1 ][q 1, Γ 0, q 1 ] [q 0, a, q 1 ] [q 1, a, q 1 ] [q 1, a, q 1 ] b [q 1, Γ 0, q 1 ] ɛ [q 0, Γ 0, q 1 ] a[q 0, a, q 1 ][q 1, Γ 0, q 1 ] a b[q 1, Γ 0, q 1 ] a b