Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Größe: px
Ab Seite anzeigen:

Download "Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen"

Transkript

1 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen Automatenmodell: Kellerautomaten Abschlusseigenschaften und Algorithmen Determinismus und Nicht-Determinismus in kontextfreien Sprachen Sander Bruggink Automaten und Formale Sprachen 1 Sander Bruggink Automaten und Formale Sprachen 208 Kleine Wiederholung: kontextfreie Grammatiken Anwendungen von kontextfreien Sprachen Beschreibung der Syntax von Programmiersprachen. Viele der in dieser Veranstaltung besprochenen Techniken sind daher interessant für den Einsatz im Compilerbau. Teilweise auch Beschreibung der natürlichen Sprachen. Eine Grammatik ist ein Viertupel G = (V, Σ, P, S), wobei V eine (endliche) Menge von Nichtterminalsymbolen, Σ das (endliche) Alphabet, P eine endliche Menge von Produktionen, die je aus einer linken und aus einer rechten Seite bestehen, und S V das Startsymbol ist. Eine Grammatik ist kontextfrei wenn alle linken Seiten der Regeln aus genau einem Nicht-Terminalsymbol bestehen, und alle rechte Seiten aus mindestens einem Symbol (Terminal oder Nicht-Terminal). ε-sonderregel: Wenn S das Startsymbol ist, darf die Regel S ε in der Grammatik enthalten sein, falls S nirgendwo in einer rechten Seite einer Regel vorkommt. Sander Bruggink Automaten und Formale Sprachen 209 Sander Bruggink Automaten und Formale Sprachen 210

2 Kleine Wiederholung: kontextfreie Grammatiken Nochmals zur ε-sonderregelung Sei Σ = {a, b}. Beispiel 1: Geben Sie eine kontextfreie Grammatik G 1 an, so dass L(G 1 ) = {a n b n n 0}. Beispiel 2: Geben Sie eine kontextfreie Grammatik G 2 an, so dass L(G 2 ) = {a k b n a m b n n, m, k 1}. Frage: Ist die ε-sonderregelung wirklich nötig? Können wir ε nicht immer als rechte Seite zulassen? Antwort: ja, wir können ε immer als rechte Seite zulassen. ε-freie Grammatiken (Satz) Gegeben sei eine kontextfreie Grammatik G = (V, Σ, P, S) mit Produktionen der Form A w, wobei A V, w (V Σ). Dann gibt es eine Grammatik G = (V, Σ, P, S) mit Produktionen der Form A w, w (V Σ) + und L(G) = L(G ). Nochmals zu ε-sonderregelung Sander Bruggink Automaten und Formale Sprachen 211 Beispiel: ε-produktionen entfernen Sander Bruggink Automaten und Formale Sprachen 212 Verfahren zur Entfernung von ε-produktionen: 1 Bestimme die Variablenmenge V 1 V mit V 1 = {A V A ε}, d.h., die Menge aller Variablen, aus denen sich das leere Wort ableiten läßt. 2 Füge für jede Produktion der Form B xay mit A V 1, x, y (V Σ) eine Produktion B xy zur Produktionenmenge hinzu. (Diese Produktion simuliert das Löschen von A.) 3 Entferne alle Produktionen der Form A ε. Sei G = (V, Σ, P, S), wobei V = {S, X, Y, Z}, Σ = {a, b} und P = S XZ X ayb ε Y bxa bb Z ε asa 4 Falls ε L(G) (das heißt, S V 1 ), füge eine neue Startvariable S und die Produktionen S ε und S S hinzu. Sander Bruggink Automaten und Formale Sprachen 213 Sander Bruggink Automaten und Formale Sprachen 214

