Formale Sprachen und Automaten Übungsblatt 2 22.4.2011 1 Grammatiken Von welchem Typ der Chomsky-Hierarchie (Typ 0, 1, 2 oder 3) sind folgende Grammatiken? a) G1 = h{S, T, a, b}, {a, b}, P1 , Si mit P1 = { S → a T, T → S b, S → ε} G1 ist eine Typ-2-Grammatik (und damit auch Typ-1 und Typ-0). Sie ist nicht von Typ-3, weil sie sowohl links- als auch rechtslineare Regeln enthält. b) G2 = h{S, T, a, b}, {a, b}, P2 , Si mit P2 = { S → a T, T → bS , S → a S → b} G2 ist eine Typ-3-Grammatik (und damit auch Typ-2, Typ-1 und Typ-0). Sie enthält ausschließlich rechtslineare Regeln. 2 Sprachen Wahr oder falsch? Begründe kurz. a) Das leere Wort ist in jeder Sprache enthalten. Falsch. Es gibt Sprachen, in denen das leere Wort nicht enthalten ist (z. B. die leere Sprache ∅ und L(G2 ) aus Aufgabe 1). b) Das leere Wort ist das neutrale Element von Σ∗ . Wahr. Σ∗ steht hier für das freie Monoid hΣ∗ , ·, ε i. Darin ist ε das neutrale Element der Stringkonkatenation. c) Es gilt: (Σ∗ )∗ = Σ∗ . Wahr. Intuitiv: Σ∗ enthält schon alle möglichen Wörter über Σ. Durch erneute Sternhüllenbildung kommen keine Wörter hinzu. Formaler: [ (Σ∗ )∗ = (Σ∗ )i 0≥i ∗ 0 = (Σ ) ∪ (Σ∗ )1 ∪ (Σ∗ )2 ∪ (Σ∗ )3 ∪ (Σ∗ )4 ∪ . . . = {ε} ∪ Σ∗ ∪ Σ∗ = Σ∗ ∪ Σ∗ ∪ Σ∗ ∪ . . . d) Es gilt: {} · Σ∗ = Σ∗ Wahr. {ε} ist das neutrale Element der Mengenkonkatenation. Wir beziehen uns hier also auf das Monoid hP(Σ∗ ), ·, {ε} i, das unbedingt vom Monoid aus Teil b) zu unterscheiden ist. e) Es gilt: L∗ = Σ∗ für jede beliebige Sprache L. Falsch. Sei z. B. Σ = {a, b} und L = {w | w = ai , i ≥ 1} ⊆ Σ∗ . Dann gilt L∗ = {w | w = ai , i ≥ 0} = 6 Σ∗ . 3 Abzählbarkeit Sind folgende Mengen abzählbar? a) die Menge aller Prolog-Programme Abzählbar. Ein Prolog-Programm ist ein Wort über einem Alphabet Σ. Wir können alle solchen Wörter aufzählen: erst ε, dann Wörter der Länge 1, dann der Länge 2. . . Für eine gegebene Länge l gibt es immer nur endlich viele Wörter über Σ mit Länge l. b) die komplexen Zahlen Überabzählbar. Die Menge der reellen Zahlen (von der wir wissen, dass sie überabzählbar unendlich ist) ist eine Teilmenge der komplexen Zahlen. Die komplexen Zahlen sind also ebenfalls überabzählbar unendlich. c) die ganzen Zahlen Abzählbar. Wir können alle ganzen Zahlen aufzählen: 0, 1, −1, 2, −2, 3, −3, . . . d) Σ∗ für ein beliebiges (endliches) Alphabet Σ Abzählbar. Begründung wie bei a): Wir können alle Wörter aus Σ∗ aufzählen: erst ε, dann Wörter der Länge 1, dann der Länge 2. . . Für eine gegebene Länge l gibt es immer nur endlich viele Wörter über Σ mit Länge l. e) die Menge aller Sprachen über Σ Überabzählbar. Die Menge aller Sprachen über Σ∗ ist die Potenzmenge von Σ∗ . Die Potenzmenge einer abzählbar unendlichen Menge ist überabzählbar unendlich. 2