Theoretische Informatik I

Werbung
Ü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
Herunterladen