Klausur Formale Sprachen und Automaten Grundlagen des...

23
Klausur Formale Sprachen und Automaten Grundlagen des Compilerbaus 25. November 2014 Name: Unterschrift: Matrikelnummer: Kurs: Aufgabe erreichbare erreichte Nr. Punkte Punkte 1 10 2 10 3 12 4 11 5 9 6 6 7 11 8 8 9 7 10 13 11 8 12 (Bonus) 8 Summe 105 + 8 Note: 1

Transcript of Klausur Formale Sprachen und Automaten Grundlagen des...

Page 1: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

KlausurFormale Sprachen und Automaten

Grundlagen des Compilerbaus

25. November 2014

Name:

Unterschrift:

Matrikelnummer:

Kurs:

Aufgabe erreichbare erreichteNr. Punkte Punkte

1 102 103 124 115 96 67 118 89 7

10 1311 8

12 (Bonus) 8Summe 105 + 8

Note:

1

Page 2: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 2 von 23

Aufgabe 1 (4+6P)

Sei Σ = {a, b}. Geben Sie deterministische endliche Automaten an, die die folgenden Sprachen erkennen.

a) L1 = {w ∈ Σ∗ | |w|a mod 3 = 0 und |w|b mod 2 = 1}

b) L2 = {w ∈ Σ∗ | w beginnt mit ab und endet mit ab}

Losung:

a)

q0 q1a

q3

b

q2a

q4

b

a

q5

bb

a

b

a

b

a

b)

q0

q1a

q5

b

a

q4b

q2

b

q3

a

a

b

a,bb

a

Page 3: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 3 von 23

Aufgabe 1 (Fortsetzung)

Page 4: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 4 von 23

Aufgabe 2 (3+2+5P)

Betrachten Sie den nichtdeterministischen endlichen Automaten A2 in Abbildung 1.

a) Geben Sie alle moglichen Ableitungen des Wortes abbbba auf dem Automaten A2 an.

b) Beschreiben Sie L(A2) als Menge.

c) Konvertieren Sie A2 mit dem in der Vorlesung angegebenen Verfahren in einen deterministischenendlichen Automaten.

(Der Automat ist auf der nachsten Seite noch einmal abgebildet, falls Sie mehr als eine Seite benotigen.)

q0 q3q1a

a,b

q2b a,b

Abbildung 1: Automat A2

Losung:

a) – (q0, abbbba)→ (q1, bbbba)→ (q1, bbba)→ (q1, bba)→ (q1, ba)→ (q2, a)→ (q2, ε) (akzep-tiert)

– (q0, abbbba) → (q1, bbbba) → (q1, bbba) → (q1, bba) → (q1, ba) → (q1, a) → (q1, ε) (nichtakzeptiert)

b) L(A2) = {awbx | w ∈ Σ∗, x ∈ Σ}

c) | a b--------------------------------------------> q0 | {q1} {}

q1 | {q1} {q2,q1}q2 | {q3} {q3}

* q3 | {} {}S0 = frozenset([’q0’])Delta(S0, a) = frozenset([’q1’])S1 = frozenset([’q1’])Delta(S0, b) = frozenset([])S2 = frozenset([])Delta(S1, a) = frozenset([’q1’])State is equal to S1Delta(S1, b) = frozenset([’q1’, ’q2’])S3 = frozenset([’q1’, ’q2’])Delta(S2, a) = frozenset([])State is equal to S2Delta(S2, b) = frozenset([])State is equal to S2Delta(S3, a) = frozenset([’q1’, ’q3’])S4 = frozenset([’q1’, ’q3’])Delta(S3, b) = frozenset([’q1’, ’q3’, ’q2’])S5 = frozenset([’q1’, ’q3’, ’q2’])Delta(S4, a) = frozenset([’q1’])State is equal to S1

Page 5: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 5 von 23

Delta(S4, b) = frozenset([’q1’, ’q2’])State is equal to S3Delta(S5, a) = frozenset([’q1’, ’q3’])State is equal to S4Delta(S5, b) = frozenset([’q1’, ’q3’, ’q2’])State is equal to S5

Ergebnis:

S0

S5

b

S4

a

S3b

S1 a

b

a

S2

a

b

b

a

b

a

Page 6: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 6 von 23

Aufgabe 3 (2+6+4P)

Betrachten Sie den deterministischen endlichen Automaten A3 in Abbildung 2.

a) Welche Konfigurationsfolge durchlauft der Automat beim Bearbeiten des Wortes abaaaaa?

b) Minimieren Sie den Automaten A3 mit dem in der Vorlesung vorgestellten Verfahren.

c) Geben Sie eine formale Beschreibung von L(A3).

(Der Automat ist auf der nachsten Seite noch einmal abgebildet, falls Sie mehr als eine Seite benotigen.Dort finden Sie auch eine Tabelle fur Aufgabenteil 3b).)

q0q5 q6

a,b

q1

a

q3b

q2a

bb

q4

ab

ab

a

a,b

Abbildung 2: Automat A3

Losung (a):

a) (q0, abaaaaa)→ (q1, baaaaa)→ (q3, aaaaa)→ (q4, aaaa)→ (q2, aaa)→ (q4, aa)→ (q2, a)→(q4, ε)

Page 7: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 7 von 23

Aufgabe 3 (Fortsetzung)

q0q5 q6

a,b

q1

a

q3b

q2a

bb

q4

ab

ab

a

a,b

Losung (b+c):

Tabelle fur Aufgabe 3b)

b)

q0 q1 q2 q3 q4 q5 q6

q0 o x x x x x x

q1 x o x o x x x

q2 x x o x o x x

q3 x o x o x x x

q4 x x o x o x x

q5 x x x x x o x

q6 x x x x x x o

Die Zustande q1, q3 und q2, q4 sind jeweils aquivalent und konnen zusammengefasst werden:

q0 q5 q6a,bq1

a,b

b

q2a b

a a,b

c) L(A3) = {xbnamb | x ∈ {a, b}, n ∈ N,m ∈ N+}

Page 8: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 8 von 23

Aufgabe 4 (4+1+1+1+4P)

Sei Σ = {a, b}. Sei L4 = {akwak|k ≥ 1, w ∈ Σ∗}.

a) Geben Sie eine kontextfreie Grammatik G mit L(G) = L4 an.

b) Uberprufen Sie, welche der folgenden Worter in L4 sind. Geben Sie im positiven Fall eine Ableitungin G an.

b1) ε

b2) baa

b3) aaabaa

c) Zeigen oder widerlegen Sie: L4 ist regular.

Losung:

a) Betrachte G = 〈VN , VT , P, S〉 mit:

– VN = {S, T}– VT = {a, b}– P wie folgt:

1. S → aa

2. S → aSa

3. S → aTa

4. T → aT

5. T → a

6. T → bT

7. T → b

G ist kontextfrei und erzeugt L4

b) b1) ε /∈ L4

b2) baa /∈ L4

b3) S ⇒ (2)aSa⇒ (2)aaSaa⇒ (3)aaTaa⇒ (4)aaaTaa⇒ (7)aaabaa Also: aaabaa ∈ L4

c) Behauptung: L4 ist regular, denn L4 = {awa | w ∈ Σ∗} (alle weiteren a an Anfang und Endekonnen auch in w verschoben werden. Damit gilt: L4 = L(a(a+ b)∗a), also regular.

Page 9: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 9 von 23

Aufgabe 4 (Fortsetzung)

Page 10: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 10 von 23

Aufgabe 5 (1+1+1+6P)

Sei Σ = {a, b}. Sei L5 = {akbwbak|w ∈ Σ∗, k ∈ N}.

a) Uberprufen Sie, welche der folgenden Worter in L5 sind.

a1) bb

a2) aababa

a3) aabbbaa

b) Zeigen oder widerlegen Sie: L5 ist regular.

Losung:

a) a1) bb ∈ L5

a2) aababa /∈ L5

a3) aabbbaa ∈ L5

b) Behauptung: L5 ist nicht regular. Beweis per Pumping-Lemma.

Annahme: L5 sei regular. Dann gilt: ∃n ∈ N mit der Eigenschaft, dass jedes Wort s ∈ L mit |s| ≤ nals uvw dargestellt werden kann, so dass v 6= ε, |uv| ≤ n, und ∀h ∈ N : uvhw ∈ L5.

Betrachte das Wort anbban ∈ L5. Dann gilt: u = ai, v = aj , w = an−(i+j)ban und j > 0. PerPumping Lemma muss dann auch uv0w = an−jbban ∈ L5 sein. Da j 6= 0 ist das aber nicht derFall. Also ist die Annahme falsch und L5 nicht regular.

Page 11: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 11 von 23

Aufgabe 6 (2+4P)

Sei Σ = {a, b}. Betrachten Sie den Automaten A6 in Abbildung 3.

q0 q2

b

a

b

q1

a ab

Abbildung 3: Automat A6

a) Stellen Sie ein Gleichungssystem auf, das die an den verschiedenen Zustanden akzeptierten Sprachenbeschreibt.

b) Losen Sie dieses Gleichungssystem und geben Sie so einen regularen Ausdruck an, der die von A6

akzeptierte Sprache beschreibt.

Losung:

a) – L0 = aL1 + bL0

– L1 = aL2 + bL1

– L2 = aL0 + bL2 + ε

b) – L1 = b∗aL2 (Arden’s Lemma)

– L2 = b∗(aL0 + ε) (Arden’s Lemma)

– L1 = b∗a(b∗(aL0 + ε)) (Einsetzen L2)

L0 = b∗aL1 (Arden)= b∗a(b∗a(b∗(aL0 + ε))) (EinsetzenL1)= b∗a(b∗a(b∗ + b∗aL0)) (Umformen)= b∗a(b∗ab∗ + b∗ab∗aL0) (Ausmultiplizieren)= b∗ab∗ab∗ + b∗ab∗ab∗aL0 (Ausmultiplizieren)= (b∗ab∗ab∗a)∗b∗ab∗ab∗ (Arden)

Page 12: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 12 von 23

Aufgabe 6 (Fortsetzung)

Page 13: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 13 von 23

Aufgabe 7 (2+4+2+3P)

Sei Σ = {a, b} und G7 = ({S, T, U}, {a, b}, {S → aTU, TU → Sb, TU → b}, S). Bestimmen Sie:

a) den maximalen Typ der Grammatik in der Chomsky-Hierarchie,

b) die erzeugte Sprache L(G7),

c) den maximalen Typ der erzeugten Sprache in der Chomsky-Hierarchie.

d) Geben Sie eine zu G7 aquivalente Grammatik mit dem maximal moglichen Typ an.

Losung:

a) Die Grammatik ist Typ 0. Sie ist nicht kontextsensitiv, da z.B. TU → Sb nicht kontext-erhaltend ist,und nicht kontextfrei, da z.B. TU → Sb nicht nur ein NTS auf der linken Regelseite hat.

b) L(G7) = {anbn | n ∈ N+}

c) Typ 2 (kontextfrei)

d) Betrachte G = 〈VN , VT , P, S〉 mit:

– VN = {S}– VT = {a, b}– P wie folgt:

1. S → aSb

2. S → ab

G ist kontextfrei und erzeugt L7

Page 14: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 14 von 23

Aufgabe 8 (6+1+1P)

Sei L8 = {anbmcp | m,n, p ∈ N und n+ p = m}.

a) Geben Sie eine kontextfreie Grammatik G an, die die Sprache L8 erzeugt.

b) Geben Sie Ableitungen in G fur die folgenden Worter an:

b1) abbbcc

b2) bbcc

Losung:

a) Betrachte VN = {S,A,C}, VT = {a, b, c} und

P = {S → ε

S → A

S → B

S → AB

A→ aAb

A→ ab

C → bCc

C → bc

Dann ist G = 〈VN , VT , P, S〉 kontext-frei und erzeugt L8.

b) b1) S ⇒ AC ⇒ abC ⇒ abbCc⇒ abbbcc

b2) S ⇒ C ⇒ bCc⇒ bbcc

Page 15: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 15 von 23

Aufgabe 8 (Fortsetzung)

Page 16: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 16 von 23

Aufgabe 9 (7P)

Transformieren Sie die folgende GrammatikG9 mit dem in der Vorlesung gezeigten Verfahren in Chomsky-Normalform.

G9 = ({S,A,B,C,D,E}, {b, c, d}, P, S)

P = {S → AC | CCDA→ AB

B → S | bC → D | cD → Sd | dE → SB | d}

Losung:

• Schritt 1: Elimination von Kettenregeln der Form S → T

– B → S

∗ N(S) = {S}: Ersetzte B → S durch· B → AC

· B → CCD

– C → D

∗ N(D) = {D}: Ersetze C → D durch· C → Sd

· C → d

– Ergebnis:

P = {S → AC | CCDA→ AB

B → AC | CCD | bC → Sd | d | cD → Sd | dE → SB | d}

• Schritt 2: Entferne nicht-terminierende Symbole:

– Initial: B,C,D,E– Iteration: S– Nicht terminierend: A

Ergebnis:

P = {S → CCD

B → CCD | bC → Sd | d | cD → Sd | dE → SB | d}

Page 17: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 17 von 23

Aufgabe 9 (Fortsetzung)

• Schritt 3: Entferne nicht-erreichbare Symbole

– Erreichbar: {S,C,D, d, c}– Nicht erreichbar: B,E, b

– Ergebnis:

P = {S → CCD

C → Sd | d | cD → Sd | d

• Schritt 4: Ersetze D durch Xd:

P = {S → CCD

C → SXd | d | cD → SXd | dXd → d

• Auflosen von zu großen rechten Seiten:

– Ersetzte S → CCD durch S → CC1, C1 → CD

– Endergebnis:

∗ VN = {S,C,C1, D,Xd}, Vt = {c, d}

P = {S → CC1

C1 → CD

C → SXd | d | cD → SXd | dXd → d

∗ G′9 = 〈VN , VT , P, S〉

Page 18: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 18 von 23

Aufgabe 10 (6+4+3P)

Betrachten Sie die folgende Grammatik:

G10 = ({S,A,B,C,D}, {a, b, c}, P, S)

P = {S → AD

A→ a | bB → b | aC → CS | cD → BC}

a) Uberprufen Sie mit Hilfe des CYK-Algorithmus, welche der folgenden Worter von G10 erzeugtwerden:

a1) w1 = bbcabc

a2) w2 = acbc

b) Beschreiben Sie die von G10 erzeugte Sprache L(G10) formal. Dies konnen Sie durch Angabe alsMenge oder, falls L(G10) regular ist, durch Angabe eines regularen Ausdrucks tun.

Losung fur Teil a1)

1 2 3 4 5 6

1 A,B - S - - S

2 A,B D - - D

3 C - - C

4 A,B - S

5 A,B D

6 C

w = b b c a b c

Ist w1 ∈ L(G10)? Ja

Losung fur Teil a2)

1 2 3 4

1 A,B D - -

2 C - -

3 A,B D

4 C

w = a c b c

Ist w2 ∈ L(G10)? Nein

Page 19: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 19 von 23

Aufgabe 10 (Fortsetzung)

Page 20: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 20 von 23

Aufgabe 11 (2+2+4P)

Gegeben sei der Kellerautomat A11 = ({q0, qf}, {a, b}, {Z0, A,B}, δ, q0, Z0, {qf}), wobei δ in der fol-genden Tabelle angegeben ist.

q0 a Z0 AZ0 q0q0 a A AA q0q0 a B ε q0q0 b Z0 BZ0 q0q0 b A ε q0q0 b B BB q0q0 ε A A qfq0 ε B B qf

a) Geben Sie fur die folgenden Worter

– falls das Wort in L(A11) enthalten ist, eine akzeptierende Konfigurationsfolge,

– falls das Wort nicht in L(A11) enthalten ist, eine Konfigurationsfolge, bei der das gesamte Wortgelesen wird, an.

a1) w1 = aaabbb

a2) w2 = aababbbb

b) Beschreiben Sie formal die von A11 akzeptierte Sprache als Menge.

Losung:

a) a1)

q0, aaabbb, Z0

q0, aabbb, AZ0

q0, abbb, AAZ0

q0, bbb, AAAZ0

q0, bb, AAZ0

q0, b, AZ0

q0, ε, Z0

Das Wort wird nicht akzeptiert, da q0 /∈ F

a2)

q0, aababbbb, Z0

q0, ababbbb, AZ0

q0, babbbb, AAZ0

q0, abbbb, AZ0

q0, bbbb, AAZ0

q0, bbb, AZ0

q0, bb, Z0

q0, b, BZ0

q0, ε, BBZ0

qf , ε, BBZ0

Das Wort wird akzeptiert, da qf ∈ F

b) L(A11) = {w ∈ {a, b}∗ | |w|a 6= |w|b}

Page 21: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 21 von 23

Aufgabe 11 (Fortsetzung)

Page 22: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 22 von 23

Aufgabe 12 (Bonus) (5+3P)

100% konnen ohne diese Aufgabe erreicht werden!

a) Folgern Sie aus der Unentscheidbarkeit des Leerheitsproblems fur kontextsensitive Grammatiken,dass auch das Aquivalenzproblem fur kontextsensitive Grammatiken unentscheidbar ist.

b) Begrunden Sie, warum es nicht moglich ist, mit Hilfe des Pumping-Lemmas die Nichtregularitat vonendlichen Sprachen zu zeigen.

Losung:

a) Eine kontext-sensitive Grammatik G mit L(G) = {} ist einfach anzugeben (z.B. durch eine leereMenge von Produktionen). Wenn das Aquivalenzproblem entscheidbar ware, dann konnte man dasLehrheitsproblem trivial auf die Aquivalenz zu G zuruckfuhren und so entscheiden. Da das Lehr-heitsproblem aber unentscheidbar ist, muss auch das Aquivalenzproblem unentscheidbar sein.

b) Alle endlichen Sprachen sind regular. Dies kann z.B. trivial durch einen regularen Ausdruck gezeigtwerden, der alle Worte der Sprache (und nur diese) als Alternative enthalt, oder alternativ durcheinen NFA, der mit einem ε-Ubergang vom Startzustand zu einer linearen Zustandskette pro Wortubergeht.

Technisch gilt das Pumping Lemma mit einem n, dass großer als die Lange des langsten Wortes derSprache ist. Es existiert dann aber kein Wort meht, das aufgepumpt werden kann.

Page 23: Klausur Formale Sprachen und Automaten Grundlagen des ...hladik/FLA/2015/uebungsklausur-loesungen.pdfSeite 4 von 23 Aufgabe 2 (3+2+5P) Betrachten Sie den nichtdeterministischen endlichen

Seite 23 von 23

Ende