Blatt 3 - Professur für Theoretische Informatik

Werbung
Theoretische Informatik 2
Sommersemester 2016
Noleen Köhler
Georg Schnitger
Hannes Seiwert
Institut für Informatik
AG Theoretische Informatik
Ausgabe: 02.05.16
Abgabe: 09.05.16
Übung 3
Vier „Extrapunkte“ können in Aufgabe 3.3 d) erzielt werden: Extrapunkte zählen nicht in der
Bestimmung der Gesamtpunktzahl.
Aufgabe 3.1. Abschlusseigenschaften
(2+4 Punkte)
a) Seien R, S ⊆ Σ∗ Sprachen. Wir definieren die Quotientensprache
R/S := { u ∈ Σ∗ : es gibt v ∈ S, so dass uv ∈ R }.
Zeigen Sie, dass R/S regulär ist, wenn R regulär ist. (Die Sprache S ist mglw. nicht regulär!)
b) Seien Σ und ∆ Alphabete. Eine Funktion h : Σ∗ → ∆∗ heißt Homomorphismus, falls h(ε) = ε
und h jedem Buchstaben a ∈ Σ ein Wort h(a) ∈ ∆∗ zuweist, sodass h(x) = h(a1 ) · · · h(an ) für
jedes Wort x = a1 · · · an ∈ Σn gilt.
Zeigen Sie: Wenn L ⊆ Σ∗ eine reguläre Sprache und h : Σ∗ → ∆∗ ein Homomorphismus ist,
dann ist auch
h(L) := { h(w) : w ∈ L } ⊆ ∆∗
eine reguläre Sprache.
Hinweis: Beschreiben Sie einen NFA für h(L).
Aufgabe 3.2. Nicht-reguläre Sprachen
(4+4 Punkte)
a) Wenden Sie in den nächsten beiden Teilaufgaben entweder den Satz von Myhill-Nerode oder
das Pumping-Lemma an. Zeigen Sie:
i) Die Sprache L1 = {a, b}∗ ∪ {ck an bn : k, n ∈ N} ist nicht regulär.
ii) Die Sprache L2 = {1n : n ist das Produkt von zwei Primzahlen } ist nicht regulär.
b) Die Klasse der regulären Sprachen ist unter anderem abgeschlossen unter Komplement, Vereinigung, Durchschnitt, Konkatenation, Stern-Operation, Homomorphismen, inversen Homomorphismen und Quotientenbildung. Wir möchten mit Hilfe dieser Abschlusseigenschaften zeigen,
dass eine vorgegebene Sprache L nicht regulär ist. Dazu dürfen wir allerdings nur ausnutzen,
dass die Sprache K := { an bn : n ∈ N } nicht regulär ist.
Um beispielsweise zu zeigen, dass die Sprache L = { w ∈ {a, b}∗ : |w|a = |w|b } nicht regulär
ist, führen wir einen indirekten Beweis und nehmen an, dass L doch regulär ist. Dann ist auch
K = L ∩ ({a}∗ · {b}∗ ) als Durchschnitt der beiden regulären Sprachen L und {a}∗ · {b}∗ regulär:
Widerspruch.
Zeigen Sie mit Hilfe der Abschlusseigenschaften regulärer Sprachen: Die Sprache D aller wohlgeformten Klammerausdrücke zu dem Klammerpaar ( , ) ist nicht regulär.
1
Aufgabe 3.3. Alternierende endliche Automaten
(2+4+4+4 Punkte)
Seien Q∃ und Q∀ disjunkte, endliche Mengen von Zuständen. Wir führen alternierende endliche
Automaten (AFAs) als Verallgemeinerung von NFAs ein.
Definition: Ein AFA wird durch ein Tupel A = (Q∃ , Q∀ , Σ, δ, q0 , F ) beschrieben. Sei Q := Q∃ ∪ Q∀ .
Die Zustandsübergangsfunktion δ hat die Form
δ : Q × Σ → P(Q).
Für einen beliebigen Zustand q ∈ Q geben wir eine rekursive Definition der Sprache L(A)q aller
Worte an, die A mit q als Anfangszustand akzeptiert.
Basisregel : ε ∈ L(A)q gilt genau dann, wenn q ∈ F .
Rekursive Regeln: Für jeden Buchstaben a ∈ Σ und jedes Wort w ∈ Σ∗ gilt
(
S
w ∈ p∈δ(q,a) L(A)p falls q ∈ Q∃ ,
T
aw ∈ L(A)q :⇐⇒
w ∈ p∈δ(q,a) L(A)p falls q ∈ Q∀ .
In Worten: In einem „existentiellen“ Zustand q ∈ Q∃ wird aw akzeptiert, wenn w in mindestens
einem Nachfolgezustand p akzeptiert wird. In einem „universellen“ Zustand q ∈ Q∀ hingegen wird
aw genau dann akzeptiert, wenn w in allen Nachfolgezuständen akzeptiert wird.
Wir definieren L(A) := L(A)q0 als die von A akzeptierte Sprache. Im Folgenden wollen wir untersuchen, wie mächtig AFAs sind.
a) Sei N = (Q, Σ, δ, q0 , F ) ein NFA. Definieren Sie die einzelnen Komponenten eines AFAs A so,
dass L(A) = L(N ) gilt.
b) Entwerfen Sie einen AFA A mit O(k) Zuständen, der die Sprache
EQk = { xy : x, y ∈ {0, 1}k und x = y }
akzeptiert. (Auf Blatt 2 haben wir gesehen, dass NFAs mindestens 2k Zustände benötigen, um
EQk zu akzeptieren.)
c) Alice und Bob spielen das ZZ-Spiel – das Zweizeilen-Spiel – auf der Knotenmenge V = {0, 1}×N.
Sei Σ die Menge aller bipartiten Graphen mit den „linken“ Knoten (0, links), (1, links) und den
„rechten“ Knoten (0, rechts), (1, rechts). Ein Wort w = w1 · · · wn ∈ Σn definiert die Kantenmenge Ew : Für b, c ∈ {0, 1} wird der Knoten (b, i − 1) aus V genau dann mit dem Knoten (c, i) aus
V durch eine Kante verbunden, wenn der Knoten (b, links) mit dem Knoten (c, rechts) durch
eine Kante in dem durch wi bezeichneten bipartiten Graphen verbunden ist.
Mit der Menge Ew kennen wir das Spielbrett. Wie sehen die Spielregeln aus? Anfänglich befindet
sich genau ein Steinchen auf dem Brett und zwar in Position (0, 0). Alice beginnt und danach
alternieren beide Spieler. Der ziehende Spieler muss das Steinchen über eine der eingesetzten
Kanten zu einem Knoten der nächsten Spalte ziehen; ist das nicht möglich, wird das Spiel
beendet. Wer hat gewonnen? Spätestens nach |w| Zügen wird das Spiel abgebrochen. Liegt das
Steinchen nach Spielende in Zeile 0, hat Alice und ansonsten Bob gewonnen.
Beschreiben Sie einen AFA A = (Q∃ , Q∀ , Σ, δ, q0 , F ), der ein Wort w ∈ Σ∗ genau dann akzeptiert, wenn Alice eine Gewinnstrategie für das von w definierte Spielbrett besitzt. Geben Sie
eine anschauliche Begründung, warum Ihre Konstruktion funktioniert.
d) Sei A = (Q∃ , Q∀ , Σ, δ, q0 , F ) ein AFA. Zeigen Sie: Die Sprache L(A) ist regulär. Geben Sie eine
anschauliche Begründung Ihrer Konstruktion.
Hinweis: Konstruieren Sie einen NFA N = (Q∗ , Σ, δ ∗ , q0∗ , F ∗ ), der A simuliert, d.h. für den
L(N ) = L(A) gilt. Wählen Sie die Zustandsmenge Q∗ := P(Q).
2
Herunterladen