Nachklausur zur Vorlesung
” Grundlagen der Theoretischen Informatik“
WS 2016/17 / 27. Februar 2017
Vorname:
Nachname:
Matrikelnummer:
Aufgabe Punktzahl Erreicht
1 20
2 9
3 6
4 6
5 5
6 5
7 6
8 8
9 5
10 8
11 5
12 4
13 4
14 3
15 6
16 0
Σ 100
• Wenn Sie in der Klausur50 Punkteerreichen, haben Sie mit Sicherheit bestanden.
• Hilfsmittel: Ein beidseitig beschriebenes DIN A4 Blatt.
• Benutzen Sie ein dokumentenechtes Schreibger¨at.
• Uberpr¨¨ ufen Sie die Ihnen ausgeh¨andigte Klausur auf Vollst¨andigkeit (15 Aufgaben + 1 Bonusaufgabeauf 17 Seiten inkl. Deckblatt).
• Tragen Sieauf jedes BlattIhrenNamenund IhreMatr.-Nr.in die entsprechen- den Felder ein.
• Schreiben Sie ihre L¨osungen in die daf¨ur vorgesehenen Felder. Reicht der Platz in einem Feld nicht aus, so benutzen Sie die R¨uckseite des entsprechenden Blattes und vermerken Sie dies auf der Vorderseite. Reicht der Platz dennoch nicht aus, k¨onnen Sie die Aufsicht nach zus¨atzlichen Bl¨attern fragen.
• Schreiben Sie bitte deutlich. Unleserliche L¨osungen sind ung¨ultig.
• Ein T¨auschungsversuch f¨uhrt umgehend zum Ausschluss und Nichtbestehen.
Es erfolgt keine Vorwarnung.
• Alle mitgef¨uhrten elektronischen Ger¨ate sind vor der Klausur bzw. sp¨atestens jetzt auszuschalten.
Inhaltliche Hinweise:
• Endliche Automaten k¨onnen wahlweise graphisch oder tabellarisch angegeben wer- den.
• In den While- und Loop-Programmen d¨urfen Sie die Addition, Multiplikation, die in der Vorlesung definierte Subtraktion und f¨ur eine Variable x die Bedingung If x = 0 Then P End als While- bzw. Loop-berechenbar voraussetzen und in Ihren Programmen verwenden. Geben Sie an, in welcher Variable der Ausgabewert am Ende steht.
• Sie d¨urfen annehmen, dass die Addition und Multiplikation zweier nat¨urlicher Zah- len primitiv rekursiv sind.
• F¨ur die Konstruktion von µ- bzw. primitiv rekursiven Funktionen und f¨ur While- und Loop-Programme darf die Schreibweise aus den ¨Ubungen benutzt werden.
Aufgabe 1. (20 Punkte) In jeder der 10 Teilaufgaben gibt es drei m¨ogliche Antworten, von denen eine, zwei oder auch alle drei Antworten richtig sein k¨onnen. F¨ur jede Teilaufgabe gibt es 2 Punkte, die nur vergeben werden, wenn alle Kreuze innerhalb der Teilaufgabe richtig gesetzt wurden.
(1) Sei L={(ab)n |n≥10}.
L ist regul¨ar. L ist kontextfrei. List endlich.
(2) Sei L⊆Σ∗ eine Sprache. Dann gilt:
(L∗)∗ =L∗ (L+)+=L+ (L+)∗ = (L∗)+ (3) Sei L⊆Σ∗ eine regul¨are Sprache. Dann gilt:
Es gibt einen NFA M, der L erkennt.
L ist endlich.
Jedes Wort in List endlich.
(4) Die Klasse der kontextfreien Sprachen ist abgeschlossen unter . . . Vereinigung. Schnitt. Konkatenation.
(5) F¨ur die regul¨aren Ausdr¨uckeα = (aa |bb)∗ und β = (bb|aabb)∗ gilt . . . L(α)⊆L(β) L(α)⊇L(β) L(α) =L(β)
(6) Die GrammatikG= ({S},{a, b}, P, S), wobei P ={S →SS|S →b}, ist kontextfrei.
in Chomsky-Normalform.
regul¨ar.
(7) Die Funktion f :N→N, f(n) = 222n ist primitiv rekursiv.
µ-rekursiv.
Turing-berechenbar.
(8) Welche der folgenden Aussagen sind wahr?
Jedes While-Programm terminiert.
Jedes Loop-Programm terminiert.
Jedes Goto-Programm terminiert.
(9) Wenn L⊆Σ∗ entscheidbar ist, dann ist . . .
Lsemi-entscheidbar. Σ∗\Lunentscheidbar. Σ∗\Lentscheidbar.
(10) Die Sprache A sei reduzierbar auf die Sprache B. Dann gilt:
Wenn A unentscheidbar ist, dann ist B unentscheidbar.
Wenn B entscheidbar ist, dann ist A entscheidbar.
Wenn B unentscheidbar ist, dann ist A unentscheidbar.
Seite 1 von 15
Aufgabe 2. (9 Punkte) Sei Σ ={a, b}. Geben Sie f¨ur jede der folgenden Sprachen einen endlichen Automaten und einen regul¨aren Ausdruck an.
(a) L1 ={w∈Σ∗ |wenth¨alt nicht das Teilwort ab}
(b) L2 ={w∈Σ∗ |wendet mit b oder|w| ist gerade}
(c) L3 ={abna|n ≥0}
Seite 2 von 15
Aufgabe 3. (6 Punkte) Gegeben sei der NFA M = ({1,2,3},{a, b}, δ,{1},{2}), wobei δ gegeben ist durch:
δ a b
1 {2,3} {3}
2 ∅ ∅
3 {3} {1,2}
(a) Zeichnen Sie das zu M geh¨orige Automatendiagramm.
(b) Geben Sie mittels Potenzmengenkonstruktion einen zuM ¨aquivalenten DFA an.
Es gen¨ugt den vom Startzustand erreichbaren Teil anzugeben.
Seite 3 von 15
Aufgabe 4. (6 Punkte) Minimieren Sie den folgenden DFA mit dem Algorithmus aus der Vorlesung. Geben Sie an, welche Zustandspaare in welcher Reihenfolge markiert werden.
1 2 3
4 5 6
7 a
b
a b
a
a b
b
a b
a b a, b
Seite 4 von 15
Aufgabe 5. (5 Punkte) Zeigen Sie, dass die folgende Sprache L uber Σ =¨ {0,1} nicht regul¨ar ist:
L={a1· · ·an ∈ {0,1}∗ |a1+· · ·+an≥ n 2}
(L ist also die Menge der Bitstrings, die mindestens so viele 1en wie 0en enthalten.)
Seite 5 von 15
Aufgabe 6. (5 Punkte) Zeigen Sie, dass die folgende Sprache L ¨uber Σ = {a, b} nicht kontextfrei ist:
L={wn |w∈Σ∗, |w|=n}
Seite 6 von 15
Aufgabe 7. (6 Punkte) Gegeben sei die Grammatik G= ({S, A, B},{a, b}, S, P) mit P : S→a|T S |CT
T →c|AU |T T U →SA|AB A→a
B →b C→c.
Testen Sie mit dem CYK-Algorithmus, ob das Wort ccaab in L(G) enthalten ist.
Seite 7 von 15
Aufgabe 8. (8 Punkte) Gegeben sei die Sprache L={a2(n−1)bn|n ≥1}.
(a) Geben Sie eine kontextfreie Grammatik an, die L produziert.
(b) Konstruieren Sie einen Kellerautomaten, der Lerkennt.
Seite 8 von 15
Aufgabe 9. (5 Punkte) SeiM = ({z0, z1},{a, b},{a, b,}, δ, z0,,{z1}) die determinis- tische Turingmaschine mit
- δ(z0, a) = (z0, b, L) - δ(z0, b) = (z1, b, N) - δ(z0,) = (z0,, R)
(a) Akzeptiert M das Wort w1 =aaaaaaaa? ja nein (b) Akzeptiert M das Wort w2 =ε? ja nein
(c) Welche Sprache akzeptiert M?
Seite 9 von 15
Aufgabe 10. (8 Punkte)
(a) Geben Sie ein Loop-Programm an, welches die Funktion
f(x, y, z) =
(max(x, y), wennz 6= 0, min(x, y), sonst.
berechnet.
(b) Geben Sie an, welche partielle Funktion f : N2 → N das folgende While- Programm berechnet (Eingabevariablen sindx1 undx2, die Ausgabevariable ist x1):
x3 :=x1−x2;
While x3 6= 0 Do End; x1 :=x3+x2
Seite 10 von 15
Aufgabe 11. (5 Punkte) Seien L, K ⊆ Σ∗ entscheidbare Sprachen. Beweisen Sie, dass die Sprache (L\K)∪(L\K) entscheidbar ist.
Hinweis: Es gen¨ugt eine intuitive Beschreibung, wie die charakteristische Funktion berechnet werden kann.
Seite 11 von 15
Aufgabe 12. (4 Punkte) Zeigen Sie, dass die folgende Funktionf :N×N→Nprimitiv- rekursiv ist.
f(x, y) = 42x+1·2y+1
Seite 12 von 15
Aufgabe 13. (4 Punkte) Geben Sie an, welche Funktionen von µf und µg berechnet werden, wobei f und g wie folgt definiert sind.
(a) f(n, x, y) = x+ (y−n)
(b) g(n, x, y) =x·y·(2−n)
Aufgabe 14. (3 Punkte) Zeigen Sie, dass die Funktionf(x, y) =d2y+1x e µ-rekursiv ist.
Seite 13 von 15
Aufgabe 15. (6 Punkte) Gegeben sei die Funktion f :N→N mit f(n) = 3·(n mod 2),
Geben Sie eine Turing-Maschine an, die f berechnet. Beachten Sie, dass die Einga- bezahl n als Bin¨arzahl auf dem Band steht (z.B. kodiert 110 die Eingabezahl 6).
Seite 14 von 15
Aufgabe 16. (5 Punkte (Bonus))
Sei L ⊆ Σ∗ und RL die Myhill-Nerode- ¨Aquivalenzrelation bez¨uglich L. Zeigen Sie, dass f¨ur allex, y, z ∈Σ∗ gilt:
x RL y =⇒ xz RL yz
Seite 15 von 15