Automaten und formale Sprachen Notizen zu den Folien

Größe: px
Ab Seite anzeigen:

Download "Automaten und formale Sprachen Notizen zu den Folien"

Transkript

1 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 des Automatenmodells durchführen (anstatt auf Grammatiken). Dazu gehört: das Wortproblem (wir werden herausfinden, dass das Wortproblem unter bestimmten Umständen effizienter als in Zeit O(n 3 ) gelöst werden kann) Abschlusseigenschaften (Abschluss von kontextfreien Sprachen unter Schnitt mit regulären Sprachen lässt sich gut mit Kellerautomaten zeigen) Zu Folie 234 Ein endlicher Automat kann diese Sprache deshalb nicht erkennen, weil er sich keine beliebig langen Wörter der Form a 1 a 2... a n merken kann. Er müsste sich aber solche Wörter merken, um die Übereinstimmung mit dem Wortteil nach dem $ zu überprüfen. Bedeuten der Überführungsfunktion eines Kellerautomaten (zu Folien ) Σ {ɛ} ist das Alphabet mit einem zusätzlichem Symbol ɛ. Z (Σ {ɛ}) Γ ist die Menge von 3-Tupeln, die aus einem Zustand, einem Alphabetsymbol oder ɛ, und aus einem Kellersymbol bestehen. Z Γ ist die Menge von Paaren, die aus einem Zustand und aus einer Folge von Kellersymbolen bestehen. Das heißt, δ ist eine Funktion, die als Eingabe einen Zustand (den aktiven Zustand), ein Alphabetsymbol oder ɛ (das eingelesene Symbol, wobei ɛ angibt, dass nichts eingelesen werden soll) und einen Kellersymbol (das oberste Symbol auf dem Keller) nimmt, und einen Zustand (den Nachfolgezustand) und eine Folge von Kellersymbolen ausgibt. Notation der Überführungsfunktion Sei M = (Z, Σ, Γ, δ, z 0, #) ein Kellerautomat. Für z Z, a Σ {ɛ} und A Γ, ist δ(z, a, A) eine endliche Menge von Paaren. Zum Beispiel, Z = {z 0, z 1 }, Σ = {a, b} und Γ = {A, #}. Dann könnte δ folgendermaßen definiert sein: δ(z 0, a, #) = {(z 0, #), (z 0, A#)} δ(z 0, a, A) = {(z 0, A), (z 0, AA)} δ(z 0, b, #) = δ(z 0, b, A) = {(z 1, ɛ)} δ(z 0, ɛ, #) = δ(z 0, ɛ, A) = δ(z 1, a, #) = δ(z 1, a, A) = δ(z 1, b, #) = δ(z 1, b, A) = {(z 1, ɛ)} δ(z 1, ɛ, #) = {(z 1, ɛ)} δ(z 1, ɛ, A) = 1

2 Es sei angemerkt, dass δ eine vollständige Funktion ist, und deswegen muss sie für alle Kombinationen von Zustand, Alphabetsymbol (oder ɛ) und Kellersymbol definiert sein. Aus Klarheitsgründen werden wir die Überführungsfunktion aber folgendermaßen angegeben: δ(z 0, a, #) (z 0, #) δ(z 1, b, A) (z 1, ɛ) δ(z 0, a, #) (z 0, A#) δ(z 1, ɛ, #) (z 1, ɛ) δ(z 0, a, A) (z 0, A) δ(z 0, a, A) (z 0, AA) δ(z 0, b, A) (z 1, ɛ) oder noch kürzer selbst folgendermaßen: (z 0, a, #) (z 0, #) (z 1, b, A) (z 1, ɛ) (z 0, a, #) (z 0, A#) (z 1, ɛ, #) (z 1, ɛ) (z 0, a, A) (z 0, A) (z 0, a, A) (z 0, AA) (z 0, b, A) (z 1, ɛ). Dabei werden wir davon ausgehen, dass wenn δ(z, a, A) (z, γ) bzw. (z, a, A) (z, γ) nicht angegeben ist (für z Z, a Σ {ɛ}, γ Γ ), dann (z, γ) / δ(z, a, A) gemeint ist. Wir werden auch eine graphische Darstellung verwenden. Ein Übergang (z, a, A) (z, B 1... B n ) wird dann wie folgt angegeben: a, A B z 1... B n z Kellerautomat-Beispiel 1 (Folie 250) Geben Sie einen Kellerautomaten M für die Sprache L(M) = {w$w R w {a, b} } an. Antwort: M = ({z 1, z 2 }, {a, b, $}, {#, A, B}, δ, z 1, #), wobei δ folgendermaßen definiert ist (wir schreiben (z, a, A) (z, x), falls (z, x) δ(z, a, A)). (z 1, a, #) (z 1, A#) (z 1, a, A) (z 1, AA) (z 1, a, B) (z 1, AB) (z 1, b, #) (z 1, B#) (z 1, b, A) (z 1, BA) (z 1, b, B) (z 1, BB) (z 1, $, #) (z 2, #) (z 1, $, A) (z 2, A) (z 1, $, B) (z 2, B) (z 2, a, A) (z 2, ɛ) (z 2, b, B) (z 2, ɛ) (z 2, ɛ, #) (z 2, ɛ) Graphisch dargestellt sieht der Kellerautomat folgendermaßen aus: a, # A#, b, # B#, a, A AA, b, A BA, a, B AB, b, B BB a, A ɛ, b, B ɛ, ɛ, # ɛ $, # #, $, A A, $, B B z 1 z 2 Wenn ein Pfeil zwei Beschriftungen hat (z.b. angegeben als $, # #, $, A A, $, B B ) heißt das, dass er zwei Übergänge repräsentiert (genauso haben wir das auch bei endlichen Automaten gemacht). 2

3 Zu Folie 245 bezeichnet die reflexive und transitive Hülle von. Das heißt, dass (z, w, γ) (z, w, γ ), wenn (z, w, γ ) in keinem, einem oder mehreren Schritten aus (z, w, γ) erreicht werden kann. In anderen Worten: (z, w, γ) (z, w, γ ) genau dann, wenn es Konfigurationen k 1,..., k n gibt, so dass k 1 = (z, w, γ), k n = (z, w, γ ) und k i k i+1, für 0 < i < n gilt. Kellerautomat-Beispiele Beispiel 1. (Folie 254) Aufgabe: Sei Σ = {a, b} das Alphabet. Geben Sie einen Kellerautomaten an, der die folgende Sprache akzeptiert: L = {ww R w {a, b} }. Antwort: wobei δ wie folgt definiert ist: M = ({z 1, z 2 }, {a, b}, {#, A, B}, δ, z 1, #), (z 1, a, #) (z 1, A#) (z 1, a, A) (z 1, AA) (z 1, a, B) (z 1, AB) (z 1, b, #) (z 1, B#) (z 1, b, A) (z 1, BA) (z 1, b, B) (z 1, BB) (z 1, ɛ, #) (z 2, #) (z 1, ɛ, A) (z 2, A) (z 1, ɛ, B) (z 2, B) (z 2, a, A) (z 2, ɛ) (z 2, b, B) (z 2, ɛ) (z 2, ɛ, #) (z 2, ɛ) Ein Ablauf dieses Kellerautomaten, wobei der Automat mit einem leeren Keller endet: (z 1, aabbaa, #) (z 1, abbaa, A#) (z 1, bbaa, AA#) (z 1, baa, BAA#) (z 2, baa, BAA#) (z 2, aa, AA#) (z 2, a, A#) (z 2, ɛ, #) (z 2, ɛ, ɛ) Es gibt aber auch Abläufe, die nicht in den leeren Keller enden: (z 1, aabbaa, #) (z 1, abbaa, A#) (z 1, bbaa, AA#) (z 1, baa, BAA#) (z 1, aa, BBAA#) (z 1, a, ABBAA#) (z 2, a, ABBAA#) (z 2, ɛ, BBAA#) Ein Wort wird von dem Kellerautomaten akzeptiert, falls es mindestens einen Ablauf gibt, der mit einem leeren Keller endet (und das ganze Eingabewort eingelesen hat). In diesem Fall wird aabbaa also von dem Automaten akzeptiert. Beispiel 2. (Folie 255, oben) Aufgabe: Sei Σ = {a, b} das Alphabet. Geben Sie einen Kellerautomaten an, der die folgende Sprache akzeptiert: L 1 = {a n b m 1 n m} Lösung: Wir brauchen zwei Zustände: z 1 : Einlesen der a s (Anfangszustand) In diesem Zustand liest der Automat die a s ein, und speichert die Anzahl der a s auf den Keller (in unärer Darstellung, das heißt die Anzahl der Symbolen auf dem Keller entspricht der Anzahl der gelesenen a s). z 2 : Einlesen der b s In diesem Zustand baut der Automat den Keller ab. Für jedes Kellersymbol, das auf dem Keller liegt, muss ein b eingelesen werden. Weil es nur gefordert ist, dass die Anzahl der b s größer oder gleich der Anzahl der a s ist, können auch b s eingelesen werden, ohne den Keller zu ändern. 3

4 Formal dargestellt, lässt sich der Kellerautomat M 1 folgendermaßen definieren: M 1 = (Z, Σ, Γ, δ, z 1, #), wobei Z = {z 1, z 2 }, Σ = {a, b}, Γ = {A, #} und δ folgendermaßen definiert ist: (z 1, a, #) (z 1, A#) wenn das einzulesene Symbol ein a ist (z 1, a, A) (z 1, AA) push A auf den Keller (z 1, ɛ, #) (z 2, #) oder springe nicht-deterministisch zu (z 1, ɛ, A) (z 2, A) Zustand z 2 um den Keller abzubauen (z 2, b, #) (z 2, ɛ) lese ein b ein, und pop optional (z 2, b, #) (z 2, #) das oberste Symbol (A oder #) vom Keller (z 2, b, A) (z 2, ɛ) (ein a soll in z 2 nie eingelesen werden) (z 2, b, A) (z 2, A) (z 2, ɛ, #) (z 2, ɛ) sorgt dafür, dass der PDA aufhören kann, wenn n = m Beispiel 3. (Folie 255, unten) Aufgabe: Sei Σ = {a, b, $}. Geben Sie einen Kellerautomaten an, der die folgende Sprache akzeptiert: L 2 = {x$y x {a, b}, y {a, b}, x y} Lösung: Die Sprache besteht aus Wörtern der Form x$y, wobei x und y nicht gleich sind. Weil wir nur das oberste Kellerzeichen betrachten können, reicht es nicht den Teil des Wortes vor dem $ auf dem Keller zu speichern: das Wort befindet sich dann in umgekehrter Reihenfolge auf dem Keller. Wir müssen uns also überlegen, wie wir überprüfen können, dass die zwei Teilen des Wortes (x und y) ungleich sind ohne den ganzen ersten Teil (x) auf den Keller zu pushen. Es gibt zwei mögliche Gründe, warum x und y ungleich sind: entweder gibt es eine natürliche Zahl i, so dass das i-te Symbol vom x ungleich dem i-ten Symbol vom y ist, oder x und y haben eine unterschiedliche Länge. Wir versuchen jetzt einen Automaten zu bauen, der während dem Einlesen von x nichtdeterministisch entweder eine Position wählt, in der sich x und y unterscheiden, oder die Länge überprüft. Im ersten Fall wird die Position auf den Keller gespeichert, im zweiten Fall die Länge von x. Unser Automat besteht aus den folgenden Zuständen: z 1 : x und Stelle oder Länge wählen Wenn ein a eingelesen wird, kann nichtdeterministisch entschieden werden, zu z 3 zu gehen (um zu überprüfen, ob das entsprechende Symbol von y ein b ist). Wenn ein b eingelesen wird, kann nichtdeterministisch entschieden werden, zu z 5 zu gehen (um zu überprüfen, ob das entsprechende Symbol von y ein a ist). In beiden Fällen kann man auch in z 1 bleiben und ein 1 auf den Keller pushen, so dass eine andere Position oder die Länge gewählt werden kann. Wenn $ eingelesen wird, geh zu z 2 um die Länge zu überprüfen. z 2 : Länge von y überprüfen Dieser Zustand überprüft, ob y eine andere Anzahl von Symbolen hat, als es Symbolen auf dem Keller gibt. Ein Wort wird akzeptiert, sobald entweder der Keller leer ist (in diesem Fall wird in z 7 gewechselt um den Rest der Eingabe einzulesen), oder das Eingabewort vollständig gelesen wurde (in diesem Fall wird in z 8 gewechselt um den Keller zu leeren), aber nicht gleichzeitig. 4

5 z 3 : Rest von x einlesen 1 Zusammen mit z 4 überprüft dieser Zustand, ob die entsprechende Position von y ein b enthält. Insbesondere, liest dieser Zustand die restlichen Symbole von x ein, ohne den Keller zu ändern, und wechselt dann in z 4. z 4 : Position überprüfen 1 Wenn es noch Symbole auf dem Keller gibt, wird ein Symbol von der Eingabe eingelesen und das oberste Kellersymbol gepopt. Sonst, wird b eingelesen und in den Akzeptanzzustand z 7 gewechselt. (Es gibt in diesem Fall keine Übergänge, wo ein a eingelesen wird.) z 5 und z 6 : Anolog zu z 4 und z 5, aber es wird auf a geprüft und nicht auf b. z 7 : Akzeptanzzustand 1 Der Rest des Eingabewortes wird eingelesen und schließlich das Kellerbodenzeichen vom Keller entfernt. z 8 : Akzeptanzzustand 2 In diesem Zustand wird den Keller abgebaut, aber kein Teil der Eingabe gelesen. Der Automat M 2 wird formal wie folgt dargestellt: M 2 = (Z, Σ, Γ, δ, z 1, #) 5

6 wobei Z = {z 1, z 2, z 3, z 4, z 5, z 6, z 7 }, Σ = {a, b, $}, Γ = {1, #} und δ enthält die folgende Übergänge: Zustand z 1 Zustand z 2 (z 1, a, #) (z 1, 1#) (z 2, a, 1) (z 2, ɛ) (z 1, a, 1) (z 1, 11) (z 2, b, 1) (z 2, ɛ) (z 1, a, #) (z 3, #) (z 2, a, #) (z 7, #) (z 1, a, 1) (z 3, 1) (z 2, b, #) (z 7, #) (z 1, b, #) (z 1, 1#) (z 2, ɛ, 1) (z 8, ɛ) (z 1, b, 1) (z 1, 11) (z 1, b, #) (z 5, #) (z 1, b, 1) (z 5, 1) (z 1, $, #) (z 2, #) (z 1, $, 1) (z 2, 1) Zustand z 3 Zustand z 5 (z 3, a, #) (z 3, #) (z 5, a, #) (z 5, #) (z 3, a, 1) (z 3, 1) (z 5, a, 1) (z 5, 1) (z 3, b, #) (z 3, #) (z 5, b, #) (z 5, #) (z 3, b, 1) (z 3, 1) (z 5, b, 1) (z 5, 1) (z 3, $, #) (z 4, #) (z 5, $, #) (z 6, #) (z 3, $, 1) (z 4, 1) (z 5, $, 1) (z 6, 1) Zustand z 4 Zustand z 6 (z 4, a, 1) (z 4, ɛ) (z 6, a, 1) (z 6, ɛ) (z 4, b, 1) (z 4, ɛ) (z 6, b, 1) (z 6, ɛ) (z 4, b, #) (z 7, #) (z 6, a, #) (z 7, #) Zustand z 7 Zustand z 8 (z 7, a, #) (z 7, #) (z 8, ɛ, 1) (z 8, ɛ) (z 7, b, #) (z 7, #) (z 8, ɛ, #) (z 8, ɛ) (z 7, ɛ, #) (z 7, ɛ) Kontextfreie Grammatik PDA (Folie 258/259) Kellerautomaten können in einem Konfigurationsübergang ein Symbol auf dem Keller durch mehrere verschiedene ersetzen. Deswegen können wir den Keller verwenden, um das ableiten eines Wortes zu simulieren. Weil wir über kontextfreie Grammatiken reden, können Terminalsymbole nicht mehr durch etwas anderes ersetzt werden (nur einzelne Variablen können ersetzt werden). Das heißt, dass Terminalsymbolen, die links von der ersten Variable vorkommen (über der höchsten Variable auf dem Stack) und die mit der Eingabe übereinstimmen, ohne Probleme entfernt werden können, damit eine Variable wieder das erste Symbol ist. Beispiel von Folie 259: Wenn wir die Konstruktion auf die Beispielgrammatik anwenden, kommt folgender Kellerautomat M raus: M = ({z}, {[, ]}, {S, [, ]}, δ, z, S), 6

7 wobei δ wie folgt gegeben ist: (z, [, [) (z, ɛ) (z, ], ]) (z, ɛ) (z, ɛ, S) (z, [S]S) (z, ɛ, S) (z, ɛ) PDA kontextfreie Grammatik (Folien ) Produktionformen: S (z 0, #, z) für alle z Z. Aus (z 0, #, z) können, nach Beweisidee, die Wörter abgeleited werden, die der Kellerautomat einliest, wenn er im Anfangszustand startet, in z (der beliebig ist) endet, und dabei das Kellerbodenzeichen abbaut. Das heißt, dass aus S alle Wörter der Sprache abgeleitet werden können, wie gewünscht. (z, A, z ) a falls (z, ɛ) δ(z, a, A). Der Kellerautomat kann, wenn er sich im Zustand z befindet, bei Einlesen von a und Abbauen von A, in Zustand z wechseln. (z, A, z ) a(z 1, B 1, z 2 )(z 2, B 2, z 3 )... (z k, B k, z ) falls (z 1, B 1... B k ) δ(z, a, A), wobei z 2,..., z k Z. Der Kellerautomat kann, bei Einlesen von a, von Zustand z den Zustand z 1 erreichen, indem das oberste Kellerzeichen A durch B 1... B k ersetzt wird. Um den Keller um ein Symbol zu verringern, müssen nun die Kellersymbolen B 1,..., B k entfernt werden. Wir haben die folgende Situation: B 1 B 2 B 2 A B k B k Bk z z 1 z 2 z k z a x 1 x 2... x k 1 x k Wenn wir annemen, dass, für 1 i k, (z i, B i, z i+1 ) x i (mit z = z k ), dann kann der Kellerautomat bei Einlesen von ax 1... x k und Entfernen von A von dem Keller von Zustand z in Zustand z kommen. Beispiel von Folie 268: Wenn wir die Konstruktion auf den Beispielautomaten anwenden, kommt folgende kontextfreie Grammatik G raus: G = (V, Σ, P, S) wobei V = {S} Z Γ Z (d.h., dass V aus S und 3-Tupeln von Zustand, Kellersymbol und Zustand besteht) und P aus den folgenden Produktionen besteht: Produktionen der ersten Form: S (z 1, #, z 1 ) S (z 1, #, z 2 ) 7

8 Produktionen der zweiten Form: (z 1, A, z 2 ) b (z 2, A, z 2 ) b (z 2, #, z 2 ) ɛ Produktionen der dritten Form: (z 1, #, z 1 ) a(z 1, A, z 1 )(z 1, #, z 1 ) (z 1, #, z 2 ) a(z 1, A, z 1 )(z 1, #, z 2 ) (z 1, #, z 1 ) a(z 1, A, z 2 )(z 2, #, z 1 ) (z 1, #, z 2 ) a(z 1, A, z 2 )(z 2, #, z 2 ) (z 1, A, z 1 ) a(z 1, A, z 1 )(z 1, A, z 1 ) (z 1, A, z 2 ) a(z 1, A, z 1 )(z 1, A, z 2 ) (z 1, A, z 1 ) a(z 1, A, z 2 )(z 2, A, z 1 ) (z 1, A, z 2 ) a(z 1, A, z 2 )(z 2, A, z 2 ) Als ein Hinweis darauf, dass die Ergebnisgrammatik tatsächlich die richtige Sprache akzeptiert, folgt hier ein Syntaxbaum für das Wort aabb: S (z 1, #, z 2 ) a (z 1, A, z 2 ) (z 2, #, z 2 ) a (z 1, A, z 2 ) (z 2, A, z 2 ) ɛ b b 8

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

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

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

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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

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

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

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

PDA, Übergangsfunktion

PDA, Übergangsfunktion Die Übergangsfunktion Was bedeutet das? PDA, Übergangsfunktion haben wir so definiert: : Z ( [{"})!P e (Z ) (z, a, A) ist eine Menge von Paaren der Form (z 0, B 1...B k ). Jedes dieser Paare beschreibt

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

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

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

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

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

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

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

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

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

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Kapitel 7: Kellerautomaten und kontextfreie Sprachen Kapitel 7: Kellerautomaten und kontextfreie Sprachen Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 1090 Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at

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

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

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

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

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

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

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

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

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 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

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

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

(z', B 1...B k ) δ(z,a,a): 7. Kellerautomaten 7.1 Kellerautomaten und akeptierte Sprachen Endliche Automaten haben, abgesehen von den Zuständen, kein "Gedächtnis" und können sich nicht "merken", wie sie in einen bestimmten Zustand

Mehr

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

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

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: Tutorium Nr. 8

Formale Sprachen und Automaten: Tutorium Nr. 8 Formale Sprachen und Automaten: Tutorium Nr. 8 15. Juni 2013 Übersicht 1 Nachtrag 2 Besprechung von Übungsblatt 7 Aufgabe 1 Aufgabe 2 Aufgabe 3 3 CFG PDA Definitionen Ein Beispiel! Aufgabe 4 Der PDA als

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

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

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

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

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

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

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

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

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

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

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

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

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

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

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

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 Deterministische Kellerautomaten

Mehr

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

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

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

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

Mehr

Theoretische Informatik für Medieninformatiker

Theoretische Informatik für Medieninformatiker Theoretische Informatik für Medieninformatiker Jan Johannsen Lehrveranstaltung im Sommersemester 27 / 6 Organisatorisches: Jede Lehrveranstaltungsstunde gliedert sich in einen Vorlesungsteil, dessen Länge

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

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

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

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

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

DKA und dkfs (mit Übungen)

DKA und dkfs (mit Übungen) DKA und dkfs (mit Übungen) Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher Prof.Dr.Chr. Wagenknecht Formale Sprachen und Automaten 1/15 kurz DKA Analog zu endlichen Automaten

Mehr

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

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

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

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

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

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

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

5.7 Kontextfreie Grammatiken und Kellerautomaten

5.7 Kontextfreie Grammatiken und Kellerautomaten 130 5.7 Kontextfreie Grammatiken und Kellerautomaten Im letzten Abschnitt haben wir gesehen, dass wir reguläre Sprachen auch mit Hilfe von endlichen Automaten charakterisieren können. Jetzt wollen wir

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

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

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 9201 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von

Mehr

2.3 Abschlusseigenschaften

2.3 Abschlusseigenschaften 2.3 Abschlusseigenschaften 2.3 Abschlusseigenschaften In diesem Abschnitt wollen wir uns mit Abschlusseigenschaften der regulären Sprachen, d.h. mit der Frage, ob, gegeben eine Operation und zwei reguläre

Mehr

Hilfestellungen zu Relationen, Automatenübergänge und Hüllen

Hilfestellungen zu Relationen, Automatenübergänge und Hüllen Hilfestellungen zu Relationen, Automatenübergänge und Hüllen Erik Fäßler December 18, 2009 1 Relationen Die gültigen Übergänge eines endlichen Automaten - oder Finite State Automaton, FSA - werden formal

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

3 kontextfreie Sprachen

3 kontextfreie Sprachen Hans U. Simon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

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

Das Pumping-Lemma Formulierung

Das Pumping-Lemma Formulierung Das Pumping-Lemma Formulierung Sei L reguläre Sprache. Dann gibt es ein n N mit: jedes Wort w L mit w n kann zerlegt werden in w = xyz, so dass gilt: 1. xy n 2. y 1 3. für alle k 0 ist xy k z L. 59 / 162

Mehr

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

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

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. Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen (noch weiter) 2.3. Kontextfreie Sprachen 2/4,

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der

Mehr

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

A : z z A : z z : ( z, x, z ) δ Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,

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

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

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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Grammatik und Automat Formale Sprachen und Automaten Automaten sind Konzepte, die eine Sprache L dadurch charakterisieren, dass sie L akzeptieren. Grammatiken sind Konzepte, die eine Sprache L dadurch

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

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

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Avant Propos Formale Sprachen und Automaten Sie [die Theorie der formalen Sprachen] ist ein Musterbeispiel einer informatischen Theorie, weil es ihr gelingt, einen großen Bestand an Einsichten und Zusammenhängen

Mehr

Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S, P) mit den Regeln

Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S, P) mit den Regeln REG versus CF Theorem REG ist echt in CF enthalten. Beweis: Wir wissen: L = {a m b m m 1} ist nicht regulär. Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S,

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche

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

Turingautomaten Jörg Roth Turingautomaten

Turingautomaten Jörg Roth Turingautomaten Turingautomaten Jörg Roth 331 5 Turingautomaten Wir führen nochmals ein neues Automatenmodell ein und erweitern die Fähigkeit, Sprachen zu erkennen: Problem vom Kellerautomaten: wir können zwar beliebig

Mehr

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni HA-Lösung. TA-Lösung

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni HA-Lösung. TA-Lösung Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 9 Beachten Sie: Soweit

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

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

1 Automatentheorie und Formale Sprachen

1 Automatentheorie und Formale Sprachen David Neugebauer, HKI - Universität zu Köln, Seminar BIT 2, SS 2017 Inhaltsverzeichnis 1 1 1.1 Sprachen als Mengen von Wörtern...................... 2 1.2 Formale Sprachen und Grammatiken.....................

Mehr

Lexikalische Analyse, Tokenizer, Scanner

Lexikalische Analyse, Tokenizer, Scanner Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,

Mehr