3 Nochmals zu ε-sonderregelung Syntaxbäume und Eindeutigkeit Weil wir jede Grammatik, die fast kontextfrei ist, aber das leere Wort als rechte Seite enthält, in eine kontextfreie Grammatik umwandeln können, werden wir im Folgenden bei kontextfreien Sprachen beliebige Wörter als rechte Seiten zulassen, auch das leere Wort. Manchmal ist es in Konstruktionen und Beweisen trotzdem praktisch davon auszugehen, dass ε nicht als rechte Seite vorkommt (außer als S ε, siehe ε-sonderregel). Wir betrachten die folgende Beispiel-Grammatik zur Erzeugung von korrekt geklammerten arithmetischen Ausdrücken: mit folgender Produktionenmenge P: G = ({E, T, F }, {(, ), a, +, }, P, E) E T E + T T F T F F a (E) Syntaxbäume und Eindeutigkeit Sander Bruggink Automaten und Formale Sprachen 215 Syntaxbäume und Eindeutigkeit Sander Bruggink Automaten und Formale Sprachen 216 Für die meisten Wörter der von G erzeugten Sprache gibt es mehrere mögliche Ableitungen: E T T F F F a F a (E) a (E + T ) a (T + T ) a (F + T ) a (a + T ) a (a + F ) a (a + a) E T T F T (E) T (E + T ) T (E + F ) T (E + a) T (T + a) T (F + a) T (a + a) F (a + a) a (a + a) Die erste Ableitung ist eine sogenannte Linksableitung (immer so weit links wie möglich ableiten), die zweite eine Rechtsableitung (so weit rechts wie möglich ableiten). Syntaxbaum aufbauen Wir bilden nun aus beiden Ableitungen den Syntaxbaum, indem wir Die Wurzel des Baums mit der Startvariable der Grammatik beschriften. Bei jeder Regelanwendung der Form A z zu A z Kinder hinzufügen, die mit den Zeichen von z beschriftet sind. Syntaxbäume lassen sich für alle Ableitungen von kontextfreien Grammatiken aufbauen. Sander Bruggink Automaten und Formale Sprachen 217 Sander Bruggink Automaten und Formale Sprachen 218

4 Syntaxbäume und Eindeutigkeit Syntaxbäume und Eindeutigkeit Dabei erhalten wir in beiden Fällen den gleichen Syntaxbaum. Man sagt, eine Grammatik ist eindeutig, wenn es für jedes Wort in der erzeugten Sprache genau einen Syntaxbaum gibt Eine Grammatik ist mehrdeutig, wenn es für ein Wort in der erzeugten Sprache, zwei oder mehr Syntaxbäume gibt. T F a E T T F a F ( E ) E + T F a Beispiel einer mehrdeutigen Grammatik Sei G = (V, Σ, P, S), wobei V = {S}, Σ = {(, )} und P = S (S) SS ε Sander Bruggink Automaten und Formale Sprachen 219 Sander Bruggink Automaten und Formale Sprachen 220 Wir betrachten nun eine nützliche Normalform. Chomsky-Normalform (Definition) Eine kontextfreie Grammatik G = (V, Σ, P, S) mit ε L(G) heißt in Chomsky-Normalform, falls alle Produktionen eine der folgenden zwei Formen haben: A BC A a Dabei sind A, B, C V Variablen und a Σ ein Alphabetsymbol. Umwandlung in Chomsky-Normalform (Satz) Zu jeder kontextfreien Grammatik G mit ε L(G) gibt es eine Grammatik G in Chomsky-Normalform mit L(G) = L(G ). Sander Bruggink Automaten und Formale Sprachen 221 Sander Bruggink Automaten und Formale Sprachen 222

5 Verfahren zur Umwandlung in Chomsky-Normalform: 1 ε-produktionen entfernen (siehe Folie 213) 2 Kettenproduktionen entfernen (V 1 V 2 ) 3 Alphabetsymbolen aus den rechten Seiten entfernen 4 Lange rechte Seiten aufteilen Schritt 2: Kettenproduktionen entfernen Es gibt zwei Fälle: 1. Fall: Eine Kettenproduktion liegt auf einem Zyklus A 1 A 2 A k A 1 von Produktionen. In diesem Fall werden alle Variablen A 1,, A k durch eine einzige Variable A ersetzt und die Kettenproduktionen entfernt. Sander Bruggink Automaten und Formale Sprachen 223 Sander Bruggink Automaten und Formale Sprachen 224 Schritt 2: Kettenproduktionen entfernen 2. Fall: Es existiert kein Zyklus. In diesem Fall kann man die Variablen durchnummerieren: A 1,, A k, so dass A i A j nur gilt, falls i < j. Man geht nun von den höheren zu den niedrigeren Indizes (i = k 1,, 1) und ersetzt A i A j durch A i x 1 x n, falls die Regeln mit A j auf der linken Seite folgende Form haben: A j x 1 x n Schritt 3: Alphabetsymbolen entfernen Falls eine Regel A w mehr als ein Symbol auf der rechten Seite hat (d.h., w > 1), so wird jedes Terminalzeichen a in w durch eine neue Variable U a ersetzt. Außerdem werden Produktionen U a a hinzugefügt. Dadurch befinden sich nur noch Variablen auf der rechten Seite. Diesen Schritt nur anwenden, wenn w > 1. (Einführen von Shortcuts ) Sander Bruggink Automaten und Formale Sprachen 225 Sander Bruggink Automaten und Formale Sprachen 226

