Scheinklausur Theoretische Informatik II SS 2002 Vorname: Name: Matrikelnummer: Geburtsdatum: ⇓ BITTE GENAU LESEN ⇓ Die Klausur besteht aus 4 Aufgaben, in denen jeweils 25 Punkte erreicht werden können. Die Klausur ist mit Sicherheit bestanden, wenn (zusammen mit der Bonifikation aus Übungspunkten mindestens 50 Punkte erreicht werden. Schreiben Sie nicht mit Bleistifft. Zugelassene Hilfmittel: 1 Blatt DIN A4 mit Notizen. Bitte benutze Rückseiten und die beigefügten Zusatzblätter. Weitere Blätter sind ggf. erhältlich. Werden zu einer Aufgabe 2 Lösungen angegeben, so gilt die Aufgabe als nicht gelöst. Entscheiden Sie sich also immer für eine Lösung. Eine umgangssprachliche, aber strukturierte Beschreibung von Algorithmen ist völlig ausreichend. Die Klausur dauert 3 Stunden. ! VIEL ERFOLG ! Name: Matrikelnummer: AUFGABE 1 (a, 6 Punkte) Reguläre Sprachen Gegeben sind ein NFA A und ein DFA B über einem Alphabet Σ. Beschreibe einen möglichst effizienten Algorithmus, (i) um zu überprüfen, ob L(A) = ∅. (ii) um zu überprüfen, ob L(B) = Σ∗ . Name: Matrikelnummer: (b) Ist der folgende DFA minimal? Begründe Deine Antwort. b b 3 2 a a a a 1 a b 5 b 4 b (c) Sei L = w ∈ {0, 1}∗ |w| X wi 2|w|−i ≡ 3 mod i=1 6 die Sprache aller natürlichen Zahlen der Form 6x + 3 mit x ∈ N. Die Zahlen sind in Binärdarstellung gegeben, wobei das rechteste Bit das niederwertigste Bit ist. Zeige, dass Index(L) ≥ 4. Name: Matrikelnummer: AUFGABE 2 Kontextfreie Sprachen (a) Sei G = (Σ, V, S, P ) eine Grammatik mit Σ = {X, Y, +, ∗, (, )}, V = {S} und den Produktionen S ⇒ S + S | S ∗ S | (S) | X | Y Ist diese Grammatik eindeutig? Begründe Deine Antwort. Name: (b) Matrikelnummer: Beweise, dass die Sprache L = {w#w | w ∈ {a, b}∗ } nicht kontextfrei ist. Name: (c) Matrikelnummer: Wir betrachten die Sprache u, v ∈ {0, 1}∗ und es gibt n ≥ 1, so dass 10n 1 als Teilstring L = u#v . in u und in v vorkommt Zum Beispiel gehört 1100100#010001001 zu L, während 1100100#01000100 nicht zu L gehört. Beweise, entweder durch die Angabe einer Grammatik oder durch die Beschreibung eines Kellerautomaten, dass diese Sprache kontextfrei ist. Name: Matrikelnummer: AUFGABE 3 (a) Berechenbarkeit Zeige, dass die Sprache L= hM i M , gestartet auf dem leeren Wort, schreibt irgendwann den Buchstaben a auf das Band unentscheidbar ist. Hinweis: Zeige, dass Hε ≤ L gilt. Name: Matrikelnummer: (b) Wir definieren die Sprache L = (R1 , R2 ) R1 und R2 sind reguläre Ausdrücke und L(R1 ) = L(R2 ) Ist diese Sprache entscheidbar? Begründe Deine Antwort. . Name: Matrikelnummer: AUFGABE 4 Ja/Nein Fragen Beantworte die folgenden Fragen mit Ja oder Nein. Eine Begründung ist nicht erforderlich. Es kann angenommen werden, dass P = 6 N P. Für jede richtige Antwort werden 2 Punkte vergeben. Eine falsche Antwort erhält −2 Punkte. Keine Antwort ergibt 0 Punkte. Die Mindestpunktzahl für diese Aufgabe ist 0 Punkte. • Es gibt Sprachen, die N P-vollständig und kontextfrei sind. ◦ Ja ◦ Nein • Wenn L1 und L2 kontextfrei sind, dann ist auch L1 ∩ L2 kontextfrei. ◦ Ja ◦ Nein • Es gilt stets Index(L1 ∪ L2 ) ≤ Index(L1 ) + Index(L2 ). ◦ Ja ◦ Nein • Die Sprachen L1 und L2 seien rekursiv aufzählbar. Dann ist auch ihre Konkatenation L1 ◦ L2 = {uv | u ∈ L1 und v ∈ L2 } rekursiv aufzählbar. ◦ Ja ◦ Nein • Wenn L rekursiv aufzählbar ist, dann ist auch L rekursiv aufzählbar. ◦ Ja ◦ Nein • Es gibt eine Sprache, die zwar von einem nichtdeterministischen Kellerautomaten erkannt wird, nicht aber von deterministischen Kellerautomaten. ◦ Ja ◦ Nein • Sei L2 regulär und L1 ⊆ L2 . Wenn L2 \ L1 regulär ist, dann ist auch L1 regulär. ◦ Ja ◦ Nein • Jede kontextsensitive Sprache ist entscheidbar. ◦ Ja ◦ Nein Nachklausur Theoretische Informatik II SS 2002 Vorname: Name: Matrikelnummer: Geburtsdatum: ⇓ BITTE GENAU LESEN ⇓ Die Nachklausur besteht aus 4 Aufgaben, in denen jeweils 25 Punkte erreicht werden können. Die Nachklausur ist mit Sicherheit bestanden, wenn (zusammen mit der Bonifikation aus Übungspunkten mindestens 50 Punkte erreicht werden. Schreiben Sie nicht mit Bleistifft. Zugelassene Hilfmittel: 1 Blatt DIN A4 mit Notizen. Bitte benutze Rückseiten und die beigefügten Zusatzblätter. Weitere Blätter sind ggf. erhältlich. Werden zu einer Aufgabe 2 Lösungen angegeben, so gilt die Aufgabe als nicht gelöst. Entscheide Dich also immer für eine Lösung. Eine umgangssprachliche, aber strukturierte Beschreibung von Algorithmen ist völlig ausreichend. Die Klausur dauert 3 Stunden. ! VIEL ERFOLG ! Name: AUFGABE 1 Matrikelnummer: Reguläre Sprachen (a) Beschreibe einen möglichst effizienten Algorithmus, der für zwei deterministische endliche Automaten A1 und A2 entscheidet, ob L(A1 ) ⊆ L(A2 ). Name: Matrikelnummer: (b) Minimiere den folgenden Automaten. Begründe, warum die vorgenommenen Zusammenfassungen legal sind und belege die Minimalität Deines Automaten. 2 a a 3 a a b 1 b b 5 (c) 4 b a,b Die Sprache L entspreche dem regulären Ausdruck (0 + 1)∗ · 1 · (0 + 1)2 . Zeige, dass Index(L) ≥ 4. Name: Matrikelnummer: AUFGABE 2 Kontextfreie Sprachen (a) Sei G = (Σ, V, hstmti, P ) eine Grammatik mit Σ = {if, condition, then, else, begin, end, a:=1} V = {hstmti, hif-theni, hif-then-elsei, hbegin-endi, hstmt-listi, hassigni} und den Produktionen hstmti ⇒ hassigni | hif-theni | hif-then-elsei | hbegin-endi hif-theni ⇒ if condition then hstmti hif-then-elsei ⇒ if condition then hstmti else hstmti hbegin-endi ⇒ begin hstmt-listi end hstmt-listi ⇒ hstmt-listihstmti | hstmti hassigni ⇒ a:=1 Ist diese Grammatik eindeutig? Begründe Deine Antwort. Name: Matrikelnummer: (b) Ist die Sprache L = {ai bj ci | 0 ≤ j ≤ i} kontextfrei? Begründe Deine Antwort entweder durch eine Anwendung des Pumping Lemma’s, durch die Angabe einer kontextfreien Grammatik oder durch die Beschreibung eines Kellerautomaten. Name: (c) Matrikelnummer: Ist L = {w ∈ {a, b}∗ | jeder Präfix von w besitzt mindestens so viele a’s wie b’s } kontextfrei? Begründe Deine Antwort entweder durch eine Anwendung des Pumping Lemma’s, durch die Angabe einer kontextfreien Grammatik oder durch die Beschreibung eines Kellerautomaten. Name: AUFGABE 3 Matrikelnummer: Berechenbarkeit (a) Gegeben sei eine kontextfreie Grammatik G = (Σ, V, S, P ) in Chomsky-Normalform, d.h. die Produktionen in P sind von der Form A ⇒ BC oder A ⇒ a mit A, B, C ∈ V und a ∈ Σ. Beschreibe einen Algorithmus, der feststellt, ob L(G) = ∅, bzw. zeige, dass dieses Problem unentscheidbar ist. Name: Matrikelnummer: (b) Sei L eine rekursiv aufzählbare Sprache mit L ≤ L. Zeige, dass L entscheidbar ist. Name: Matrikelnummer: AUFGABE 4 Ja/Nein Fragen Beantworte die folgenden Fragen mit Ja oder Nein. Eine Begründung ist nicht erforderlich. Es kann angenommen werden, dass P = 6 N P. Für jede richtige Antwort werden 2 Punkte vergeben. Eine falsche Antwort erhält −2 Punkte. Keine Antwort ergibt 0 Punkte. Die Mindestpunktzahl für diese Aufgabe ist 0 Punkte. • Den NFA A′ enthält man aus dem NFA A = (Q, Σ, δ, q0 , F ), indem man die Menge F der akzeptierenden Zustände durch Q \F ersetzt. Dann akzeptiert A′ stets das Komplement von L(A). ◦ Ja ◦ Nein • Seien L1 und L2 deterministisch kontextfreie Sprachen. Dann ist auch L1 ∪ L2 deterministisch kontextfrei. ◦ Ja ◦ Nein • L = {wwreverse | w ∈ Σ∗ } ist eindeutig kontextfrei, aber nicht deterministisch kontextfrei. ◦ Ja ◦ Nein • Sei L2 regulär und L1 ⊆ L2 . Dann ist auch L1 regulär. ◦ Ja ◦ Nein • Jede Sprache in N P ist entscheidbar. ◦ Ja ◦ Nein • Wenn L1 und L2 unentscheidbar sind, dann ist auch L1 ∩ L2 unentscheidbar. ◦ Ja ◦ Nein • Wenn L1 und L2 rekursiv aufzählbar sind, dann ist auch L1 ∩ L2 rekursiv aufzählbar. ◦ Ja ◦ Nein • In der Vorlesung haben wir gezeigt, dass H ≤ Hε . Tatsächlich gilt sogar H ≤ Hε . ◦ Ja ◦ Nein