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

Ähnliche Dokumente
Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009

Informatik III - WS07/08

Klausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009 mit Lösunsgsvorschlägen

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

Formale Sprachen und Automaten

Formale Grundlagen der Wirtschaftsinformatik

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

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

Kontextfreie Sprachen

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

Klausur zur Vorlesung Grundbegriffe der Informatik 14. September 2015

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

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

Kontextfreie Sprachen

Informatik 3 Theoretische Informatik WS 2015/16

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

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

Automaten und formale Sprachen Klausurvorbereitung

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Kontextfreie Sprachen werden von PDAs akzeptiert

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

Einführung in die Computerlinguistik

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Grundbegriffe der Informatik Tutorium 12

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Musterlösung Informatik-III-Nachklausur

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

5. Die syntaktische Analyse

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

Theoretische Grundlagen der Informatik

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016

10 Kellerautomaten. Kellerautomaten

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

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016

8. Turingmaschinen und kontextsensitive Sprachen

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

Musterlösung (Stand ) zur Klausur zur Vorlesung Grundbegriffe der Informatik 4. März 2015

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

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

Deterministischer Kellerautomat (DPDA)

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Grundlagen der Informatik II

Übungsblatt Nr. 3. Lösungsvorschlag

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

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

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

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

LR Parsing. Prinzip: Entwicklung des Parsebaums bottom up, von links nach rechts (Abb. 2.52)

(Prüfungs-)Aufgaben zu formale Sprachen

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

Automatentheorie und formale Sprachen

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14

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

Grundlagen der theoretischen Informatik

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

5. Syntaxanalyse und der Parser-Generator yacc. 5.5 Aufsteigende Analyse. Absteigende Analyse versus aufsteigende Analyse. 5.5 Aufsteigende Analyse

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

Übungsaufgaben zu Formalen Sprachen und Automaten

Einführung in die Theoretische Informatik

Klausur zur Vorlesung Grundbegriffe der Informatik 2. März 2016

Übersicht. 3 3 Kontextfreie Sprachen

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Akzeptierende Turing-Maschine

Klausur zur Vorlesung Grundbegriffe der Informatik 4. März 2015

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

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

Theoretische Grundlagen der Informatik

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

Theoretische Informatik

Einführung in die Computerlinguistik Chart-Parsing

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

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

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

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

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

Formale Sprachen und Automaten

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

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

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Grundlagen der Theoretischen Informatik

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Klausur zur Vorlesung Grundbegriffe der Informatik 14. September 2015 Lösungsvorschläge

Theoretische Grundlagen der Informatik

kontextfreie Sprachen: Normalformen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Rekursiv aufzählbare Sprachen

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

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

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

Das Halteproblem für Turingmaschinen

Transkript:

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 1 (1+1+1+3 = 6 Punkte) Es seien L 1 und L 2 zwei formale Sprachen. Welche der folgenden Aussagen sind richtig und welche sind falsch: 1. Wenn L 1 und L 2 regulär sind, dann ist auch L 1 L 2 regulär. Ja 2. Wenn L 1 und L 2 regulär sind, dann ist auch L 1 L 2 regulär. Ja 3. Wenn L 1 und L 2 regulär sind, dann ist auch L 1 L 2 regulär. Ja 4. Suchen Sie sich nun eine Ihrer Antworten von eben aus. Auswahl (1, 2 oder 3): z.b. 1 Falls Ihre Einschätzung der ausgewählten Behauptung Richtig war, dann begründen Sie bitte, warum die Behauptung stimmt. Falls Ihre Einschätzung der ausgewählten Behauptung Falsch war, dann geben Sie bitte ein Gegenbeispiel an. Man simuliert die DEAs für L 1 und L 2 gleichzeitig mit einem DEA, indem man als Zustände die Paare (s 1, s 2 ) von je einem Zustand der DEAs wählt. Neue Endzustände sind die, die aus zwei alten Endzuständen bestehen. Zustandsübergang f((s 1, s 2 ), x) = (t 1, t 2 ), falls f i (s i, x) = t i für i = 1, 2 gilt. 2

Matrikelnummer: Aufgabe 2 (1+4+2 = 7 Punkte) Gegeben sei der nichtdeterministische endliche Akzeptor N mit Eingabealphabet X = {a, b}, Zustandsmenge Z = {1, 2, 3}, Anfangszustand 1 und akzeptierenden Zuständen F = {1}, dessen Arbeitsweise durch die folgende Tabelle festgelegt sei: 1 2 3 a {2, 3} {1, 2} { } b { } { } {2} Konstruieren Sie nach dem in der Vorlesung vorgestellten Verfahren einen deterministischen endlichen Akzeptor D, der die gleiche formale Sprache akzeptiert. Tun Sie dazu folgendes: 1. Beschreiben Sie, was man als Zustände von D wählt. 2. Zeichnen Sie den relevanten Teil des Zustandsdiagrammes von D. Achten Sie bitte darauf, dass aus dem Bild alle Bestandteile von D hervorgehen. 3. Beschreiben Sie, wie man im allgemeinen zu einem gegebenen Zustand von D und einem Eingabesymbol den Nachfolgezustand berechnet. 1. Teilmengen von Zuständen von N, also Z D = 2 Z N. 2. ist klar 3. Für jedes z z Z D bestimmt man die Menge g(z, x) der in N möglichen Nachfolgezustände und vereinigt alle diese Mengen: f(z, x) = z z g(z, x). 3

Weiterer Platz für Antworten zu Aufgabe 2: 4

Matrikelnummer: Aufgabe 3 (3+1+2+2+2 = 10 Punkte) In dieser Aufgabe geht es um die formale Sprache L aller Wörter w {a,b,c} + erzeugt, für die gilt: Das erste und das letzte Symbol von w sind verschieden. 1. Geben Sie eine kontextfreie Grammatik G = (N, T, S, P) an, die die L erzeugt. 2. Ist die Grammatik, die Sie in Teilaufgabe 1 angegeben haben, eindeutig oder mehrdeutig? 3. Begründen Sie Ihre Antwort aus Teilaufgabe 2. 4. Geben Sie eine Typ-3-Grammatik an, die L erzeugt. 5. Geben Sie einen regulären Ausdruck an, der L beschreibt. 1. G = ({S, X}, {a,b,c}, S, P) mit der Produktionenmenge P = {S axb axc bxa bxc cxa cxb, X XX a b c ε} 2. mehrdeutig 3. Durch die Produktion X XX bekommt man z.b. die Möglichkeit zu den verschiedenen Linksableitungen X l XX l ax l axx l abx l abc und X l XX l XXX l axx l abx l abc. 4. G = ({S, X a, X b, X c }, {a,b,c}, S, P) mit der Produktionenmenge P = {S ax a bx b cx c, X a ax a bx a cx a b c, X b ax b bx b cx b a c, X c ax c bx c cx c a b} 5. a(a b c) * b a(a b c) * c b(a b c) * a b(a b c) * c c(a b c) * a c(a b c) * b 5

Weiterer Platz für Antworten zu Aufgabe 3: 6

Matrikelnummer: Aufgabe 4 (3+3 = 6 Punkte) In dieser Aufgabe geht es um reguläre Ausdrücke und um Regexes. 1. Es sei das Alphabet A = {a,b} gegeben. Geben Sie die Definition normaler regulärer Ausdrücke (ohne die Zusätze und Verallgmeinerungen für Regexes) über dem Alphabet A an. 2. Es sei nun das Wort aaababb zu Grunde gelegt. Geben Sie für jeden der folgenden Regexes an, welches Teilwort gematcht wird. (i) a.* (ii).a* (iii).*a (iv) b.* (v).b* (vi).*b 1. (i) Ø ist regulärer Ausdruck. (ii) a und b sind reguläre Ausdrücke. (iii) Sind R 1 und R 2 reguläre Ausdrücke, dann auch (R 1 R 2 ) und (R 1 R 2 ). (iv) Ist R regulärer Ausdruck, dann auch (R) *. (v) Nichts sonst ist regulärer Ausdruck. 2. (i) aaababb (ii) aaa (iii) aaaba (iv) babb (v) a (vi) aaababb 7

Weiterer Platz für Antworten zu Aufgabe 4: 8

Matrikelnummer: Aufgabe 5 (4+2+2 = 8 Punkte) In dieser Aufgabe geht es um Bottom-Up-Syntaxanalyse. 1. Gegeben sei die kontextfreie Grammatik G = ({S, Y }, {a, +}, S, P) mit Produktionenmenge P = {S S+Y, S a+s, S a, Y a}. Geben Sie für die Eingabe a+a+a in Tabellenform eine akzeptierende Berechnung des nichtdeterministischen Kellerautomaten an, der die Bottom- Up-Syntaxanalyse durchführt. 2. Welche nichtdeterministischen Wahlmöglichkeiten hat ein Kellerautomat im allgemeinen in einem Schritt? 3. Was tut man, damit man bei der Bottom-Up-Syntaxanalyse (z.b. für gängige Programmiersprachen) mit deterministischen Kellerautomaten auskommt? 1. Ist im Prinzip klar. Hatten auch alle richtig. 2. Shift oder Reduce. Im Falle von Reduce: welche Produktion? Im allgemeinen können unterschiedlich lange Handles reduziert werden, und bei gleichem Handle sind unter Umständen verschiedenen Produktionen anwendbar. 3. Grammatik geeignet umbauen bzw. gleich wählen; dem Kellerautomaten Vorausschau im Eingabestrom erlauben. 9

Weiterer Platz für Antworten zu Aufgabe 5: 10

Matrikelnummer: Aufgabe 6 (2+2+1+2 = 7 Punkte) In dieser Aufgabe geht es um deterministisches LR-Parsing. Z.B. mit Parser- Generatoren erzeugte LALR(1)-Parser arbeiten mit Hilfe zweier Tabellen act(z, ω) und goto(z, X). 1. Geben Sie an (wenige Wörter genügen jeweils), was dabei z, ω und X sind. 2. Beschreiben Sie, wie bei einem Reduktionsschritt Symbol- und Zustandskeller aktualisiert werden. 3. Beschreiben Sie allgemein, wie ein Zustand repräsentiert wird. 4. Beschreiben Sie allgemein, wie man zu gegebenen z und X den Nachfolgezustand goto(z, X) berechnet. 1. z: aktueller Zustand oben auf dem Zustandskeller; ω: in der Vorausschau im Eingabestrom sichtbare Zeichenkette; X: neues Symbol obne auf dem Symbolkeller; 2. Vom Symbolkeller wird die rechte Seite der Produktion entfernt. Vom Zustandskeller werden ebenso viele Elemente entfernt; obenauf werde Zustand z sichtbar. Auf denb Symbolkeller kommt linke Seite X der Produktion. Auf den Zustandskeller kommt goto(z, X). 3. Durch eine Menge markierter Produktionen. 4. Suche in z die Produktionen mit der Markierung vor dem X. Schiebe bei diesen die Markierung am X vorbei. Vervollständige diese Menge: Falls Markierung vor einem Nichtterminalsymbol Y steht, dann nimm alle markierten Produktionen Y w hinzu. Man iteriere dies, bis sich nichts mehr ändert. 11

Weiterer Platz für Antworten zu Aufgabe 6: 12

Matrikelnummer: Aufgabe 7 (1+1+4+1+2 = 9 Punkte) In dieser Aufgabe geht es um den Algorithmus von Cocke, Younger und Kasami (CYK). Auf der nächsten Seite finden Sie die Schablone für ein zugehöriges Diagramm. 1. Für welche Grammatiken funktioniert CYK? 2. Wie sind diese Grammatiken definiert? 3. Zeichnen Sie das Diagramm für das Eingabewort abcde und die Beispielgrammatik G = (N, T, F, P) mit N = {A, B, C, D, E, F, H, R, X, Y } T = {a,b,c,d,e} und P = {A a, B b, C c, D d, E e} {F AR, R HE, R BY, H XD, X BC, Y CD} 4. Was ist im allgemeinen die Bedeutung eines Eintrags D[i, j] (mit 0 i < j n für eine Eingabe der Länge n) in dem Dreiecksdiagramm. 5. Erklären Sie, wie man im allgemeinen einen Eintrag D[i, j] (mit 0 i < j n für eine Eingabe der Länge n) in dem Dreiecksdiagramm von CYK berechnet. 1. Für Typ-2-Grammatiken in Chomsky-Normalform. 2. Jede Produktion ist von einer der Formen X Y Z oder X a mit X, Y, Z N und a T. Außerdem ist noch die Produktion S ε erlaubt; falls vorhanden, kommt aber S bei keiner Produktion auf der rechten Seite vor. 3. siehe nächste Seite. 4. Die Menge der Nichtterminalsymbole, aus denen das Teilwort zwischen den Trennstellen i und j in der Eingabe ableitbar ist. 5. Ein D[i, i + 1] wird initialisiert, indem man die Menge aller Nichtterminalsymbole X zuweist, aus denen das (i + 1)-te Eingabesymbol ableitbar ist. Auf höheren Schichten des Dreiecksdiagramms (also wenn j i 2 ist) prüft man jeweils für alle m mit i < m und m < j, ob es Nichtterminalsymbole Y D[i, m] und Z D[m, j] gibt, so dass eine Produktion X Y Z existiert. Falls ja, nimmt man X zu D[i, j] hinzu. 13

Weiterer Platz für Antworten zu Aufgabe 7: D[0, 1] D[0, 4] F D[0, 5] F D[1, 5] R, H D[0, 3] D[1, 4] D[0, 2] D[1, 3] A D[1, 2] B X D[2, 3] C D[2, 4] R Y D[2, 5] D[3, 4] D D[3, 5] D[4, 5] a b c d e E 14