¨ Ubungen zur Vorlesung Grundbegriffe der Theoretischen Informatik Thomas Schwentick Jan Eric Lenssen, Axel Plinge, Martin Schuster, Nils Vortmeier SoSe 2015 ¨ Ubungsblatt 4 28.4.2015 Abgabe bis spätestens am 5.5.2015, • (vor der Vorlesung) im HG II, HS 3, oder • in den Briefkästen im Durchgangsflur, der die 1. Etage der OH 12 mit dem Erdgeschoss der OH 14 verbindet. Es gelten die Hinweise von Blatt 1. Quizfragen: Welche der folgenden Aussagen sind richtig, welche sind falsch? Und warum? keine Punkte 1. Jede Teilmenge einer regulären Sprache ist regulär. 2. Jede Obermenge einer regulären Sprache ist regulär. 3. Wie der DFA zur Zeichenkettensuche zeigt, gibt es zu jedem NFA mit n Zuständen einen DFA mit n Zuständen, der die selbe Sprache entscheidet. 4. Für jede Sprache L gibt es genau ein n, das die Eigenschaften des Pumping-Lemmas erfüllt. 5. Aus der Aussage des Pumping Lemmas folgt, dass jede reguläre Sprache unendlich viele Wörter enthält. 6. Mit dem Pumping-Lemma lässt sich beweisen, dass eine Sprache regulär ist. Aufgabe 4.1 [Pumping-Lemma] Zeigen Sie mit Hilfe des Pumping-Lemmas, dass die folgenden Sprachen nicht regulär sind. 6 Punkte a) L1 “ tw P ta, bu˚ | w “ vv für ein v P ta, bu˚ u (3 Punkte) b) L2 “ tpabqℓ am P ta, bu˚ | ℓ ă mu (3 Punkte) Aufgabe 4.2 [Zeichenkettensuche] 5 Punkte Ein Text sei zusammengesetzt aus den Zeichen a-z und ø. In diesem Text soll nach den Zeichenketten tatar, auflauf und flatbrød gesucht werden. a) Geben Sie einen NFA an, der akzeptiert, wenn eines der gesuchten Wörter im Eingabetext enthalten ist. (2 Punkte) b) Leiten Sie anschließend einen entsprechenden DFA wie in der Vorlesung beschrieben her. Die Herleitung soll direkt (wie in Kapitel 7.1.2) erfolgen und nicht über die Potenzmengen-Konstruktion. Sie müssen nicht alle neu eingefügten Transitionen einzeichnen, sondern können diese auf eine andere Art geeignet beschreiben. Begründen Sie beispielhaft für eine zusätzlich eingefügte Transition, warum sie der Definition in der Vorlesung entspricht. (3 Punkte) Übungsblatt 4 Seite 2 Übungen zur GTI Aufgabe 4.3 [Automaten-Synthese] 4 Punkte Gegeben seien die folgenden Automaten A und B. Entscheiden Sie, ob sie äquivalent sind. Konstruieren Sie dazu einen geeigneten Produktautomaten. b B: b A a a B C a b A: 1 a, b b 2 a b 3 a Aufgabe 4.4 [ω-Automaten] 0 Punkte In der Vorlesung wurde bereits erwähnt, dass in der Praxis auch Automaten für Sprachen unendlich langer Wörter benötigt werden. In dieser Aufgabe werden wir uns ein solches Automatenmodell anschauen. Ein ω-Wort über einem Alphabet Σ ist eine unendliche Folge σ1 σ2 σ3 . . . von Zeichen, so dass für jedes i P N gilt σi P Σ. Mit Σω bezeichnen wir die Menge aller ω-Wörter über Σ. Eine ω-Sprache ist eine Teilmenge von Σω . Die Syntax eines ω-Automaten A “ pQ, Σ, δ, s, F q ist formal genau wie die Syntax von NFAs definiert: • Q ist eine Menge von Zuständen • Σ ist ein Eingabealphabet • δ Ď Q ˆ Σ ˆ Q ist die Transitionsrelation • s P Q ist der Startzustand • F Ď Q ist die Menge der akzeptierenden Zustände Übungsblatt 4 Übungen zur GTI Seite 3 Für die Definition der Semantik eines ω-Automaten passen wir den Begriff des Laufs an. Ein Lauf eines σ σ σ σ ω-Automaten A “ pQ, Σ, δ, s, F q ist eine unendliche Folge der Art q0 Ñ1 q1 Ñ2 q2 Ñ3 q3 Ñ4 ¨ ¨ ¨ , so dass das Folgende gilt: • für alle i P N0 gilt qi P Q • q0 “ s, der Lauf beginnt also im Startzustand • für alle i P N gilt σi P Σ • für alle i P N gilt pqi´1 , σi , qi q P δ σ σ σ σ Wir sagen, dass ein Lauf ρ “ q0 Ñ1 q1 Ñ2 q2 Ñ3 q3 Ñ4 ¨ ¨ ¨ in q0 startet und das ω-Wort σ1 σ2 σ3 σ4 ¨ ¨ ¨ liest. Der Akzeptanzbegriff wird nun anders als bei NFAs definiert: Der Lauf ρ ist akzeptierend, falls mindestens ein akzeptierender Zustand q P F unendlich oft in ρ vorkommt. Der ω-Automat akzeptiert ein ω-Wort w, wenn es einen akzeptierenden Lauf gibt, der w liest. Der ω-Automat 1 q0 q1 0 0 1 akzeptiert beispielsweise genau die ω-Wörter, die unendlich viele Einsen enthalten. a) Geben Sie einen ω-Automaten an, der die ω-Sprache L “ tw “ σ1 σ2 σ3 ¨ ¨ ¨ P ta, b, cuω | für alle i P N gilt: wenn σi “ a, dann gibt es ein j ą i mit σj “ bu entscheidet, also die ω-Sprache der ω-Wörter, in denen auf jedes a irgendwann ein b folgt. Begründen Sie, warum Ihr ω-Automat genau diese Sprache entscheidet. b) Seien für die ω-Sprachen L1 und L2 jeweils ω-Automaten A1 und A2 gegeben, die diese Sprachen entscheiden. Skizzieren Sie die Konstruktion eines ω-Automaten für die Sprache L1 X L2 . Zusatzaufgabe [Abschlusseigenschaften regulärer Sprachen] Für eine Sprache L Ď Σ˚ sei die Sprache CYCLE(L) wie folgt definiert: CYCLE(Lq “ tx2 x1 | x1 , x2 P Σ˚ : x1 x2 P Lu Für L “ tabcu ist CYCLE(L) beispielsweise tabc, bca, cabu. Zeigen Sie: Für jede reguläre Sprache L ist auch CYCLE(L) regulär. Hinweis: Konstruieren Sie aus einem deterministischen endlichen Automaten für L einen ǫ-NEA für CYCLE(L).
© Copyright 2024 ExpyDoc