Übung zur Vorlesung Theoretische Informatik I Prof. Dr. Christoph Kreitz / Holger Arnold Universität Potsdam, Theoretische Informatik, Wintersemester 2004 Blatt 3 — Abgabetermin: 05.11.2004, 10:00 Uhr Quiz 3 Markieren Sie die folgenden Aussagen als wahr (w) oder falsch (f). [ ] Es gibt Sprachen, die von einem NEA, aber von keinem DEA akzeptiert werden. [ ] Ein NEA akzeptiert das Wort w genau dann, wenn die Symbole von w den Automaten vom Startzustand nur in akzeptierende Zustände überführen. [ ] Für jeden NEA mit n Zuständen gibt es einen äquivalenten DEA mit höchstens 2n Zuständen, der die gleiche Sprache akzeptiert. [ ] Sei A = (Q, Σ, δ, q0 , F ) ein NEA. Dann muss δ(qi , a) für alle qi ∈ Q und alle a ∈ Σ mindestens einen Zustand aus Q enthalten. [ ] Sei A = (Q, Σ, δ, q0 , F ) ein NEA. Das Wort w ∈ Σ∗ wird genau dann von A akzeptiert, wenn δ̂(q0 , w) ∩ F 6= ∅. [ ] Die Überführungsfunktion eines NEA ist total. [ ] Die ε-Hülle eines Zustands q enthält q und alle Zustände, die sich von q aus mit einer beliebigen Anzahl von ε-Übergängen erreichen lassen. [ ] Mit dem Schubfachprinzip lässt sich beweisen, dass es mehr ganze Zahlen als natürliche Zahlen gibt. Aufgabe 3.1 Geben Sie NEAs an, die folgende Sprachen akzeptieren. Nutzen Sie den Nichtdeterminismus, um die Anzahl der Zustände möglichst klein zu halten. 1. {w ∈ {0, 1}∗ | ∃s, u, v ∈ {0, 1}∗ , w = s 110 u 010 v}. 2. {w ∈ {0, 1}∗ | ∃u, v ∈ {0, 1}∗ , w = u 110 v oder w = u 010 v}. 3. {w ∈ {a, . . . , z}∗ | w = if oder w = then oder w = else}. Aufgabe 3.2 Geben Sie einen NEA an, der die Sprache {w ∈ {0}∗ | w = 0k , k = 2n oder k = 3n für ein n ∈ N} erkennt. Konstruieren Sie aus dem NEA einen äquivalenten DEA. Verwenden Sie die optimierte (iterative) Teilmengenkonstruktion. Wie viele Zustände hätte Ihr DEA, wenn Sie alle Teilmengen der Zustände des NEA gebildet hätten? 1 Aufgabe 3.3 Seien A1 = (Q1 , Σ1 , δ1 , q01 , F1 ) und A2 = (Q2 , Σ2 , δ2 , q02 , F2 ) zwei ε-NEAs, welche die Sprachen S1 bzw. S2 akzeptieren. Konstruieren Sie einen ε-NEA A = (Q, Σ, δ, q0 , F ), der die Sprache S = {uv | u ∈ S1 , v ∈ S2 } akzeptiert. Was bedeutet die Tatsache, dass Sie für beliebige Automaten A1 und A2 immer einen solchen Automaten A konstruieren können, für die Klasse der regulären Sprachen? Aufgabe 3.4 Sei Lbc die Sprache, die alle Wörter w aus {a, b, c}∗ enthält, die mindestens die Länge 1 besitzen, und deren letzte min{|w|, 4} Zeichen mindestens ein b oder ein c enthalten. Geben Sie einen ε-NEA mit höchstens fünf Zuständen an, der die Sprache Lbc akzeptiert. Konstruieren Sie aus dem ε-NEA einen äquivalenten DEA. Hausaufgabe 3.5 Geben Sie einen NEA an, der die Sprache {w ∈ {0, 1, 2}∗ | ∃v ∈ {0, 1, 2}∗ , w = v012 oder w = v12 oder w = v20} akzeptiert. Konstruieren Sie aus dem NEA einen äquivalenten DEA. Hausaufgabe 3.6 In der Vorlesung wurde gezeigt, wie für jeden NEA ein äquivalenter DEA konstruiert werden kann. Beweisen Sie nun die Umkehrung: Wenn AD = (Q, Σ, δD , q0 , F ) ein DEA ist, dann kann ein äquivalenter NEA AN = (Q, Σ, δN , q0 , F ) konstruiert werden mit δN (q, a) = {δD (q, a)}. Zeigen Sie, dass für jedes Wort w ∈ Σ∗ gilt: δ̂N (q0 , w) = {p} genau dann, wenn δ̂D (q0 , w) = p. Verwenden Sie dabei strukturelle Induktion über w. Hausaufgabe 3.7 Seien A1 = (Q1 , Σ1 , δ1 , q01 , F1 ) und A2 = (Q2 , Σ2 , δ2 , q02 , F2 ) zwei ε-NEAs, welche die Sprachen S1 bzw. S2 akzeptieren. Konstruieren Sie einen ε-NEA A = (Q, Σ, δ, q0 , F ), der die Sprache S = S1 ∪ S2 akzeptiert. Was bedeutet die Tatsache, dass Sie für beliebige Automaten A1 und A2 immer einen solchen Automaten A konstruieren können, für die Klasse der regulären Sprachen? 2