Automaten und formale Sprachen. Lösungen zu den Übungsblättern

Ähnliche Dokumente
Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Automatentheorie und formale Sprachen reguläre Ausdrücke

Einführung in die Computerlinguistik

Automatentheorie und formale Sprachen Pumping-Lemma für reguläre Sprachen

Automatentheorie und formale Sprachen rechtslineare Grammatiken

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

Automatentheorie und formale Sprachen endliche Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten

Reguläre Sprachen und endliche Automaten

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Einführung in die Computerlinguistik Satz von Kleene

Computational Models

Informatik 3 Theoretische Informatik WS 2015/16

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

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

Einführung in die Computerlinguistik Satz von Kleene

(Prüfungs-)Aufgaben zu formale Sprachen

Algorithmen und Datenstrukturen (EI)

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

Informatik III - WS07/08

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

Satz (Abschluß unter der Stern-Operation)

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

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

Grundlagen der Theoretischen Informatik

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

F2 Zusammenfassung Letzte Tips zur Klausur

Das Pumping Lemma: Ein Anwendungsbeispiel

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

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

Aufgabensammlung Theo Inf I 1

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

Formale Grundlagen der Wirtschaftsinformatik

Musterlösung Informatik-III-Nachklausur

Theoretische Informatik

Theoretische Grundlagen der Informatik

Einführung in die Theoretische Informatik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Grundlagen der theoretischen Informatik

Theoretische Grundlagen der Informatik

Beispiel Produktautomat

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1

DisMod-Repetitorium Tag 4

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

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

Einführung in die Theoretische Informatik

Induktive Definition

4.2.4 Reguläre Grammatiken

Nachklausur zur Vorlesung

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ogden s Lemma: Der Beweis (1/5)

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

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

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

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

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

Level 2 German, 2015

Berechenbarkeitstheorie 1. Vorlesung

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

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

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

Grundlagen der Theoretischen Informatik

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

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

Ein Fragment von Pascal

Grundlagen der Theoretischen Informatik

Akzeptierende Turing-Maschine

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

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

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

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

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

THIA - Übungsblatt 2.

Der Earley-Algorithmus

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

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Der Earley-Algorithmus

Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Lexikalische Programmanalyse der Scanner

Musterlösung Informatik-III-Klausur

Lösungen zu Übungsblatt 6

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

Grundlagen der Informatik

Einführung in die Computerlinguistik

Grundlagen der Theoretischen Informatik

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen

Tutoraufgabe 1 (ɛ-produktionen):

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Theoretische Informatik

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

Grundlagen der Informatik II

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

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

Transkript:

Automaten und formale Sprachen zu den Übungsblättern Übungsblatt Aufgabe. (Sipser, exercise.3) M = ({q, q2, q3, q4, q5}, {u, d}, δ, q3, {q3}) δ: u d q q q 2 q 2 q q 3 q 3 q 2 q 4 q 4 q 3 q 5 q 5 q 4 q 5 u d d d d d q q 2 q 3 q 4 q 5 u u u u Aufgabe.2 (Sipser, exercise.6, part a-f, part k-n) a) {w w beginnt mit und endet mit }

, b) {w w enthält mindestens 3 Einsen }, c) {w w enthält den Teilstring }, s d) {w w ist mindestens 3 Zeichen lang und das 3. Zeichen ist },,, AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET, e) {w w beginnt mit und hat ungerade Länge oder beginnt mit und hat gerade Länge} WS 6/7 Seite 2

,,,, oder,, f) {w w enthält den Teilstring nicht}, g) {ε, }, AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET h) {w w enthält eine gerade Anzahl Nullen oder genau 2 Einsen } WS 6/7, Seite 3

i) Die leere Menge, j) Alle Wörter außer dem leeren Wort,, Aufgabe.3 Es sei Σ = {, } und A, B seien Sprachen über dem Alphabet Σ mit A = {w w endet mit } und B = {w w beginnt mit }. Beschreiben Sie, welche Sprachen sich mit den regulären Operationen A B, A B, A und B ergeben. AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET Lösung A B : A B : A : B : WS 6/7 Seite 4

Übungsblatt 2 Aufgabe 2. In der Vorlesung wurden die Beweisideen vorgestellt, mit denen man zeigt, daß die Klasse der regulären Sprachen abgeschlossen bezüglich der Operationen Vereinigung, Konkatenation und Stern ist. Lesen Sie in dem Buch von Sipser nach, wie man die Konstruktion der betreffenden nichtdeterministischen endlichen Automaten formal aufschreibt. Aufgabe 2.2 (Sipser, exercise,.7, part a-d, part g) Geben Sie zu jeder der folgenden regulären Sprachen über dem Alphabet {, } das Zustandsdiagramm eines (Nichtdeterministischen) Endlichen Akzeptors mit der jeweils angegebenen Anzahl von Zuständen an: a) {w w endet mit }, 3 Zustände, b) {w w enthält den Teilstring }, 5 Zustände,, c) {w w enthält eine gerade Anzahl Nullen oder genau2 Einsen }, 6 Zustände ε AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET WS 6/7 ε Seite 5

d) {}, 2 Zustände e) {ε}, Zustand Aufgabe 2.3 (Sipser, exercise.6) In der Vorlesung wurde hergeleitet, daß es zu jedem NFA einen äquivalenten DFA gibt. Verwenden Sie die im Beweis benutzte Methode, um die folgenden beiden nichtdeterministischen endlichen Automaten in äquivalente deterministische endliche Automaten zu konvertieren. Zeichnen Sie zunächst die Zustandsdiagramme. a) Es sei N = ({, 2}, {a, b}, δ,, {}), wobei δ durch die folgende Tabelle gegeben ist. a b ε {, 2} {2} φ 2 φ {} φ a {} a {, 2} b a,b a,b 2 b NFA in DFA P ({,2} =4 a,b b φ a {2} b) Es sei N = ({, 2, 3}, {a, b}, δ,, {2}), und δ ist durch die folgende Tabelle gegeben a b ε {3} φ {2} 2 {} φ φ 3 {2} {2, 3} φ AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET WS 6/7 Seite 6

a ε a 2 a a,b 3 {, 2} a {, 2, 3} b a b φ {2, 3} b NFA in DFA P ({,2} =4 a,b b Übungsblatt 3 Aufgabe 3. (Sipser, exercise.9, part a) In der Vorlesung wurde gezeigt, daß die Klasse der regulären Sprachen unter der Operation der Konkatenation abgeschlossen ist. Verwenden Sie die für die Herleitung benutzte Konstruktion, um das Zustandsdiagramm eines nichtdeterministischen endlichen Automaten anzugeben, der die Konkatenation der Sprachen a) {w die Länge von w ist höchstens 5} und b) {w jede ungerade Position von w ist eine } erkennt. Das Alphabet ist jeweils {, }. Aufgabe 3.2 (Sipser, exercise.7, part e, h) Give state diagrams of NFAs with the specied number of states recognizing each of the following languages. In all parts the alphabet is {, }. a) The language + with three states. b) The language with one state. Aufgabe 3.3 (Sipser, exercise.2) AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET Give regular expressions generating the following languages. In all parts the alphabet is {, }. a) {w w begins with a and ends with a} b) {w w contains at least three s} c) {w w contains the substring, i.e., w = xy for some x and y} d) {w w has length at least 3 and its third symbol is a} e) {w w s with and has odd length, or s with and has even length} WS 6/7 Seite 7

f) {w w doesnt contain the substring } g) {w the length of w is at most 5} h) {w w is any string except and } i) {w every odd position of w is a } j) {w w contains at least two s and at most one } k) {ε, } l) {w w contains an even number of s, or contains exactly two s} m) The empty set. n) All strings except the empty string. Übungsblatt 4 Aufgabe 4. (Sipser, exercise.9) For each of the following languages, give two strings that are members and two strings that are not members a total of four strings for each part. Assume the alphabet Σ = {a, b}. in all parts. a) a b b) a(ba) b c) a b d) (aaa) e) Σ aσ bσ aσ f) aba bab g) (ε a)b h) (a ba bb)σ Aufgabe 4.2 (Sipser, exercise.8, part a, c) AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET Verwenden Sie das in der Vorlesung beschriebene Verfahren, um die folgenden regulären Ausdrücke in nichtdeterministische endliche Automaten zu konvertieren. a) ( ) ( ) b) φ WS 6/7 Seite 8

Übungsblatt 5 Aufgabe 5. (Sipser, exercise.2) Verwenden Sie das in der Vorlesung beschriebene Verfahren, um die folgenden endlichen Automaten in reguläre Ausdrücke zu konvertieren. Zeichnen Sie zunächst die Zustandsdiagramme der Automaten. a) Es sei M = (, 2, a, b, δ,, 2), wobei δ durch die folgende Tabelle gegeben ist. a b 2 2 2 b) Es sei M = (, 2, 3, a, b, δ,,, 3), und δ ist durch die folgende Tabelle gegeben. a b 2 2 2 2 3 3 2 Aufgabe 5.2 (Sipser, exercise.29) Use the pumping lemma to show that the following languages are not regular. a) A = { n n 2 n n } b) A 2 = {www w {a, b} } c) A 3 = {a 2n n n} (Here, a 2n means a string of 2 n as.) Übungsblatt 6 Aufgabe 6. Lesen Sie die einführenden Abschnitte der Manuale zu grep, awk und flex. Experimentieren Sie am Rechner mit den Programmen, zum Beispiel durch Nachvollziehen und Abändern einiger Beispiele aus den Manualen. Berücksichtigen Sie besonders die Verwendung von regulären Ausdrücken. AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET Aufgabe 6.2 Ein Beispiel im flex-manual ist der scanner for a toy Pascal-like language. Erzeugen Sie zunächst die zugehörige Datei lex.yy.c und daraus dann ein ausführbares Programm. Experimentieren Sie interaktiv mit dem Scanner. Schreiben Sie ein kleines Programmbruchstück, das aus Schlüsselwörtern, Bezeichnern, Zahlen u.s.w. besteht, dabei sollten auch Konstrukte eingebaut werden, die im Scanner nicht deniert sind, z. B. Zuweisungen oder Klammern. Rufen Sie den Scanner auf, und geben Sie ihm das kleine Programm als Eingabe. Machen Sie sich anhand der Scanner-Ausgabe die lexikalische Analyse des eingegebenen WS 6/7 Seite 9

Quellcodes klar. Speziell sollte deutlich werden, daß im allgemeinen ein Token aus einem Tokentyp (z. B. Integer) und einem sog. semantischen Wert (z.b. 47) besteht. Aufgabe 6.3 (Sipser, exercise 2.) Es sei G = (V, Σ, R, E) eine kontextfreie Grammatik mit V = {E, T, F }, Σ = {a, +,, (, )} und den folgenden Regeln. E E + T T T T F F F (E) a Geben Sie Parsebäume und Ableitungen für die folgenden Strings an. a) a b) a + a c) a + a + a d) ((a)) Aufgabe 6.4 (Sipser, exercise 2.3, Teil (o) leicht modiziert) Answer each part for the following context-free grammar G. R XRX S S at b bt a T XT X Xε X a b a) What are the variables of G? b) What are the terminals of G? c) Which is the variable of G? d) Give three strings in L(G). e) Give three strings not in L(G). AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET f) True or False: T = aba. g) True or False: T = aba. h) True or False: T = T. i) True or False: T = T. j) True or False: XXX = aba. k) True or False: X = aba. WS 6/7 Seite

l) True or False: T = XX. m) True or False: T = XXX. n) True or False: S =. o) Give a description in German of L(G). Übungsblatt 7 Aufgabe 7. (Sipser, exercise 2.4, part ac) Give context-free grammars that generate the following languages. In all parts the alphabet Σ is {, }. a) {w w contains at least three s} b) {w w s and ends with the same symbol} c) {w the length of w is odd} Aufgabe 7.2 (Sipser, exercise 2.4, part ac) Die kontextfreie Grammatik A BAB B ε B ε soll mit der in der Vorlesung besprochenen Methode in eine äquivalente kontextfreie Grammatik in Chomsky-Normalform umgewandelt werden. Aufgabe 7.3 (Sipser, exercise 2.7, modiziert) Geben Sie informelle Beschreibungen und Zustandsdiagramme von Pushdown-Automaten für die folgenden Sprachen an. a) Die Menge aller Strings uber dem Alphabet {a, b} mit mehr a s als b s. b) {w#x w R ist ein Substring von x, wobei w, x {, } } AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET WS 6/7 Seite

Übungsblatt 8 Aufgabe 8. (Sipser, exercise 2.4, part df) Give context-free grammars that generate the following languages. In all parts the alphabet Σ is {, }. a) {w the length of w is odd and its middle symbol is a } b) {w w = w R, that is, w is a palindrome} c) The empty set Aufgabe 8.2 (Sipser, exercise 2.5) Geben Sie informelle Beschreibungen und Zustandsdiagramme von Pushdown-Automaten für die Sprachen aus der vorherigen Aufgabe an. Aufgabe 8.3 (Sipser, exercise 2.2) Konvertieren Sie mit der in der Vorlesung vorgestellten Methode die kontextfreie Grammatik G = (V, Σ, R, E) mit V = {E, T, F }, Σ = {a, +,, (, )} und den Regeln E E + T T T T F F F (E) a in einen äuivalenten Pushdown-Automaten. Übungsblatt 9 Aufgabe 9. (Sipser, problem 2.3, parts b and c) Use the pumping lemma to show that the following languages are not context free. a) { n # 2n # 3n n } b) {w#t w is a substring of t, where w, t {a, b} } AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET WS 6/7 Seite 2

Übungsblatt Aufgabe. (Sipser, exercise 2.2) Es soll gezeigt werden, daß der Durchschnitt zweier kontextfreier Sprachen nicht immer kontextfrei ist, und daß auch das Komplement einer kontextfreien Sprache nicht kontextfrei sein muß. a) Verwenden Sie die Sprache A = {a m b n c n m, n } und die Sprache B = {a n b n c m m, n } zusammen mit dem in der Vorlesung besprochenen ersten Beispiel zum Pumping- Lemma für kontextfreie Sprachen, um zu zeigen, daß die Klasse der kontextfreien Sprachen nicht abgeschlossen unter dem Durchschnitt ist. b) Zeigen Sie mit dem Ergebniss von Teil a) und einer Regel von De Morgan (siehe Formelsammlungen), daß die Klasse der kontextfreien Sprachen nicht abgeschlossen unter dem Komplement ist. Aufgabe.2 (Sipser, problem 2.26) Show that, if G is a CFG in Chomsky normal form, then for any string w L(G) of length n, exactly 2n steps are required for any derivation of w. Übungsblatt Aufgabe. Übungsblatt 2 Aufgabe 2. AFS_Loesungen.tex,v,.,January 2, 27 at 4:45:2 CET WS 6/7 Seite 3