29.01.2014 Aufrufe

Grundlagen der theoretischen Informatik, SS 2011 — 1. ¨Ubungsblatt

Grundlagen der theoretischen Informatik, SS 2011 — 1. ¨Ubungsblatt

Grundlagen der theoretischen Informatik, SS 2011 — 1. ¨Ubungsblatt

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!