6 Schritt 4: Lange rechte Seiten aufteilen Im letzten Schritt werden Produktionen der Form A B 1 B k eliminiert: führe neue Variable C 1,, C k 2 ein, entferne die ursprüngliche Regel und ersetze sie durch: A B 1 C 1 C 1 B 1 C 2. C k 2 B k 1 B k Beispiel: Sie G = ({S, X, Y }, {a, b, c}, P, S) eine Grammatik, wobei P die folgende Produktionen enthält: S axb X S Y aasc ε Y X bbsc Wandeln Sie G in Chomsky-Normalform um. Sander Bruggink Automaten und Formale Sprachen 227 Sander Bruggink Automaten und Formale Sprachen 228 : ein effizienter(er) Algorithmus, der entscheidet, ob ein gegebenes Wort w von einer gegebenen kontextfreien Grammatik erzeugt wird. Der Algorithmus wurde entwickelt von John Cocke, Daniel Younger und Tadao Kasami. Er braucht eine kontextfreie Grammatik G in Chomsky-Normalform und ein Wort w als Eingabe, und gibt aus, ob w in der Sprache von G liegt. Idee: Gegeben sei ein Wort x Σ. Wir wollen feststellen, aus welchen Variablen es abgeleitet worden sein könnte. Möglichkeit 1: x = a Σ, d.h., x besteht aus einem einzigen Alphabetsymbol. Dann kann w nur aus Variablen A abgeleitet worden sein, für die es eine Produktion A a gibt. Möglichkeit 2: x = a 1 a n mit n 2. In diesem Fall gilt: Zunächst muss eine Produktion A BC angewandt werden, dann muss ein Teil a 1 a k des Wortes aus B und der andere Teil a k+1 a n aus C abgeleitet werden. (1 k < n) Sander Bruggink Automaten und Formale Sprachen 229 Sander Bruggink Automaten und Formale Sprachen 230

7 Möglichkeit 2 läßt sich schematisch folgendermaßen darstellen: A B C Es ist jedoch nicht klar, wo das Wort x geteilt werden muss, d.h., wie groß der Index k ist! Daher: Probiere alle möglichen k s durch. Das heißt: Gegeben ein Wort x = a 1 a n. Überprüfe für alle k mit 1 k < n: Bestimme alle Variablen V 1, aus denen sich a 1 a k ableiten läßt. Bestimme alle Variablen V 2, aus denen sich a k+1 a n ableiten läßt. a 1 a k a k+1 a n Stelle fest, ob es Variablen A, B, C gibt mit (A BC) P, B V 1 und C V 2. In diesem Fall gilt, dass sich x aus A ableiten läßt. Sander Bruggink Automaten und Formale Sprachen 231 Um Mehraufwand zu vermeiden: verwende Methoden der dynamischen Programmierung, das heißt: berechne zuerst alle Variablen, aus denen sich Teilwörter der Länge 1 ableiten lassen, berechne dann alle Variablen, aus denen sich Teilwörter der Länge 2 ableiten lassen, zuletzt berechne alle Variablen, aus denen sich x ableiten läßt. Falls sich das Startsymbol S unter diesen Variablen befindet, so liegt x in der von der Grammatik erzeugten Sprache. Sander Bruggink Automaten und Formale Sprachen 232 Notation: Wir bezeichnen mit x i,j das Teilwort von x, das an der Stelle i beginnt und die Länge j hat. x = a 1 a n x i,j = a i a i+j 1. Damit sieht das obige Bild folgendermaßen aus: B A C x 1,k x k+1,n k Sander Bruggink Automaten und Formale Sprachen 233 Sander Bruggink Automaten und Formale Sprachen 234

