WS07/08 Automaten und Formale Sprachen 14. Vorlesung

Größe: px
Ab Seite anzeigen:

Download "WS07/08 Automaten und Formale Sprachen 14. Vorlesung"

Transkript

1 WS07/08 Automaten und Formale Sprachen 14. Vorlesung Martin Dietzfelbinger 29. Januar 2008 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Klausur: Mittwoch, 5. März :00 Uhr, Helmholtz-Hörsaal Keine Hilfsmittel! Themen: Stoff der Vorlesung: Definitionen, Sätze, Sachverhalte Übungsaufgaben Möglich: Beweis aus der Vorlesung. Vorbereitungszeit? 4P ˆ= ca. 120 Stunden Gesamtaufwand für diese Veranstaltung. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Stichworte (etzte Vorlesung) EBNF Syntaxdiagramme Nichtdeterministische automaten... und ihre Sprachen Formale Definition Ein nichtdeterministischer automat M (englisch: nondeterministic pushdown automaton; Abk.: NPDA) besteht aus 6 Komponenten: Q, endliche, nichtleere Zustandsmenge Σ, alphabet Γ, alphabet q 0 Q, Startzustand Z 0 Γ, Anfangs--Zeichen δ : Q (Σ {ε}) Γ P < (Q Γ ) (Tabelle!) (P < (R) = {T R T endlich }, für Mengen R.) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

2 Beispiel 2 Palindrome gerader änge ohne Mittezeichen: 2 = {w w R w {a, b, c} } Der NPDA benutzt Nichtdeterminismus, um die Mitte zu raten. Q = {, R} Σ={a, b, c} Γ={A, B, C, } q 0 = Z 0 = δ ist durch folgende Tabelle gegeben. δ A B C (, a) (, A) (, AA) (, AB) (, AC) (, b) (, B) (, BA) (, BB) (, BC) (, c) (, C) (, CA) (, CB) (, CC) (,ε) (R,ε) (R, A) (R, B) (R, C) (R, a) (R,ε) (R, b) (R,ε) (R, c) (R,ε) Wo ist die nichtdeterministische Entscheidungsmöglichkeit? In Zustand : ese a Σ oder schalte mit einem ε-schritt in Zustand R. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Graphische Darstellung Start Akzeptierungsmodus, informal Gegeben: NPDA M und wort x = a 1 a n Σ a, b, c, a, u b, u A B C Au B u ε, u u ε, ε R a, A b, B c, C ε ε ε Starte mit esekopf auf erstem Buchstaben a 1, im Startzustand q 0, mit Zeichen Z 0 im Führe Schritt für Schritt legale Züge gemäß δ durch Eine Situation, in der w vollständig gelesen und der leer ist, heißt akzeptierend c, u Cu u steht für A, B oder C Wir sagen, dass M die w akzeptiert, falls es mindestens eine Folge legaler Schritte gibt, die zu einer akzeptierenden Situation führt. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

3 Formalisierung: Konfigurationen Definition Ein Tripel (q, w, γ) Q Σ Γ heißt eine Konfiguration von M. In Beispiel 2: (, aabbc, BBC) oder (R, aabbc, CCC) Soll bedeuten: q: gegenwärtiger Zustand w: Restwort, noch zu lesen γ: inhalt (egale) Konfigurationsübergänge Definition M sei NPDA. Wenn k =(q, au, Zγ) Konfiguration ist, a Σ,u Σ, und (q,z 1 Z r ) δ(q, a, Z), dann schreiben wir (q, au, Zγ) M (q,u,z 1 Z r γ)=k. Wenn k =(q, u, Zγ) Konfiguration ist, und (q,z 1 Z r ) δ(q, ε, Z), dann schreiben wir (q, u, Zγ) M (q,u,z 1 Z r γ)=k. Jedesmal heißt k eine Nachfolgekonfiguration von k. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Eine Konfiguration k kann keine, eine, oder mehrere verschiedene Nachfolgekonfigurationen haben. In Beispiel 2: (, aabbc, BBC) M (, abbc, ABBC) (, aabbc, BBC) M (R, aabbc, BBC) (Auch dumme Übergänge können legal sein.) (R, aabbc, BBC) hat keine Nachfolgekonfiguration. Es kommt nicht darauf an, ob k und k in echten Berechnungen vorkommen: (, abc, BBC A) M (, bc, ABBC A) M (oder, wenn M gegeben ist) ist Relation auf der Menge K M aller Konfigurationen von M. (Achtung: K M ist eine (abzählbar) unendliche Menge.) Definition Wir schreiben k M k, wenn es eine Konfigurationsfolge k = k 0,k 1,...,k r = k, r 0, gibt mit Beachte: k M k. k 0 M k 1 M k 2 M M k r. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

4 Definition Sei M NPDA, x wort zu M. Wir sagen, dass M x akzeptiert, wenn es ein q Q gibt derart dass (q 0,x,Z 0 ) M (q, ε, ε). Das heißt:... wenn es eine Folge k 0 M M k r gibt mit k = init M (x) :=(q 0,x,Z 0 ) (Startkonfiguration) und k r =(q, ε, ε) (akzeptierende (Halte-)Konfiguration) Eine solche Folge heißt eine akzeptierende Berechnung von M auf x. In Beispiel 2: und akzeptiere! (, cbbc, ) (, bbc, C) (, bc, BC) (R, bc, BC) (R, c, C) (R,ε,ε) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ In Beispiel 2: (, cbbc, ) (, bbc, C) (, bc, BC) (, c, BBC) (R, c, BBC) keine Nachfolgekonfiguration Sackgasse dies ist eine Berechnung, aber keine akzeptierende Berechnung! Definition Für einen NPDA M =(Q, Σ, Γ,q 0,Z 0,δ) definieren wir M := {x Σ M akzeptiert x}. D.h.: x M genau dann wenn es eine akzeptierende Berechnung von M auf x gibt. Beachte: Die Definitionen von M, M M sind pur mathematisch kein Bezug zu, Steuereinheit, esen usw. Überblick über alle Berechnungen auf festem x: Baum aller möglichen Berechnungen zum Beispiel: (x M der Baum hat ein Blatt (q, ε, ε).) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

5 Startkonfiguration: (,abbbba, ) Top-Down-Parsing, Beispiel (,bbbba,a) (R,abbbba, ε ) (,bbba,ba) (R,bbbba,A) (,bba,bba) (R,bbba,BA) (,ba,bbba) (R,bba,BBA) (,a,bbbba) (R,ba,BBBA) (, ε,abbbba) (R,a,BBBBA) (R,a,BBA) (R, ε,abbbba) (R,bba,A) (R,ba,BA) (R,a,A) (R, ε, ε ) G =(V,Σ,S,P) mit V = {S}, Σ={(, )}, Produktionen S (S)S ε erzeugt die Klammersprache. NPDA M: alphabet Γ={S, (, )} Anfangs--Zeichen S Expandiere : Oberstes zeichen S mit ε-zug durch (S)S oder ε ersetzen ese : Oberstes zeichen a Σ und a das nächste Zeichen in der lese a und streiche a vom FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ : ()(()()) Resteingabe gelesen nächste Aktion ()(()()) S E: S (S)S ()(()()) (S)S : ( )(()()) ( S)S E: S ε )(()()) ( )S : ) (()()) () S E: S (S)S (()()) () (S)S : ( ()()) ()( S)S E: S (S)S ()()) ()( (S)S)S : ( )()) ()(( S)S)S : ()(()()) Resteingabe gelesen nächste Aktion )()) ()(( S)S)S E: S ε )()) ()(( )S)S : ) ()) ()(() S)S E: S (S)S ()) ()(() (S)S)S : ( )) ()(()( S)S)S E: S ε )) ()(()( )S)S : ) ) ()(()() S)S E: S ε ) ()(()() )S : ) ()(()()) S E: S ε ()(()()) ε Akzeptiere! FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

6 Eigenschaften dieser Verarbeitungsweise: -Parsing : Von links lesen, inksableitung erzeugen (Konkatenation (gelesene ) bildet inksableitung) Top-Down-Parsing : Ableitungsbaum von der Wurzel beginnend erzeugen Parsing : Syntaxanalyse durchführen Top-Down-Parsing, allgemein Gegeben sei eine kfg G =(V,Σ,S,P). Baue NPDA M G wie folgt: Q = {0}, q 0 =0 (ein Zustand genügt) Γ=V Σ Z 0 = S Expandiere : δ(0,ε,a):={(0,α) A α Produktion } ese : Für jedes a Σ ist δ(0,a,a):={(0,ε)} FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Satz (5.2.2) Für den eben beschriebenen NPDA M G gilt: MG = (G). Insbesondere: kontextfrei = M für einen NPDA M. Beweis: Zeige für x Σ folgende Aussagen: (i) Eine gegebene inksableitung S = α 0 α t = x kann in eine akzeptierende Berechnung von M G umgebaut werden. (ii) Eine gegebene akzeptierende Berechnung (0,x,S)=k 0 MG MG (0,ε,ε) liefert eine inksableitung für x. Bsp.: S (S)S ((S)S)S (()S)S (()(S)S)S (()()S)S (()())S (()()) S E (S)S ( S)S E ( (S)S)S (( S)S)S E (( )S)S (() S)S E (() (S)S)S (()( S)S)S E (()( )S)S (()() S)S E (()() )S (()()) S E (()()) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

7 (i) Allgemein: Eine gegebene inksableitung S = α 0 α t = x kann in eine akzeptierende Berechnung von M G umgebaut werden. Beweis: Erweitere Satzformen um einen Cursor, z.b.. Starte mit β 0 = S = α 0. Invariante: β t ist Satzform α i mit Cursor, irgendwo links vom ersten Nichtterminal (falls es eines gibt). Wenn in β t auf den Cursor ein Terminalzeichen a folgt, schiebt man den Cursor über a hinweg, um β t+1 zu erhalten (-Schritt). Wenn in β t auf den Cursor eine Variable A folgt, dann ersetzt man A wie im nächsten Ableitungsschritt α i α i+1 (E-Schritt). Ende: α t = x. (Fast) klar: Die entstehende Folge entspricht einer akzeptierenden Berechnung des NPDA M G. inks vom Cursor: Gelesene. Rechts vom Cursor: inhalt. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ (ii) Eine gegebene akzeptierende Berechnung (0,x,S)=k 0 MG MG (0,ε,ε) der änge t liefert eine inksableitung für x. Beweis: Man betrachtet die Folge S = β 0,β 1,...,β t = x, die sich ergibt, wenn man nach jedem M-Schritt die Folge (gelesener Teil der ) (inhalt) notiert. -Schritte führen zu einer Wiederholung (die man ignoriert). E-Schritte führen zur Anwendung einer legalen Produktion auf die am weitesten links stehende Variable (weil der gelesene teil keine Variablen enthält). Bezeichnung Top-Down-Syntaxanalyse : Produktionen werden in einer Reihenfolge angewendet, die einem Aufbau des Ableitungsbaums von der Wurzel her nach unten entspricht. Problem: Nichtdeterminismus Wunsch: Entscheide in E-Schritten deterministisch, welche Produktion auf die oberste variable anzuwenden ist. Sogenannte (1)-Grammatiken erlauben es, diese Entscheidung zu treffen, wobei als Zusatzinformation genau ein weiteres Zeichen der angesehen wird. ookahead von 1 Zeichen. (Verallgemeinerung: (k), k 1. Details: Nächstes Mal.) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

8 Straffung der Arbeit: Unmittelbares esen Gegeben: kfg G =(V,Σ,S,P). Baue NPDA M G wie folgt: Q = {0}, q 0 =0, Γ=V Σ, Z 0 = S Expandiere : Wenn A Z 1 Z r Produktion ist, und r =0oder Z 1 V, dann ist (0,Z 1 Z r ) δ(0,ε,a) ese : Für jedes a Σ ist (0,ε) δ(0,a,a) Expandiere/ese : Wenn A Z 1 Z r Produktion ist, und Z 1 = a Σ, dann ist (0,Z 2 Z r ) δ(0,a,a) Auch dieser NPDA akzeptiert genau die Wörter aus (G). Beispiel: Klammersprache Produktionen: S (S)S ε NPDA: Q = {0}, Σ={(, )}, Γ={S, (, )}, Z 0 = S; δ(0, ), )) ={(0,ε)} ese δ(0, (,S)={(0,S)S)} Expandiere/ese δ(0,ε,s)={(0,ε)} Expandiere. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Greibach-Normalform Die letzte Konstruktion ist günstig besonders wenn jede Produktion die Form hat: A ab 1 B r,a Σ,r 0,B 1,...,B r V Greibach-Normalform Jeder Schritt liest genau ein Zeichen. Satz Man kann jede kfg G, ε/ (G), in eine äquivalente Grammatik G in Greibach-Normalform umbauen. oder: R-Parsing oder: Shift-Reduce-Parsing Bottom-Up-Syntaxanalyse... liest von links nach rechts, erzeugt Rechtsableitung, erzeugt Ableitungsbaum von unten nach oben. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

9 Anfang: a 1 a a n unten Z.... a r Z1 i an gelesen Steuereinheit oben unten oben Steuereinheit Aktion shift : ese ein Zeichen in den. Zwischensituation: Z.... a r Z1 i an Z r.... Z 1 a i Steuereinheit gelesen a i a n unten oben Steuereinheit gelesen FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ unten Z.... a r Z1 i an gelesen Steuereinheit oben Aktion reduce : Wende Produktion A Z s Z 1 rückwärts! auf s obere zeichen an. Rückwärts! Zr.... Z s +1 A Steuereinheit gelesen a i a n Entscheidung zwischen verschiedenen möglichen Zügen: (hier) nichtdeterministisch Beispielgrammatik: (Klammersprache ohne ε) S (S)S () (S) ()S. (())((()())()) shift: ( (.())((()())()) shift: (( ((.))((()())()) shift: (() (().)((()())()) reduce: (S (().)((()())()) shift: (S) (()).((()())()) Griff :() FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

10 (S) (()).((()())()) Griff :(S) Shift-Reduce-Konflikt : für shift entschieden shift: (S)( (())(.(()())()) shift: (S)(( (())((.()())()) shift: (S)((( (())(((.)())()) shift: (S)((() (())((().())()) Konflikt! shift shift: (S)((()( (())((()(.))()) shift: (S)((()() (())((()().)()) (S)((()() (())((()().)()) Konflikt! reduce reduce: (S)((()S (())((()().)()) Konflikt! reduce reduce: (S)((S (())((()().)()) shift: (S)((S) (())((()()).()) Konflikt! shift shift: (S)((S)( (())((()())(.)) shift: (S)((S)() (())((()())().) reduce: (S)((S)S (())((()())().) reduce: (S)(S (())((()())().) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ S (S)(S (())((()())().) shift: (S)(S) (())((()())()). reduce: (S)S (())((()())()). ( S ) ( ) S ( ) S reduce: S (())((()())()). Schluss-Schritt: leere ε ( S ) S ( ) ( ) S ( ) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

11 Im Ableitungsbaum: Arbeiten von den Blättern startend: Bottom-Up Beobachtung: Von unten nach oben gelesen, bilden die Konkatenationen inhalt Restwort eine Rechtsableitung für das wort w. Technisches Problem: Wenn t = max{ α A α Produktion }, muss die Steuereinheit zur Entscheidung über den nächsten Zug die t obersten symbole kennen. Trick: t symbole (cacheartig) in der Steuereinheit aufbewahren. (Details: Skript.) Auch bottom-up-parsing führt zum Resultat: G kontextfreie Grammatik (G) = M für einen NPDA M. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Störend: Nichtdeterminismus. Aufgrund der t obersten zeichen (in Steuereinheit) und 1 weiteren Zeichen der ( ookahead 1 ) löse shift-reduce-konflikte eindeutig auf. Ob eine Grammatik hierfür geeignet ist ( R(1)-Grammatiken ), kann algorithmisch getestet werden. Steuerstruktur (Übergangsfunktion δ in Form von Tabellen) kann aus einer Standard-Beschreibung von G automatisch erzeugt werden. ( Parsergeneratoren, z.b. yacc.) Allgemeiner: R(k)-Grammatiken (k Zeichen ookahead) Basis der meisten realen Compiler. Von automaten zu Grammatiken (5.5) Satz (5.5.1) Wenn M ein NPDA ist, dann gibt es (konstruktiv) eine kontextfreie Grammatik G mit M = (G). Beweis: Tripelkonstruktion (Skript, Details sind nicht prüfungsrelevant.) Also: = M für einen NPDA = (G) für eine kfg G Das Maschinenmodell für die 2 -Sprachen ist der NPDA. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

12 Von automaten zu Grammatiken Tripelkonstruktion. Gegeben: M =(Q, Σ, Γ,q 0,Z 0,δ). V := {S} { q, A, p p, q Q, A Γ}. Von automaten zu Grammatiken Absicht: Für q, p Q, A Γ und w Σ soll gelten: q, A, p G w (q, w, A) M (p, ε, ε). ( ) In Worten: Es gibt einen G-Ableitungsbaum mit Wurzel q, A, p und Ergebnis (Blattinschrift) w M kann von Zustand q mit A als oberstem symbol die Teileingabe w lesen, dabei Zustand p erreichen und das Zeichen A aus dem streichen. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ Von automaten zu Grammatiken Produktionen: (i) S q 0,Z 0,p, für jedes p Q. Von automaten zu Grammatiken Angenommen, folgendes gilt: q, A, p G w (q, w, A) M (p, ε, ε). ( ) (ii) q, A, q m+1 a q 1,A 1,q 2 q 2,A 2,q 3 q m,a m,q m+1, für (q, a, A) Q (Σ {ε}) Γ,q 1,...,q m+1 Q, m 0, wo (q 1,A 1 A m ) δ(q, a, A). Beachte: G wird aus M ganz formal, mechanisch gebildet. Dann: w M p Q :(q 0,w,Z 0 ) M (p, ε, ε) p Q : q 0,Z 0,p G w S G w w (G). FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

13 Von automaten zu Grammatiken Die Äquivalenz q, A, p G w (q, w, A) M (p, ε, ε) ( ) Bis zum nächsten Mal: Folien aus Netz besorgen, durcharbeiten. Skript Seiten , , oben durcharbeiten. Definitionen lernen, Beispiele ansehen, Fragen vorbereiten. beweist man und, für jede Richtung einzeln, jeweils mit einer geeigneten Induktion. Details: Skript. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/ FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/

Automaten und Formale Sprachen 14. Vorlesung

Automaten und Formale Sprachen 14. Vorlesung Automaten und Formale Sprachen 14. Vorlesung Martin Dietzfelbinger 24. Januar 2006 Bis 31. Januar 2006: Folien studieren. Details und Beispiele im Skript, Seiten 174 196. Definitionen lernen, Beispiele

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

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

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

Kellerautomaten u. kontextfr. Spr.

Kellerautomaten u. kontextfr. Spr. Kellerautomaten u. kontextfr. Spr. Ziel: Maschinenmodell für die kontextfreien Sprachen. Überblick Greibach-Normalform für kontextfreie Grammatiken Kellerautomaten Beziehung zwischen Kellerautomaten und

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

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

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

WS07/08 Automaten und Formale Sprachen 8. Vorlesung

WS07/08 Automaten und Formale Sprachen 8. Vorlesung WS07/08 Automaten und Formale Sprachen 8. Vorlesung PD Dr. Niggl (für M.Dietzfelbinger) 4. Dezember 2007 Stichworte (Letzte Vorl.) Konstruktion des Minimalautomaten: 3 Teile Entferne unerreichbare Zustände

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen 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

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4) Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches

Mehr

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

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 18.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Professur für Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine 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

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

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

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

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

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

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

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen (Nicht)Abschlusseigenschaften für Typ 2 FORMALE SYSTEME 15. Vorlesung: Einleitung Kellerautomaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Satz: Wenn L, L 1 und L 2 kontextfreie Sprachen sind,

Mehr

Algorithmentheorie 2. Vorlesung

Algorithmentheorie 2. Vorlesung 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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 14.05.2013 Analog zu Linksableitungen definiert man Definition 2.45 Ein Ableitungsschritt

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 4.2.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren

Mehr

Lösungen zu Übungsblatt 6

Lösungen zu Übungsblatt 6 Lösungen zu Übungsblatt 6 Aufgabe 1 Um nachzuweisen, dass eine Sprache L nicht kontextfrei ist, genügt es nach dem (starken) Pumping Lemma für kontextfreie Sprachen zu zeigen: Für jedes n 0 existiert ein

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

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

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. Zusammenfassung Beschreibungsformen für reguläre Sprachen:

Mehr

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 22. Januar 2019 Abgabe 5. Februar 2019, 11:00 Uhr (im

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L Kapitel 3 Kontextfreie Sprachen Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: s. Übung ε L (w) L, falls w L vw L, falls v, w L (R0) (R1) (R2) Für beliebige w {(, )} kann w L

Mehr

Deterministische PDAs

Deterministische PDAs Deterministische PDAs Erinnerung: Ein PDA ist deterministisch, wenn q Q, a Σ, Z Γ: δ(q,a,z) + δ(q,ε,z) 1. Definition: Eine Sprache heißt deterministisch kontextfrei, wenn es für sie einen DPDA gibt. Ziel:

Mehr

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

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 LR-Parsing Präsentation vom 19. Dez. 2012 Adriana Kosior, Sandra Pyka & Michael Weidauer Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 Inhalte Einleitung LR(0) Parser LR(1) Parser Fazit Literatur

Mehr

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

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 13.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

LR-Parser, Shift-Reduce-Verfahren

LR-Parser, Shift-Reduce-Verfahren LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar

Mehr

Musterlösung Informatik-III-Nachklausur

Musterlösung Informatik-III-Nachklausur Musterlösung Informatik-III-Nachklausur Aufgabe 1 (2+2+4+4 Punkte) (a) L = (0 1) 0(0 1) 11(0 1) 0(0 1) (b) Der Automat ist durch folgendes Übergangsdiagramm gegeben: 0, 1 0, 1 0, 1 0, 1 0 s q 1 1 0 0 q

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

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

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

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

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

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

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

5. Die syntaktische Analyse

5. Die syntaktische Analyse mittels sog. Parser Input: Folge von Token (Symbolen), geliefert vom Scanner/Sieber Aufgabe: Teilfolgen zusammenfassen zu größeren syntaktischen Einheiten Ausdrücke, Anweisungen(-folgen), Deklarationen,

Mehr

F2 Zusammenfassung Letzte Tips zur Klausur

F2 Zusammenfassung Letzte Tips zur Klausur F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig

Mehr

Informatik IC2. Balazs Simon

Informatik IC2. Balazs Simon Informatik IC2 Balazs Simon Inhaltsverzeichnis 1 Contextfreie Sprachen 3 1.1 Ableitungsbaum..................................... 3 1.2 Schönheit........................................ 4 1.3 Normalformen......................................

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

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

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung 02.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke Informatik III

Mehr

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin Hochschule Bonn-Rhein-Sieg Uniersity of Applied Sciences Grantham-Allee 20 53757 Sankt Augustin Director b-it Applied Science Institute Fachbereich Informatik Prof. Dr. Kurt-Ulrich Witt Mathematische und

Mehr

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

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

Mehr

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

WS07/08 Automaten und Formale Sprachen 5. Vorlesung

WS07/08 Automaten und Formale Sprachen 5. Vorlesung WS7/8 Automaten und Formale Sprachen 5. Vorlesung Martin Dietzfelbinger 3. November 27 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS7/8 3..27 Stichworte Induktive Definitionen: (i) Basisobjekte,

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

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

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

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

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr