Grundlagen der theoretischen Informatik, SS 2011 â 1. ¨Ubungsblatt
Grundlagen der theoretischen Informatik, SS 2011 â 1. ¨Ubungsblatt
Grundlagen der theoretischen Informatik, SS 2011 â 1. ¨Ubungsblatt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — <strong>1.</strong> Übungsblatt<br />
freiwillige Vorübungen<br />
<strong>1.</strong> Wörter<br />
Für ein Alphabet Σ mit k Elementen ist Σ ∗ ist die Menge <strong>der</strong> Wörter (Folgen), die man<br />
aus den Buchstaben von Σ bilden kann.<br />
(a) Wieviele Wörter in Σ ∗ haben die Länge n (bestehen aus n Buchstaben)?<br />
(b) Wieviele Palindrome in Σ ∗ haben die Länge n? (Ein Palindrom ist ein Wort, das<br />
von vorne und von hinten gelesen gleich ist.)<br />
(c) Wieviele Wörter <strong>der</strong> Länge n = 2,3,4,5,6,7,8 über dem Alphabet Σ = {(,)} sind<br />
“gültige” Klammerausdrücke wie zum Beispiel (()(()(()))() und ((()))? (Ungültig<br />
sind etwa (((()) — mehr offene als geschlossene Klammern, und ())(()<br />
— die zweite schließende Klammer hat keine öffnende Partnerklammer.) Finden<br />
Sie eine (Rekursions-)Formel für die Anzahl <strong>der</strong> gültigen Klammerausdrücke <strong>der</strong><br />
Länge n.<br />
2. Homomorphismen<br />
Durch wie<strong>der</strong>holte Anwendung des Homomorphismus<br />
0 → 01, 1 → 0<br />
auf das Ausgangswort 0 erhält man die Folge <strong>der</strong> Wörter<br />
w 0 = 0, w 1 = 01, w 2 = 010, w 3 = 01001, w 4 = 01001010, w 5 = 0100101001001, ...<br />
(a) Beschreiben Sie, was ein Homomorphismus ist, und was die Anwendunge eines<br />
Homomorphismus auf ein Wort (über einem gegebenen Alphabet) bedeutet. (Lassen<br />
Sie sich dabei von diesem Beispiel und dem Beispiel in <strong>der</strong> nächsten Aufgabe<br />
leiten, anstatt gleich im Lehrbuch (o<strong>der</strong> womöglich im Netz) nachzuschlagen.)<br />
(b) Welche Länge hat das Wort w n ?<br />
(c) Jedes Wort ist ein Anfangsstück (Präfix) des darauffolgenden Wortes, sodass<br />
die Folge gegen ein unendliches Wort w ∞ “konvergiert”. Wieviele verschiedene<br />
Teilwörter(zusammenhängendeTeilfolgen)<strong>der</strong>Längenn = 1,2,3,4,5enthältw ∞ ?<br />
(d) (*)GegenwelchenWertkonvergiert<strong>der</strong>Anteil<strong>der</strong>Einseninw n an<strong>der</strong>Gesamtzahl<br />
<strong>der</strong> Symbole?<br />
3. Durch wie<strong>der</strong>holte Anwendung des Homomorphismus<br />
0 → 100, 1 → 001<br />
auf das Ausgangswort 0 erhält man die Folge <strong>der</strong> Wörter<br />
w 0 = 0, w 1 = 100, w 2 = 001100100, w 3 = 100001001001100100001100100, ...<br />
(a) Welche Länge hat das n-te Wort?<br />
(b) Gegen welchen Wert konvergiert <strong>der</strong> Anteil <strong>der</strong> Einsen?<br />
(c) DieWörter,diemit0beginnen, konvergierengegeneinunendlichesWort. Wieviele<br />
verschiedene Teilwörter <strong>der</strong> Längen n = 1,2,3,4,5 enthält dieses Wort?<br />
1
(d) Im Gegensatz zur vorigen Aufgabe ist hier nicht jedes Wort ist eine Verlängerung<br />
des vorhergehenden Wortes. An welcher Eigenschaft des Homomorphismus mag<br />
das liegen?<br />
4. Codes<br />
(a) Codieren Sie das Alphabet {a,b,...,z} durch Binärworte, so dass jedes codierte<br />
Wortwie<strong>der</strong>eindeutigdecodierbarist!(EineungeeigneteCodierungwärez.B. a ↦→<br />
0,b ↦→ 01,c ↦→ 100, etc. In diesem Fall könnte nämlich 0100 von ac o<strong>der</strong> von baa<br />
herstammen.) Zeigen Sie, dass Ihre Codierung die gewünschte Eigenschaft hat.<br />
(b) Das Alphabet Σ = {a,b} sei durch a ↦→ 0 und b ↦→ 010 codiert. Zeigen Sie, dass<br />
diese Codierung eindeutig decodierbar ist!<br />
5. Die Programmiersprache Schleife hat die folgenden einfachen Regeln:<br />
• Es gibt einen unendlichen Vorrat an Variablen X0, X1, X2, X3, ..., die beliebige<br />
natürliche Zahlen (≥ 0) speichern können.<br />
• Es gibt die einfachen Anweisungen Xi = 0 (Inititalisierung), Xi = Xj (Kopieren),<br />
Xi = Xi + 1(Hinaufzählen)undXi = Xi - 1(Herunterzählen).BeimHerunterzählen<br />
wird Xi unverän<strong>der</strong>t gelassen, wenn es den Wert 0 hat, weil die Variablen keine<br />
negativen Werte enthalten können.<br />
• Außerdem gibt es eine Schleifenanweisung:<br />
WIEDERHOLE Xi MAL<br />
Anweisungsfolge<br />
SCHLEIFENENDE<br />
Wenn die Variable Xi zu Beginn <strong>der</strong> Ausführung den Wert n hat, wird die Schleife<br />
n-mal wie<strong>der</strong>holt, auch wenn Xi zwischendurch geän<strong>der</strong>t wird. Schleifen können<br />
auch geschachtelt sein.<br />
Es gibt keine Ein- und Ausgabeanweisungen. Die Eingabeparameter eines Programms<br />
stehen zu Beginn in den ersten Variablen X0, X1, .... Alle übrigen Variablen sind zu<br />
Beginn auf 0 gesetzt. Das Ergebnis des Programms ist <strong>der</strong> Wert, <strong>der</strong> am Ende in X0<br />
steht.<br />
Das folgende Programm berechnet zum Beispiel die Summe von X0 und X1:<br />
WIEDERHOLE X1 MAL<br />
X0 = X0 + 1<br />
SCHLEIFENENDE<br />
(a) Schreiben Sie ein Programm zur Berechnung des Produktes von X0 und X<strong>1.</strong><br />
(b) Schreiben Sie ein Programm, das den Rest <strong>der</strong> Division vonX1 durchX0 berechnet.<br />
(Wenn X0 = 0 ist soll das Ergebnis X1 sein.)<br />
(c) Schreiben Sie ein Programm zur Berechnung von 2 X0 .<br />
(d) Schreiben Sie ein Programm, das mit allen Variablen auf Null beginnt, aus höchstens<br />
n = 2,3,4,5,6,7 Anweisungen besteht, und am Ende einen möglichst großen<br />
Wert in X0 hat. (Dabei gilt das WIEDERHOLE-SCHLEIFENENDE-Paar als eine einzige<br />
Anweisung.)<br />
(e) Die Programmiersprache Schleife++ hat zusätzlich bedingte Anweisungen:<br />
IF Xi>Xj THEN<br />
Anweisungsfolge<br />
ENDIF<br />
Wie kann mein ein solches Programm durch Eliminieren aller bedingten Anweisungen<br />
in ein Schleife-Programm übersetzen?<br />
2
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 2. Übungsblatt<br />
Abgabe Mittwoch, 27. April 2009, 10:15 Uhr<br />
(Aufgaben ohne Punkte sind freiwillige Vor- o<strong>der</strong> Zusatzübungen.)<br />
6. (10 Punkte) Welche <strong>der</strong> folgenden Gleichungen gelten für alle Sprachen?<br />
(a) (A∪B)∩C = A∪(B ∩C)<br />
(c) (A∪B) ∗ = A ∗ ∪B ∗<br />
(b) (A ∗ ) ∗ = A ∗<br />
(d) A ∗ ∩B ∗ = (A∩B) ∗<br />
Beweisen Sie Ihre Antworten. Wenn eine Beziehung nicht als Gleichung gilt, in welchen<br />
Fällen gilt dann eine Inklusionsbeziehung (⊆ o<strong>der</strong> ⊇)?<br />
7. (10 Punkte) Kommutierende Wörter<br />
Σ sei ein Alphabet mit 2 Symbolen. Wieviele Paare von Wörtern a ∈ Σ 3 und b ∈ Σ 2<br />
mit <strong>der</strong> Eigenschaft ab = ba gibt es? Wieviele Paare von Wörtern a ∈ Σ 6 und b ∈ Σ 9<br />
mit <strong>der</strong> Eigenschaft ab = ba gibt es? Wie ist es allgemein für a ∈ Σ m und b ∈ Σ n ?<br />
Wodurch kann man solche Wortpaare charakterisieren?<br />
8. (10 Punkte) Beschreiben Sie in Worten die folgenden Sprachen über {0,1,#}:<br />
(a) (0#) ∗ ∪(#1) ∗<br />
(b) (01#) ∗ ∩{01,1#,#0} ∗ (c) ({0,1}00) ∗ ∩(0 ∗ ∪1 ∗ )<br />
(d) (1{01,0101} ∗ 0) ∗<br />
Finden Sie, wenn möglich, einfachere ”<br />
Formeln“ für diese Sprachen. (Hier steht ein<br />
einzelnesWortfüreineeinelementigeSprache,wieetwa(#1) ∗ statt{#1} ∗ ,1 ∗ statt{1} ∗ .)<br />
9. (a) Schreiben Sie einen regulären Ausdruck für die positiven Binärzahlen, die durch 4<br />
teilbar sind. Die Zahlen dürfen keine führenden Nullen (keine überflüssigen Nullen<br />
am Anfang) haben.<br />
(b) Konstruieren Sie einen deterministischen endlichen Automaten (DEA), <strong>der</strong> diese<br />
Sprache akzeptiert.<br />
10. Geben Sie für jede <strong>der</strong> folgenden Sprachen über Σ = {a,b,c} zwei Wörter an, die in<br />
<strong>der</strong> Sprache enthalten sind sowie zwei Wörter, die nicht darin enthalten sind.<br />
(a) {a,b} ∗ (b) ab ∗ (c) (ab) ∗ (d) {a,ε}b ∗ (e) (a ∗ ∪{ab,bc,ca})·{ε,b}<br />
1<strong>1.</strong> Finden Sie eine Sprache L über dem Alphabet {0,1}, die die Gleichung<br />
erfüllt. Ist die Lösung eindeutig?<br />
L = {0}∪L·{11}<br />
12. Konstruieren Sie einen deterministischen endlichen Automaten (DEA) mit dem Eingabealphabet<br />
{0,1}, <strong>der</strong> die Wörter akzeptiert, die mindestens ein Paar nebeneinan<strong>der</strong>stehen<strong>der</strong><br />
Nullen enthalten.<br />
13. KonstruierenSieeinenDEAmitdemEingabealphabet{0,1},<strong>der</strong>dieWörterakzeptiert,<br />
die kein Paar nebeneinan<strong>der</strong>stehen<strong>der</strong> Einsen enthalten.<br />
14. Geben Sie reguläre Ausdrücke für folgende Sprachen an:<br />
(a) L 1 = {w ∈ {a,b,c} ∗ | w hat gerade Länge}<br />
(b) L 2 = {w ∈ {a,b,c} ∗ | w enthält mindestens ein a und höchstens ein c}<br />
(c) L 3 = {w ∈ {a,b} ∗ | w besteht aus k ≥ 0 Wie<strong>der</strong>holungen eines Wortes <strong>der</strong> Länge 2}<br />
(d) L 4 = {a,b} ∗ \L 2 (das Komplement <strong>der</strong> Sprache L 2 )<br />
(e) L 5 = {a,b} ∗ \L 3<br />
3
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 3. Übungsblatt<br />
Abgabe Mittwoch, 4. Mai <strong>2011</strong>, 10:15 Uhr<br />
15. Endliche Automaten und reguläre Sprachen (12 Punkte)<br />
Konstruieren Sie für den DEA M = (Σ = {0,1},Q = {a,b,c},δ,a,{b})<br />
einen regulären Ausdruck, <strong>der</strong> die von M akzeptierte Sprache beschreibt.<br />
Die Übergangsfunktion δ ist in <strong>der</strong> nebenstehenden Tabelle angegeben.<br />
δ 0 1<br />
a a b<br />
b c b<br />
c b a<br />
Wenden Sieden in<strong>der</strong> VorlesungvorgestelltenAlgorithmus von Kleenean<br />
und betrachten Sie die Zustände in <strong>der</strong> Reihenfolge q 1 = a, q 2 = b, q 3 = c. Vereinfachen<br />
Sie dabei die Zwischenergebnisse, so gut es geht.<br />
16. (0 Punkte) Wenden Sie den Algorithmus von Kleene auf das vorige Beispiel an und<br />
betrachten Sie dabei die Zustände in <strong>der</strong> Reihenfolge c,a,b.<br />
Versuchen Sie auch, ”<br />
direkt“ durch Betrachten des Zustandsdiagramms und Nachdenken<br />
einen möglichst einfachen regulären Ausdruck zu finden.<br />
17. (12 Punkte) Welche <strong>der</strong> folgenden Gleichungen gelten für alle Sprachen?<br />
(a) A·{ε} = A<br />
(b) A·∅ = A<br />
(c) A·∅ = ∅<br />
(d) A∪{ε} = A<br />
(e) A∪∅ = A<br />
(f) A∪∅ = ∅<br />
Beweisen Sie Ihre Antworten. Wenn eine Beziehung nicht als Gleichung gilt, in welchen<br />
Fällen gilt dann eine Inklusionsbeziehung (⊆ o<strong>der</strong> ⊇)?<br />
18. (7 Punkte) Zeigen Sie, dass folgende Sprache regulär ist: (Begründen Sie Ihre Antwort.)<br />
L = {w ∈ {a,b} ∗ | zweites und letztes Zeichen von w sind gleich, |w| ≥ 3}.<br />
19. (0Punkte)SchreibenSieeinenregulärenAusdruckfürdieSprache{ε},ohnedasSymbol<br />
ε zu verwenden.<br />
20. Reguläre Ausdrücke (0 Punkte)<br />
(a) Geben Sie einen regulären Ausdruck an, <strong>der</strong> genau die Worte w über Σ mit <strong>der</strong><br />
folgenden Eigenschaft beschreibt: ”<br />
w enthält keine zwei unmittelbar aufeinan<strong>der</strong>folgenden<br />
gleichen Symbole,“ und zwar für Σ 2 = {a,b}, Σ 3 = {a,b,c}, und für<br />
Σ 4 = {a,b,c,d}. Begründen Sie, dass Ihr Ausdruck wirklich diese Sprache beschreibt!<br />
(b) Lösen Sie dieselbe Aufgabe für die folgende Eigenschaft: ”<br />
Jedes Symbol in w steht<br />
neben einem gleichen Symbol.“ (Zum Beispiel hat das Wort aaabbcccaa diese Eigenschaft.)<br />
(c) (schwierig) Wieviele Wörter <strong>der</strong> Länge n enthält die Sprache aus Aufgabe (b), für<br />
Σ 2 und Σ 3 ?<br />
2<strong>1.</strong> (0 Punkte) Welche <strong>der</strong> folgenden Gleichungen gelten für alle Sprachen?<br />
(a) (AB) ∗ = (A∪B) ∗<br />
(b) (A ∗ ∪B ∗ ) ∗ = (A ∗ B ∗ ) ∗<br />
(c) (A ∗ ∪B ∗ ) ∗ = A ∗ ∪B ∗<br />
(d) A ∗ ∩B ∗ = (A ∗ ∩B ∗ ) ∗<br />
4
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 4. Übungsblatt<br />
Abgabe Mittwoch, 1<strong>1.</strong> Mai <strong>2011</strong>, 10:15 Uhr<br />
22. Verständnisfragen (0 Punkte) Welche <strong>der</strong> folgenden Aussagen treffen zu?<br />
(a) Jede endliche Teilmenge von Σ ∗ wird von einem endlichen Automaten akzeptiert.<br />
(b) Ein endlicher Automat kann nur endlich viele Wörter akzeptieren.<br />
(c) Jede Teilmenge von Σ ∗ wird von einem endlichen Automaten akzeptiert.<br />
(d) Zu jedem deterministischen endlichen Automaten A gibt es einen äquivalenten<br />
nichtdeterministischen endlichen Automaten, <strong>der</strong> nicht mehr Zustände als A hat.<br />
(Zwei Automaten sind äquivalent, wenn sie die gleich Sprache akzeptieren.)<br />
(e) Die leere Sprache wird von jedem endlichen Automaten akzeptiert.<br />
23. (10Punkte)BeweisenSie,dassdievoneinemDEAakzeptiertenSprachen(dieregulären<br />
Sprachen) unter Präfixbildung abgeschlossen sind: Wenn L eine solche Sprache ist, dann<br />
gibt es auch einen DEA, <strong>der</strong> die folgende Sprache L ′ akzeptiert:<br />
L ′ = {x | es gibt ein y mit xy ∈ L}<br />
24. (10 Punkte, eine alte Klausuraufgabe) Konstruieren Sie einen endlichen Automaten<br />
ohne ε-Übergänge für die Sprache<br />
(a|ba) + (b|ab) ∗ | (bb) ∗ a + (bb) ∗ .<br />
25. Für einen Zustand q ∈ Q des DEA M = (Σ,Q,δ,q 0 ,F) sei die Sprache L q (M) so<br />
definiert:<br />
L q (M) = {w ∈ Σ ∗ | δ(q 0 ,w) = q}<br />
Beweisen Sie: Wenn w 1 ,w 2 ∈ L q (M) sind, dann gilt für alle x ∈ Σ ∗ :<br />
w 1 x ∈ L(M) ⇐⇒ w 2 x ∈ L(M)<br />
26. Kongruenzrelationen (10 Punkte)<br />
Eine Kongruenzrelation ∼ auf einer Menge Σ ∗ von Wörtern ist eine Äquivalenzrelation<br />
mit folgen<strong>der</strong> zusätzlicher Eigenschaft:<br />
a ∼ b ∧ c ∼ d =⇒ ac ∼ bd.<br />
Welche <strong>der</strong> folgenden Relationen sind Kongruenzrelationen auf {0,1} ∗ ? (Beweisen Sie<br />
Ihre Antworten.) Die Beziehung a ∼ b soll jeweils genau dann gelten, wenn folgende<br />
Bedingung erfüllt ist:<br />
(a) a und b haben die gleiche Anzahl von Nullen und die gleiche Anzahl von Einsen.<br />
(b) a = b = ε, o<strong>der</strong> a ≠ ε ≠ b und a und b haben denselben Anfangsbuchstaben.<br />
(c) a = ε,o<strong>der</strong>b = ε,o<strong>der</strong>a ≠ ε ≠ bundaundbhabendenselbenAnfangsbuchstaben.<br />
(d) das Teilwort 100 kommt in a und b gleich häufig vor.<br />
27. Welche Sprache erkennt dieser endliche Automat? Begründen Sie Ihre Antwort.<br />
q 0<br />
a<br />
a,b<br />
a,b<br />
q 1<br />
a q 2<br />
q 3<br />
a<br />
a,b<br />
q 4<br />
a q 5<br />
5
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 5. Übungsblatt<br />
Abgabe Mittwoch, 18. Mai <strong>2011</strong>, 10:15 Uhr<br />
28. (10 Punkte) Potenzmengenkonstruktion<br />
Konstruieren Sie einen äquivalenten deterministischen Automaten für den nichtdeterministischen<br />
endlichen Automaten mit Σ = {0,1}, Q = {a,b,c}, Q 0 = F = {a} und<br />
δ(a,0) = {a,b}, δ(b,1) = {b,c}, δ(c,0) = {a,c}, δ(a,1) = δ(b,0) = δ(c,1) = ∅.<br />
29. (0 Punkte) Minimalautomat<br />
Konstruieren Sie den Minimalautomaten zu dem Automaten aus <strong>der</strong> vorigen Aufgabe.<br />
30. (10 Punkte, Teile von alten Klausuraufgaben)<br />
Gegeben ist ein NEA M. Wie kann man entscheiden,<br />
(a) ob L(M) endlich ist?<br />
(b) ob L(M) = ∅ ist?<br />
Skizzieren Sie Ihren Lösungsweg in einigen Sätzen.<br />
3<strong>1.</strong> (10 Punkte) Schreiben Sie einen regulären Ausdruck für eine gültige Dezimalzahl:<br />
Eine Dezimalzahl besteht aus einer nichtleeren Folge von Ziffern 0–9, o<strong>der</strong> sie enthält<br />
ein Komma, wobei vor und nach dem Komma eine nichtleere Folge von Ziffern steht.<br />
Wahlweise kann ein Vorzeichen (+ o<strong>der</strong> -) vorangestellt sein. Außerdem darf die Zahl<br />
keine überflüssigen führenden Nullen enthalten (Nullen zu Beginn, die man auch weglassen<br />
kann). Nach dem Komma dürfen jedoch am Ende beliebig viele Nullen stehen.<br />
32. (0 Punkte) Der Algorithmus von Kleene zur Umwandlung eines endlichen Automaten<br />
in einen regulären Ausdruck kann auch auf NEAs angewendet werden. Überlegen Sie,<br />
an welchen Stellen man den Algorithmus modifizieren muss, damit er für NEAs statt<br />
für DEAs funktioniert.<br />
33. (0 Punkte) Konstruieren Sie DEAs und NEAs für folgende Sprachen über {0,1}:<br />
(a) die Wörter, <strong>der</strong>en vierter Buchstabe eine 1 ist;<br />
(b) die Wörter, <strong>der</strong>en viertletzter Buchstabe eine 1 ist.<br />
34. (0 Punkte, eine alte Klausuraufgabe)<br />
Konstruieren Sie einen endlichen Automaten (wahlweise einen DEA o<strong>der</strong> einen NEA)<br />
für die durch 3 teilbaren Binärzahlen. Die Zahlen sollen dabei<br />
(a) von links nach rechts, (mit dem nie<strong>der</strong>wertigsten Bit zuletzt)<br />
(b) von rechts nach links eingelesen werden.<br />
35. (0 Punkte) Konstuieren Sie einen nichtdeterministischen endlichen Automaten (ohne<br />
ε-Übergänge) für die reguläre Sprache<br />
36. Das Produkt von Automaten (0 Punkte)<br />
(ε|0|00)(0|10 ∗ 1) ∗ 0 ∗ .<br />
(a) KonstruierenSiezuzweiDEAsM 1 = (Q 1 ,Σ,δ 1 ,q 1 0 ,F1 )undM 2 = (Q 2 ,Σ,δ 2 ,q 2 0 ,F2 )<br />
einen DEA mit Zustandsmenge Q 1 ×Q 2 für die Sprache L(M 1 )∩L(M 2 ).<br />
(Hinweis: Der neue Automat simuliert beide Automaten M 1 und M 2 gleichzeitig.)<br />
(b) Konstruieren Sie auf analoge Art einen DEA für die Sprache L(M 1 )∪L(M 2 ).<br />
6
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — Unverbindliche<br />
Probeklausur<br />
freiwillige Abgabe: Mittwoch, 25. Mai <strong>2011</strong>, 11:30 Uhr<br />
Bearbeitungszeit: 75 Minuten<br />
5<strong>1.</strong> (12 Punkte) Gegeben ist ein DEA M. Skizzieren Sie die Schritte, die notwendig sind,<br />
um einen DEA für<br />
(a) die komplementäre Sprache Σ ∗ \L(M)<br />
(b) die gespiegelte Sprache (L(M)) R = {x R | x ∈ L(M)}<br />
zu konstruieren. (Sieb brauchen nicht die Details in allen Einzelheiten anzugeben.)<br />
52. (12Punkte) BestimmenSieeinen DEAfür die Wörter über dem Alphabet {a,b,c,r,s},<br />
die das Teilwort barbara enthalten. Begründen Sie, warum Ihr Automat korrekt ist.<br />
53. Pumping-Lemma (12 Punkte)<br />
Beweisen Sie, dass die Sprache<br />
nicht regulär ist.<br />
54. (8 Punkte)<br />
L = {0 n2 | n ≥ 1}<br />
Wahr o<strong>der</strong> falsch? Begründen Sie Ihre Antworten.<br />
(a) Bei <strong>der</strong> Potenzmengenkonstruktion zur Konstruktion eines DEA aus einem NEA<br />
kann sich die Zustandsmenge mehr als verdoppeln.<br />
(b) Bei<strong>der</strong>Eliminationvon ε-ÜbergängenineinemNEAkannsichdieZustandsmenge<br />
mehr als verdoppeln.<br />
(c) Wenn es einen DEA für eine Sprache L gibt, dann gibt es auch für jede Teilmenge<br />
L ′ von L einen DEA, <strong>der</strong> L ′ akzeptiert.<br />
(d) Zu jedem DEA gibt es einen äquivalenten NEA mit <strong>der</strong> kleinstmöglichen Anzahl<br />
von Zuständen.<br />
7
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 6. Übungsblatt<br />
Abgabe Mittwoch, <strong>1.</strong> Juni <strong>2011</strong>, 10:15 Uhr<br />
4<strong>1.</strong> Das Pumping-Lemma (9 Punkte)<br />
Zeigen Sie mit dem Pumping-Lemma, dass die folgenden Sprachen nicht regulär sind.<br />
(a) DieMengeallerZeichenreihenüberdemAlphabet{(,)}mitkorrektgeschachtelten<br />
Klammern.<br />
(b) {0 n 10 n | n ≥ 0}<br />
(c) {xx | x ∈ {0,1} ∗ }<br />
42. Das Pumping-Lemma (6 freiwillige Zusatzpunkte)<br />
Zeigen Sie mit dem Pumping-Lemma, dass die folgenden Sprachen nicht regulär sind.<br />
(a) {x1 n | n ≥ 0, x ∈ {0,1} ∗ , |x| = n}<br />
(b) {xx R | x ∈ {0,1} ∗ }, (die Menge aller Palindrome gera<strong>der</strong> Länge)<br />
43. Das Pumping-Lemma<br />
Zeigen Sie (mit dem Pumping-Lemma, o<strong>der</strong> auf an<strong>der</strong>e Art), dass die Sprachen L 1 =<br />
{a m b n | m ≠ n} und L 2 = {0 n | n ist eine Primzahl} nicht regulär sind.<br />
44. Abschlusseigenschaften (9 Punkte)<br />
(a) BeweisenSie:WennLregulärist,dannistauchdiegespiegelteSpracheL R regulär.<br />
(b) Beweisen Sie: Wenn L ⊆ Σ ∗ 1 regulär ist und h: Σ∗ 1 → Σ∗ 2 ein Homomorphismums<br />
ist, dann ist auch die Bildsprache h(L) = {h(x) | x ∈ L} regulär.<br />
(c) Kann h(L) auch regulär sein, wenn L nicht regulär ist? Finden Sie ein Beispiel,<br />
o<strong>der</strong> beweisen Sie, dass es nicht möglich ist.<br />
45. Abschlusseigenschaften<br />
Beweisen Sie auf direktem Weg, indem Sie eine <strong>der</strong> Charakterisierungen regulärer Sprachen<br />
verwenden, dass die regulären Sprachen abgeschlossen bezüglich inversem Homomorphismus<br />
sind: Wenn L ⊆ Σ ∗ 2 regulär ist und h: Σ∗ 1 → Σ∗ 2 ein Homomorphismus ist,<br />
dann ist auch die Urbildsprache h −1 (L) = {x | g(x) ∈ L} regulär.<br />
46. Abschlusseigenschaften (8 Punkte)<br />
Wie kann man für zwei gegebene DEAs M 1 und M 2 entscheiden, ob L(M 1 ) = L(M 2 )<br />
ist? (Siehe auch Aufgabe 30.)<br />
Skizzieren Sie Ihren Lösungsweg in einigen Sätzen.<br />
47. Multiplikation auf einer Turing-Maschine (7 Punkte)<br />
Konstruieren Sie eine Turingmaschine, die zwei ”<br />
unäre“ Zahlen multipliziert. Bei Eingabe<br />
von 0 m #0 n soll die Ausgabe 0 mn berechnet werden.<br />
48. WelchecharakteristischeEigenschafthabendieWörter<strong>der</strong>SpracheL = (ε|0|00)(0|10 ∗ 1) ∗ 0 ∗ ?<br />
Beweisen Sie Ihre Behauptung! Gibt es einen einfacheren regulären Ausdruck für L?<br />
49. Die Nerode-Relation<br />
Bestimmen Sie die Äquivalenzklassen <strong>der</strong> Nerode-Relation für die Sprachen<br />
8
(a) L 1 = {0,1} 4<br />
(b) L 2 = {a m b n | m ≠ n}<br />
(c) L 3 = {0,1} 2 10 ∗<br />
50. Binäre Multiplikation. Unterprogramme.<br />
In <strong>der</strong> Vorlesung wurde eine Turingmaschine vorgestellt, die die Summe zweier positiver<br />
Zahlen in Binärdarstellung berechnet. 1 Bei Eingabe von bin(x)#bin(y)$ und Start im<br />
Zustand q 1 hält die Maschine im Zustand q F mit <strong>der</strong> Ausgabe bin(x + y)#bin(y)$<br />
und dem Kopf auf dem ersten Eingabesymbol. (Die Notation bin(x) ∈ {0,1} ∗ ist eine<br />
Darstellungvonx ∈ NinBinärdarstellung.)DerBandinhaltrechtsvom$-Zeichenbleibt<br />
dabei unverän<strong>der</strong>t stehen. Erweitern Sie diese Maschine zu einer Maschine, die zwei<br />
positive Binärzahlen multipliziert: Bei Eingabe von bin(x)$bin(y) soll die Maschine die<br />
Ausgabe bin(x·y) berechnen. Ihre Maschine soll die Addiermaschine aus <strong>der</strong> Vorlesung<br />
als ”<br />
Unterprogramm“ benutzen, indem Sie an geeigneten Stellen in den Zustand q 1<br />
übergeht. Der Zustand q F ist dann kein Haltezustand mehr, son<strong>der</strong>n die Rechnung<br />
wird danach fortgesetzt. Beschreiben Sie Ihren Algorithmus zunächst in Worten.<br />
5<strong>1.</strong> Einseitig unendliches Band<br />
Wie kann man jede Turingmaschine ohne Zeitverlust durch eine Turingmaschine simulieren,<br />
die sich nie über das erste Eingabezeichen nach links hinausbewegt?<br />
52. Fleißige Biber (siehe auch Aufgabe 5d)<br />
Entwerfen Sie eine Turingmaschine mit 2 Zuständen (zusätzlich zu einem Haltezustand)<br />
und dem Bandalphabet Γ = {1,B}, die mit dem leeren Band beginnt, nach endlich<br />
vielen Schritten anhält, und dabei eine möglichst lange fortlaufende Folge von Einsen<br />
auf das Band schreibt.<br />
53. Definieren Sie formal die Nachfolgerrelation xqy ⊢ x ′ q ′ y ′ für Konfigurationen einer<br />
Turingmaschine mit gegebener Überführungsfunktion δ. (q,q ′ ∈ Q, x,x ′ ∈ {ε} ∪ (Γ −<br />
{B})Γ ∗ , y,y ′ ∈ {ε}∪Γ ∗ (Γ−{B}).) Zum Beispiel gilt qay ⊢ q ′ y für q ∈ Q,a ∈ Γ,y ∈ Γ ∗ ,<br />
und δ(q,a) = (q ′ ,B,+1); qay ⊢ q ′ Bby für q ∈ Q,a ∈ Γ,y ∈ Γ ∗ , δ(q,a) = (q ′ ,b,−1), und<br />
y ≠ ε o<strong>der</strong> b ≠ B. Beschreiben Sie auch alle übrigen Fälle.<br />
54. Schleife-Berechenbarkeit und ”<br />
Diagonalisierung“<br />
(a) Die Funktion u: N → N gibt den größten Wert u(n) an, den ein Schleife-<br />
Programm mit n Anweisungen und allen Eingaben auf 0 am Ende in X0 berechnen<br />
kann (vgl. Aufgabe 5d). Ist u berechenbar (auf einer Turingmaschine)?<br />
(b) Beweisen Sie: Wenn f 1 ,f 2 : N → N zwei Schleife-berechenbare Funktionen sind<br />
(im Sinne von Aufgabe 1), dann ist auch ihre Verknüpfung g mit g(n) = f 2 (f 1 (n))<br />
Schleife-berechenbar. Beweisen Sie eine obere Schranke für die Länge des kürzesten<br />
Programmes für g, wenn f 1 und f 2 mit n 1 bzw. n 2 Anweisungen berechnet<br />
werden können.<br />
(c) Konstruieren Sie eine Funktion f: N → N, die nicht Schleife-berechenbar ist<br />
(zum Beispiel eine Variante <strong>der</strong> Funktion u aus Teil a).<br />
55. Wenn die Taste - auf <strong>der</strong> Tastatur kaputt ist, kann man den Befehl Xi = Xi - 1 zum<br />
Herunterzählen in <strong>der</strong> Programmiersprache Schleife (Aufgabe 5) nicht verwenden.<br />
Wie kann man diesen Befehl durch die übrigen Befehle simulieren?<br />
1 http://www.inf.fu-berlin.de/lehre/<strong>SS</strong>11/GTI/tm-Beispiel.pdf ist eine Variante davon.<br />
9
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 7. Übungsblatt<br />
Abgabe Mittwoch, 8. Juni <strong>2011</strong>, 10:15 Uhr<br />
56. Gödelnummerierung (10 Punkte)<br />
Die folgende Funktion f ist eine Bijektion zwischen {0,1} ∗ und Z + = {1,2,3,...}:<br />
f(w) = 1w, als Binärzahl interpretiert.<br />
Schreiben Sie ein Programm für eine Turing-Maschine o<strong>der</strong> eine Programmiersprache<br />
Ihrer Wahl, das die Wörter u#v mit u,v ∈ {0,1} ∗ und f(u) < f(v) akzeptiert.<br />
57. (0Punkte)TabellenzugriffüberAdressen,SimulationeinesDirektzugriff-Speichersdurch<br />
eine Turingmaschine.<br />
Bei Eingabe eines Wortes x von <strong>der</strong> Form<br />
x 1 #y 1 ##x 2 #y 2 ##...##x n #y n ##x 0<br />
mit n ≥ 0, x k ,y k ∈ {0,1} ∗ soll eine Turingmaschine die Ausgabe x#y berechnen. Dabei<br />
ist y = y i für den größten Index i ≤ n mit x i = x 0 , und y = 0, falls kein solches i<br />
existiert.<br />
58. Minimierung des Bandalphabets (0 Punkte)<br />
Entwerfen Sie eine Turingmaschine die die Sprache {0 n 1 n | n ≥ 0} entscheidet und die<br />
mit dem Bandalphabet Γ = {0,1,B} auskommt.<br />
59. Varianten <strong>der</strong> Diagonalsprache (10 Punkte)<br />
D = {w i | M i akzeptiert w i nicht} sei die Diagonalsprache und ¯D ihr Komplement.<br />
(a) Ist die Sprache ¯D rekursiv aufzählbar?<br />
(b) Ist die Sprache 0D ∪1¯D rekursiv aufzählbar?<br />
(c) Ist U ′ := {〈M〉w | M akzeptiert das Wort 〈M〉w nicht} entscheidbar?<br />
60. Welche <strong>der</strong> folgenden Sprachen sind entscheidbar, welche sind rekursiv aufzählbar?<br />
(a) L 1 = {0 k 〈M〉w | M akzeptiert w nach höchstens k Schritten.}<br />
(b) L 2 = {0 k 〈M〉w | M hat w nach k Schritten noch nicht akzeptiert.}<br />
6<strong>1.</strong> Aufzählung rekursiv aufzählbarer Sprachen (10 Punkte)<br />
(a) (10 Punkte) Beweisen Sie: Eine Sprache L ist genau dann rekursiv aufzählbar,<br />
wenn es eine Turingmaschine M gibt, die alle Wörter von L (in beliebiger Reihenfolge)<br />
durch Leerzeichen getrennt auf ein Ausgabeband, auf das nur geschrieben<br />
werden kann, ausgibt. (Hinweis: Verwenden Sie Aufgabe 60.)<br />
(b) (0 Punkte) Die Sprache L ist genau dann entscheidbar, wenn es eineTuringmaschine<br />
gibt, die die Wörter von L nach Länge sortiert auf ein Ausgabeband schreibt.<br />
62. Beweisen Sie, dass die Sprache L = {0 i | i ≥ 0, das Teilwort 0 i 123 kommt in <strong>der</strong><br />
Dezimaldarstellung von π unendlich oft vor} entscheidbar ist. (Sie müssen dazu nichts<br />
über π wissen, nur logisch überlegen. Wie kann L aussehen?)<br />
10
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 8. Übungsblatt<br />
Abgabe Mittwoch, 16. Juni <strong>2011</strong>, 10:15 Uhr<br />
63. (10 Punkte) Welche dieser Aussagen sind wahr? Geben Sie einen Beweis o<strong>der</strong> ein Gegenbeispiel<br />
an. (Teil (a–c) ist eine alte Klausuraufgabe.)<br />
(a) Wenn L entscheidbar ist, dann ist auch L ∗ entscheidbar.<br />
(b) Wenn L unentscheidbar ist, dann ist auch L ∗ unentscheidbar.<br />
(c) Wenn L rekursiv aufzählbar ist, dann ist auch L ∗ rekursiv aufzählbar.<br />
(d) Wenn L 1 und L 2 entscheidbar sind, dann ist auch L 1 L 2 entscheidbar.<br />
64. (0 Punkte) Entscheidbarkeit<br />
Welche <strong>der</strong> folgenden Aussagen sind wahr, und welche sind falsch? (Beweise!)<br />
Welche Aussagen sind trivial, und welche sind absurd?<br />
(a) Jede Teilmenge einer entscheidbaren Sprache ist entscheidbar.<br />
(b) Die Vereinigung zweier entscheidbarer Sprachen ist entscheidbar.<br />
(c) Die Vereinigung zweier rekursiv aufzählbarer Sprachen ist rekursiv aufzählbar.<br />
(d) Die Schnittmenge zweier entscheidbarer Sprachen ist entscheidbar.<br />
(e) Die Schnittmenge zweier rekursiv aufzählbarer Sprachen ist rekursiv aufzählbar.<br />
(f) Jede entscheidbare Sprache ist rekursiv aufzählbar.<br />
(g) Die Schnittmenge einer rekursiv aufzählbaren Sprache und einer entscheidbaren<br />
Sprache ist rekursiv aufzählbar.<br />
65. (10 Punkte) Reduktion zwischen Sprachen/Problemen<br />
(a) (5 Punkte) Beweisen Sie, dass die Relation ≤ transitiv ist.<br />
(b) (5 Punkte) Beweisen Sie: Wenn A entscheidbar ist und B eine beliebige Sprache<br />
mit B ≠ ∅, B ≠ Σ ∗ ist, dann ist A ≤ B.<br />
(c) (0 Punkte) Ist die folgende Aussage wahr o<strong>der</strong> falsch: Wenn B unentscheidbar ist<br />
und A eine beliebige Sprache mit A ≠ ∅, A ≠ Σ ∗ ist, dann ist A ≤ B.<br />
66. (0 Punkte) Reduktion vom <strong>der</strong> unversellen Sprache U auf das Halteproblem H.<br />
Zeigen Sie U ≤ H mit Hilfe <strong>der</strong> folgenden Reduktionsfunktion f: Die Eingabe von f ist<br />
〈M〉w (als Eingabe für U). Der Algorithmus f transformiert M in eine Turingmaschine<br />
M ′ , bei <strong>der</strong> alle Möglichkeiten, dass M in einem nichtakzeptierenden Zustand hält,<br />
durch einen Sprung in eine unendliche Schleife ersetzt sind. Die Ausgabe von f (als<br />
Eingabe für H) ist dann 〈M U 〉〈M ′ 〉w, wobei M U eine universelle Turingmaschine ist.<br />
67. (10 Punkte) Lösen Sie das Post’sche Korrespondenzproblem für folgende Eingaben:<br />
(a) (5 Punkte) x 1 ,...,x 5 = abb,a,bab,baba,aba; y 1 ,...,y 5 = bbab,aa,ab,aa,a.<br />
(b) (5 Punkte) x 1 ,...,x 5 = a,baa,abab,aabb,abb; y 1 ,...,y 5 = ab,ba,bbaa,bbba,bba.<br />
(c) (0Punkte)x 1 ,...,x 10 = d,de,deh,deh,deh,deha,deha,wa,wa,wah;y 1 ,...,y 10 =<br />
add,e,de,d,deha,eh,d,w,wah,wa; Welches sind die zwei kürzesten Lösungen?<br />
68. NachdemSatzvonRiceistdieSprache{〈M〉 | L(M) enthält mindestens zwei Wörter}<br />
unentscheidbar. Ist sie rekursiv aufzählbar? (0 Punkte)<br />
11
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 9. Übungsblatt<br />
Abgabe Mittwoch, 22. Juni <strong>2011</strong>, 10:15 Uhr<br />
69. (10 Punkte) Entwerfen Sie kontextsensitive Grammatiken für folgende Sprachen:<br />
(a) (5 Punkte) {ww | w ∈ {0,1} ∗ , w ≠ ε}<br />
(b) (5 Punkte) {0 n 1 n 2 n | n ≥ 1}<br />
(c) (0 Punkte) {0 n2 | n ≥ 1}<br />
(d) (0 Punkte) {0 n | n > 1 und n ist keine Primzahl}<br />
(e) (0 Punkte) {0 2n | n ≥ 0}<br />
70. (0 Punkte) Der erste Satz dieser Aufgabe ist ein Beispiel eines grammatikalisch korrekten<br />
Satzes. Analysieren Sie diesen Satz gemäß <strong>der</strong> nachstehenden rudimentären kontextfreien<br />
Grammatik:<br />
S → NG VG, NG → NG Att, NG → Art NG ′ , NG → NG ′ , NG ′ → Adj NG ′ ,<br />
NG ′ → N, NG → Pro, Att → NG, Att → Präp NG, VG → V, VG → V Obj,<br />
VG → V Pr, VG → VG Erg, Obj → NG, Erg → Präp NG, Pr → Adj, Pr →<br />
NG, Adj → Adv Adj.<br />
(S = Satz, NG = Nominalgruppe, NG ′ = Nominalgruppe ohne Artikel, VG = Verbgruppe,<br />
Att = Attribut, Art = Artikel, Adj = Adjektiv, Adv = Adverb, N = Hauptwort<br />
(Nomen), Pro = Pronomen, Obj = Objekt, Erg = Modalobjekt, Pr = Prädikat.)<br />
Warum passt <strong>der</strong> zweite Satz dieser Aufgabe nicht zu dieser Grammatik?<br />
7<strong>1.</strong> (10 Punkte, aus einer alten Probeklausur) Die kontextfreie Grammatik<br />
S → S +S ∣ ∣ S ∗S ∣ ∣ (S) ∣ ∣ Z<br />
Z → 0 ∣ ∣ 1 ∣ ∣ 2 ∣ ∣ 3 ∣ ∣ 4 ∣ ∣ 5 ∣ ∣ 6 ∣ ∣ 7 ∣ ∣ 8 ∣ ∣ 9<br />
für einfache arithmetische Ausdrücke mit einzelnen Ziffern als Operanden ist mehrdeutig,<br />
weil zum Beispiel für den Ausdruck 3+4∗5 aus <strong>der</strong> Grammatik nicht hervorgeht,<br />
ob 3+4 o<strong>der</strong> 4∗5 zuerst berechnet werden soll. Geben Sie alle möglichen Syntaxbäume<br />
und mindestens drei verschiedene Linksableitungen für das Wort 3+4∗5+(6) an.<br />
72. (0 Punkte) Konstruieren Sie eine kontextfreie Grammatik für die Sprache <strong>der</strong> Wörter<br />
über {0,1}, die kein Palindrom sind: L = {w | w ≠ w R }<br />
73. (10 Punkte) Beweisen Sie, dass die Grammatik G mit den Regeln S → aS ∣ ∣ <strong>SS</strong> ∣ ∣<br />
aSbS ∣ ∣ ε genau die Wörter über {a,b} erzeugt, in denen je<strong>der</strong> Präfix mindestens so<br />
viele a’s wie b’s enthält.<br />
74. (0 Punkte) Chomsky-Normalform (CNF)<br />
WandelnSiediefolgendeGrammatiküberdemTerminalalphabetΣ = {a}inChomsky-<br />
Normalform um: S → AAB ∣ ∣ ABA, A → BS ∣ ∣ SB ∣ ∣ a, B → AS ∣ ∣ ε<br />
75. (0 Punkte) Algorithmus von Cocke, Younger, und Kasami<br />
Prüfen Sie mit dem CYK-Algorithmus nach, dass das Wort a−a∗a∗a von <strong>der</strong> folgenden<br />
Grammatik erzeugt wird. Geben Sie einen Syntaxbaum und eine Linksableitung (für<br />
die umgewandelte Grammatik) an. Ist <strong>der</strong> Syntaxbaum eindeutig?<br />
S → S ∗A ∣ ∣ A−A,<br />
A → A∗A ∣ ∣ a<br />
12
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 10. Übungsblatt<br />
Abgabe Mittwoch, 29. Juni <strong>2011</strong>, 10:15 Uhr<br />
76. (0 Punkte) Übersetzen Sie den folgenden vereinfachten Ausschnitt aus <strong>der</strong> Syntax <strong>der</strong><br />
ProgrammierspracheJavaaus<strong>der</strong>EBNF(extendedBackus-Naur-Form)inentsprechende<br />
kontextfreie Regeln:<br />
TryBlock ::= try Block Catches ∣ try Block [ Catches ] finally Block<br />
Catches ::= CatchClause { CatchClause }<br />
CatchClause ::= catch ( Exception Identifier ) Block<br />
Exception ::= Identifier<br />
Die Terminalsymbole sind hier fett gedruckt. Sie können die Variablen durch passende<br />
einbuchstabige Namen abkürzen. (Wozu dient eigentlich die Variable ”<br />
Exception“, die<br />
man doch genausogut zusammen mit <strong>der</strong> Regel ”<br />
Exception ::= Identifier“ eliminieren<br />
könnte?)<br />
77. Chomsky-Normalform (CNF) (10 Punkte)<br />
WandelnSiediefolgendeGrammatiküberdemTerminalalphabetT = {0,1}inChomsky-<br />
Normalform um.<br />
S → 0A0 ∣ 1B1 ∣ BB<br />
A → C<br />
B → S ∣ A<br />
C → S ∣ ε<br />
78. Algorithmus von Cocke, Younger, und Kasami (10 Punkte)<br />
Prüfen Sie mit dem CYK-Algorithmus nach, dass das Wort 001100 von <strong>der</strong> Grammatik<br />
<strong>der</strong>vorigenAufgabeerzeugtwird.GebenSieeinenSyntaxbaumund eineLinksableitung<br />
(für die umgewandelte Grammatik) an. Ist <strong>der</strong> Syntaxbaum eindeutig?<br />
79. Reguläre Ausdrücke (0 Punkte)<br />
(a) Schreiben Sie eine kontextfreie Grammatik für die durch den regulären Ausdruck<br />
(0|1 ∗ )·(0|01|ε)<br />
über dem Alphabet {0,1} definierte Sprache.<br />
(b) Wie kann man allgemein für einen regulären Ausdruck eine entsprechende kontextfreie<br />
Grammatik erzeugen?<br />
80. Kontextfreie Sprachen, Pumping-Lemma (10 Punkte)<br />
Welche <strong>der</strong> folgenden Sprachen sind kontextfrei? Beweisen Sie Ihre Antworten.<br />
(a) (0 Punkte) L 1 = {w¯w | w ∈ {0,1} ∗ }, wobei ¯w das Wort bezeichnet, das aus w<br />
durch Vertauschen von Nullen und Einsen entsteht.<br />
(b) (0 Punkte) L 2 = {0 5 1 n−5 0 n | n ≥ 5}<br />
(c) (5 Punkte) L 3 = {bin(x)#bin(y)#bin(x + y) | x ≥ 1} ⊂ {0,1,#} ∗ . Hier steht<br />
bin(x) für die Binärdarstellung <strong>der</strong> Zahl x ohne führende Nullen.<br />
(d) (5 Punkte) Im Lande Lalapak gibt es Münzen zu 5 und zu 7 Lewonzen.<br />
L 4 = {0 n | <strong>der</strong> Betrag von n Lewonzen kann mit diesen Münzen ohne Herausgeben<br />
bezahlt werden}.<br />
8<strong>1.</strong> (0 Punkte) Welche <strong>der</strong> Sprachen in Aufgabe 80 sind regulär? Welche sind kontextsensitiv?<br />
Welche sind entscheidbar, und welche sind Typ-0-Sprachen?<br />
13
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — 1<strong>1.</strong> Übungsblatt<br />
Freiwillige Zusatzaufgaben. Sie können maximal drei Aufgaben abgeben, um zusätzliche<br />
Punkte zu bekommen. Abgabe Mittwoch, 29. Juni <strong>2011</strong>, 10:15 Uhr<br />
82. Entscheidbarkeit (5 Punkte). Wahr o<strong>der</strong> falsch? Begründung?<br />
(a) Jede entscheidbare Sprache ist eine Typ-0-Sprache.<br />
(b) Keine Typ-0-Sprache ist entscheidbar.<br />
(c) Jede Typ-1-Sprache ist entscheidbar.<br />
(d) Jede entscheidbare Sprache ist eine Typ-2-Sprache.<br />
(e) Keine Typ-0-Sprache ist eine reguläre Sprache.<br />
83. Welche <strong>der</strong> folgenden Sprachen sind kontextfrei? Welche sind regulär? (5 Punkte)<br />
(a) (2 Punkte) L 1 = {0 m 1 n | m = n o<strong>der</strong> m = 2n}<br />
(b) (0 Punkte) L 2 = {0 m 1 n | m = n 2 }<br />
(c) (0 Punkte) Das Komplement <strong>der</strong> Sprache {0 m 1 m 0 m | m ≥ 0}<br />
(d) (3 Punkte) L 4 = {0 m 1 n 0 k | m = n+k}<br />
84. (5 Punkte) Wie kann man entscheiden, ob eine kontextfreie Grammatik eine endliche<br />
Sprache erzeugt?<br />
85. (5 Punkte) Geben Sie für die Grammatik S → QC | AR, Q → aQb | ε, C → cC | ε,<br />
R → bRc | ε, A → aA | ε, Ableitungsbäume für die Wörter w 1 = abbcc, w 2 = abccc,<br />
und w 3 = abc an.<br />
86. Das Post’sche Korrespondenzproblem und kontextfreie Sprachen (5 Punkte)<br />
(a) Zeigen Sie: Für gegebene x 1 ,...,x k ∈ Σ ∗ ist die Sprache {a in a in−1 ...a i1 x i1 x i2 ...<br />
x in | n ≥ 1, 1 ≤ i j ≤ k}kontextfrei,wobeia 1 ,a 2 ,...,a k neueBuchstabensind,die<br />
nicht zu Σ gehören. (Versuchen Sie, mit möglichst wenigen Regeln auszukommen.)<br />
(b) BeweisenSie:ZujedemPost’schenKorrespondenzproblemkannmanzweikontextfreieGrammatiken<br />
G 1 und G 2 konstruieren, sodass das Post’schen Korrespondenzproblem<br />
genau dann eine Lösung hat, wenn L(G 1 )∩L(G 2 ) ≠ ∅.<br />
Was folgt daraus für das entsprechende Entscheidungsproblem für kontextfreie<br />
Grammatiken?<br />
87. Zeigen Sie, dass die Chomsky-Hierarchie echt ist: Geben Sie eine Typ-0-Sprache an,<br />
die keine Typ-1-Sprache ist. Geben Sie eine Typ-1-Sprache an, die keine Typ-2-Sprache<br />
ist. Geben Sie eine Typ-2-Sprache an, die keine Typ-3-Sprache ist. (Und geben Sie eine<br />
Sprache an, die keine Typ-0-Sprache ist.)<br />
88. (a) Geben Sie eine kontextfreie Grammatik für die Sprache L 1 an:<br />
L 1 = {w ∈ {a,b} ∗ | w enthält gleich viele a’s wie b’s}<br />
(b) Geben Sie eine kontextfreie Grammatik für die Sprache<br />
L 2 = {w | w enthält doppelt so viele a’s wie b’s}<br />
über dem Alphabet T = {a,b} an.<br />
(c) Lösen Sie dieselbe Aufgabe über dem Alphabet {a,b,c}.<br />
14
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — Klausur<br />
Jede Aufgabe hat 12 Punkte.<br />
Abgabe bis Montag, 4. Juli <strong>2011</strong>, 11:45 Uhr<br />
<strong>1.</strong> Wahr o<strong>der</strong> falsch? Begründen Sie Ihre Antworten.<br />
(a) Wenn A in einer regulären Sprache B enthalten ist, dann ist A entscheidbar.<br />
(b) Es gibt einen nichtdeterministischen endlichen Automaten A, <strong>der</strong> weniger<br />
Zustände enthält als je<strong>der</strong> deterministische endlichen Automat, <strong>der</strong> die gleiche<br />
Sprache akzeptiert.<br />
(c) Die Schnittmenge zweier entscheidbarer Sprachen ist entscheidbar.<br />
(d) Jede reguläre Sprache ist kontextfrei.<br />
(e) Es gibt Typ-0-Sprachen, die unentscheidbar sind.<br />
(f) Jede endliche Sprache ist regulär.<br />
2. Beweisen Sie, dass die Dyck-Sprache, die von <strong>der</strong> Grammatik<br />
S → (S) | <strong>SS</strong> | ε<br />
über dem Alphabet {(,)} erzeugt wird, nicht regulär ist. Sie dürfen Sätze aus <strong>der</strong><br />
Vorlesung o<strong>der</strong> von den Übungsblättern (zum Beispiel das Pumping-Lemma o<strong>der</strong><br />
Abschlusseigenschaften) verwenden, aber Eigenschaften von bestimmten Sprachen<br />
müssen Sie beweisen.<br />
3. Wie kann man für zwei gegebene DEAs M 1 und M 2 entscheiden, ob L(M 1 ) ⊆<br />
L(M 2 ) ist?<br />
Skizzieren Sie Ihren Lösungsweg in einigen Sätzen.<br />
4. Konstruieren Sie einen regulären Ausdruck für die Wörter über dem Alphabet<br />
{a,b}, die aaa nicht als Teilwort enthalten. Begründen Sie, warum Ihre Konstruktion<br />
korrekt ist.<br />
5. Wandeln Sie die folgende Grammatik über dem Terminalalphabet T = {0,1} in<br />
Chomsky-Normalform um:<br />
S → BAA ∣ ∣ ABB<br />
A → BS ∣ ∣ SB ∣ ∣ B1 ∣ ∣ A0<br />
B → SA ∣ ∣ ε<br />
15
<strong>Grundlagen</strong> <strong>der</strong> <strong>theoretischen</strong> <strong>Informatik</strong>, <strong>SS</strong> <strong>2011</strong> — Klausur<br />
Jede Aufgabe hat 12 Punkte.<br />
Abgabe bis Donnerstag, 13. Oktober <strong>2011</strong>, 15:45 Uhr<br />
<strong>1.</strong> Wahr o<strong>der</strong> falsch? Begründen Sie Ihre Antworten.<br />
(a) Es ist unentscheidbar, ob für die von einer gegebenen Turingmaschine akzeptierte<br />
Sprache die leere Sprache ist.<br />
(b) Jede entscheidbare Sprache ist eine Typ-2-Sprache.<br />
(c) Wenn L 1 und L 2 entscheidbar sind, dann ist auch L 1 L 2 entscheidbar.<br />
(d) Jede kontextfreie Sprache ist regulär.<br />
(e) Es gibt Typ-2-Sprachen, die unentscheidbar sind.<br />
(f) Es gibt eine Sprache A, die nicht regulär ist, die aber in einer regulären<br />
Sprache B als Teilmenge enthalten ist.<br />
2. Beweisen Sie, dass die Sprache<br />
L = {0 m 1 n 2 k | m+k = n}<br />
über dem Alphabet {0,1,2}, nicht regulär, aber kontextfrei ist. Sie dürfen Sätze<br />
aus <strong>der</strong> Vorlesung o<strong>der</strong> von den Übungsblättern (zum Beispiel das Pumping-<br />
Lemma o<strong>der</strong> Abschlusseigenschaften) verwenden, aber Eigenschaften von bestimmten<br />
Sprachen müssen Sie beweisen.<br />
3. Beweisen Sie, dass für eine reguläre Sprache L ⊆ Σ ∗ die Menge <strong>der</strong> Präfixe ihrer<br />
Wörter, {x ∈ Σ ∗ | es gibt ein y ∈ Σ ∗ mit xy ∈ L}, wie<strong>der</strong> eine reguläre Sprache<br />
ist.<br />
Hinweis: Es genügt, in einem endlichen Automaten, <strong>der</strong> L akzeptiert, die akzeptierenden<br />
Zustände neu zu definieren.<br />
4. Bestimmen Sie für die Sprache<br />
L = { w ∈ {a,b} ∗ | neben jedem a steht mindestens ein weiteres a }<br />
(a) einen deterministischen endlichen Automaten mit möglichst wenigen Zuständen,<br />
(b) die Äquivalenzklassen <strong>der</strong> Nerode-Relation.<br />
5. Geben Sie für die Grammatik<br />
S → QC | AR Q → aQb | ε C → cC | ε<br />
R → bRc | ε<br />
A → aA | ε<br />
Ableitungsbäume für die Wörter w 1 = abbcc, w 2 = abccc, und w 3 = abc an.<br />
16