8 Praktische Ausführung des CYK-Algorithmus: Wir tragen die Variablenmengen T i,j in folgende Tabelle ein: Wir bezeichnen mit T i,j die Menge aller Variablen, aus denen sich x i,j berechnen läßt. T i,j läßt sich aus Mengen T i,j T i,j = {A (A BC) P mit j < j folgendermaßen bestimmen: und es gibt k < j mit B T i,k und C T i+k,j k } j = n 1 j = n a 1 a 2 a n 1 a n T 1,1 T 2,1 T n 1,1 T n,1 T 1,2 T 1,n 1 T 2,n 1 T 1,n T 2,2 T n 1,2 Sander Bruggink Automaten und Formale Sprachen 235 Sander Bruggink Automaten und Formale Sprachen 236 Folgendermaßen läßt sich veranschaulichen, welche Variablenmenge welches Teilwort ableitet: a 1 a 2 a 3 a 4 a 5 a 1 a 2 a 3 a 4 a 5 T 1,1 T 2,1 T 3,1 T 4,1 T 5,1 T 6,1 T 6,1 T 1,2 T 2,2 T 3,2 T 4,2 T 1,3 T 2,3 T 3,3 T 4,3 T 5,2 x = a1a2a3a4a5 a6 (A BC) P, B T 1,5, C T 6,1 A T 1,4 T 2,4 T 3,4 T 1,5 T 1,5 T 2,5 Sander Bruggink Automaten und Formale Sprachen 237 Sander Bruggink Automaten und Formale Sprachen 238

9 a 1 a 2 a 3 a 4 a 5 a 1 a 2 a 3 a 4 a 5 T 1,4 T 5,2 x = a 1 a 2 a 3 a 4 a 5 (A BC) P, B T 1,4, C T 5,2 A T 1,3 T 4,3 (A BC) P, x = a 1 a 2 a 3 a 4 a 5 B T 1,3, C T 4,3 A Sander Bruggink Automaten und Formale Sprachen 238 Sander Bruggink Automaten und Formale Sprachen 238 a 1 a 2 a 3 a 4 a 5 a 1 a 2 a 3 a 4 a 5 T 1,1 T 1,2 x = a 1 a 2 a 3 a 4 a 5 x = a 1 a 2 a 3 a 4 a 5 T 3,4 (A BC) P, B T 1,2, C T 3,4 A (A BC) P, B T 1,1, C T 2,5 A T 2,5 Sander Bruggink Automaten und Formale Sprachen 238 Sander Bruggink Automaten und Formale Sprachen 238

10 input G = (V, Σ, P, S), w Σ n := w for i {1,, n} do T i,1 := {A A x i,1 P} for j {2,, n} do for i {1,, n j + 1} do T i,j := for k {1,, j 1} do T i,j := T i,j {A A BC P for some B T i,k, C T i+k,j k } end end end if S T 1,n then return true else return false Beispiel 1: Betrachte eine Grammatik mit folgenden Produktionen: S AD FG D SE BC E BC F AF a G BG CG b H SC A a B b C c Frage: Sei x = aabcbc. Gilt x L? Sander Bruggink Automaten und Formale Sprachen 239 Sander Bruggink Automaten und Formale Sprachen 240

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

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

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

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien Automaten und formale prachen Notizen zu den Folien 10 Kontextfreie Grammatiken Beispiele für kontextfreien Grammatiken ei Σ = {a, b}. Beispiel 1 (Folie 211, oben) Geben ie eine kontextfreie Grammatik

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

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien Automaten und formale prachen Notizen zu den Folien 10 Kontextfreie Grammatiken Beispiele für kontextfreien Grammatiken ei Σ = {a, b}. Beispiel 1 (Folie 233, oben) Geben ie eine kontextfreie Grammatik

Mehr

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

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie

Mehr

a b b a a b b a Dank Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Chart-Parsing Chart-Parsing Vorlesung

a b b a a b b a Dank Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Chart-Parsing Chart-Parsing Vorlesung 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

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 ommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

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 ommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

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.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale

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

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

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen

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

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

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

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. 2/5, Folie 1 2017 Prof.

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung 10.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel IV Kontextfreie Sprachen Kontextfreie Grammatik Informatik III 6. Vorlesung

Mehr

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

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

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

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

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

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

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

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

Grundlagen der Theoretischen Informatik

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

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

Grundlagen der Theoretischen Informatik

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

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

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

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

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

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

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

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

Theoretische Grundlagen der Informatik

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

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

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

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

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Chomsky-Grammatiken 16. Chomsky-Grammatiken Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten

Mehr

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-

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 (Typ-2) Sprachen

Kontextfreie (Typ-2) Sprachen Kontextfreie (Typ-2) prachen Bsp.: L 1 = { n 1 n n>} с {,1}* 1 1 L 2 = {w wє{,1}* und w=w rev } с {,1}* 11 1 ε L 3 = {w w hat genausoviele Nullen wie Einsen} с {,1}* B 1 ε 1 B 1 1 BB 1 11 11 11 11B 111

Mehr

Formale Grundlagen der Informatik 1 Kapitel 7 Eigenschaften kontextfreier Sprachen

Formale Grundlagen der Informatik 1 Kapitel 7 Eigenschaften kontextfreier Sprachen Formale Grundlagen der Informatik 1 Kapitel 7 Eigenschaften kontextfreier Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 28. April 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/39

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Reguläre Ausdrücke Wozu

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

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

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,

Mehr

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Informatik 3 Theoretische Informatik WS 2015/16

Informatik 3 Theoretische Informatik WS 2015/16 2. Probeklausur 22. Januar 2016 Informatik 3 Theoretische Informatik WS 2015/16 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Matrikel-Nr.: Schreiben Sie Ihren

Mehr

Ogden s Lemma (T6.4.2)

Ogden s Lemma (T6.4.2) Weiteres Beispiel L={a r b s c t d u r=0 s=t=u} Nahe liegende Vermutung: L nicht kontextfrei. Kann man mit dem Pumping-Lemma nicht zeigen. r=0: Pumpen erzeugt Wort aus L. r>0: Pumpen der a s erzeugt Wort

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

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

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

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

Übungsblatt Nr. 3. Lösungsvorschlag

Übungsblatt Nr. 3. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 3 Aufgabe 1: Karlsruhe ist nicht genug

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

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

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Formale Grundlagen der Informatik

Formale Grundlagen der Informatik Formale Grundlagen der Informatik / 2015 1 Reguläre Ausdrücke Kommen in der Praxis immer dann vor, wenn standardisierte Eingaben erforderlich sind: Telefonnummern: +Land (0) Ort Anschluß Dateinamen: (A-Z,

Mehr

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Name: Matr.-Nr.: Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 7 10 6 8 7 9 err. Punkte Gesamtpunktzahl: Note: Aufgabe

Mehr

Definition der Greibach-Normalform

Definition der Greibach-Normalform Definition der Greibach-Normalform Ähnlich wie die CNF wollen wir noch eine zweite Normalform einführen, nämlich die Greibach-Normalform (GNF), benannt nach Sheila Greibach: Definition: Eine Typ-2 Grammatik

Mehr

Pumping-Lemma 2 Pumping-Lemma Sei L eine von einem endlichen Automaten erkannte Sprache. Dann existiert eine natürliche Zahl p N derart, dass jedes Wo

Pumping-Lemma 2 Pumping-Lemma Sei L eine von einem endlichen Automaten erkannte Sprache. Dann existiert eine natürliche Zahl p N derart, dass jedes Wo 1 Endliche Automaten Modellierungskonzept mit vielen brauchbaren Eigenschaften schnelle Spracherkennung graphisch-visuelle Beschreibung automatische Korrektheitsbeweise gute Kompositionalitätseigenschaften

Mehr

Vorlesung Theoretische Informatik (Info III)

Vorlesung Theoretische Informatik (Info III) 1 Vorlesung Theoretische Informatik (Info III) Prof. Dr. Dorothea Wagner Dipl.-Math. Martin Holzer 22. Januar 2008 Einleitung Motivation 2 Thema heute Kontextfreie Grammatiken: Lemma von Ogden Eigenschaften

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

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Dr.-Ing. Sven Hellbach S. Hellbach Grundlagen der Informatik II Abbildungen entnommen aus: Dirk W. Hoffmann: Theoretische Informatik; Hanser Verlag 2011, ISBN: 978-3-446-42854-6

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

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

Schnitt- und Äquivalenzproblem

Schnitt- und Äquivalenzproblem Schnitt- und Äquivalenzproblem Das Schnittproblem besteht in der Frage, ob der Schnitt zweier gegebener regulärer Sprachen L 1 und L 2 leer ist. Dabei können die Sprachen durch DEAs oder Typ-3 Grammatiken,

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium

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

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

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Abgeschlossenheit (Definition)

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

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs) ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45 Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

Mehr

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S)

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S) Noam CHOMSKY, Sheila GREIBACH Normalformen für kontextfreie Grammatiken Noam CHOMSKY (*1928 ) Sheila GREIBACH (*1939) Grammatik G = (N,T,P,S) GREIBACH Normalform: A aw, w N* Erweiterte GREIBACH Normalform:

Mehr

Noam CHOMSKY, Sheila GREIBACH

Noam CHOMSKY, Sheila GREIBACH Noam CHOMSKY, Sheila GREIBACH Noam CHOMSKY (*1928 ) Sheila GREIBACH (*1939) Normalformen für kontextfreie Grammatiken Grammatik G = (N,T,P,S) GREIBACH Normalform: A aw, w N* Erweiterte GREIBACH Normalform:

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

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

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 20. Februar 2004 1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr