Formale Sprachen und Automatentheorie

Werbung
Hertrampf/Wächter
Sommersemester 2016
Formale Sprachen und Automatentheorie
Aufgabenblatt 3
Abgabe: bis Donnerstag, den 12.05. um 13:10 bei den Abgabekästen im 1. Stock
Besprechung: vom 25. Mai bis zum 03. Juni. Beachten Sie die Ausweichtermine wegen des Feiertags
Hinweis : Bitte beachten Sie, dass MC-Blatt 13 im eClaus nur bis zum 27. Mai um
10:00 Uhr
bearbeitet werden kann, damit es zeitnah in den Ergänzungen besprochen werden kann. Auch
die darauolgenden Blätter können jeweils nur bis um 10:00 Uhr bearbeitet werden.
1.
Pumping-Lemma (nach AuFS-Modulprüfung vom Frühjahr 2016)
Sei
L
(7
Punkte )
die Sprache
L = {an bm | n, m ∈ {0, 1, . . . }, n 6= m}
über dem Alphabet
Σ = {a, b}.
a) In einer Prüfung soll ein Student zeigen, dass
L
nicht regulär ist. Er gibt folgenden
Beweis ab:
Angenommen
L
wäre regulär. Dann gibt es nach dem Pumping-Lemma für
n ≥ 1, für die sich jedes x ∈ L mit |x| ≥ n so
x = uvw zerlegen lässt, dass |uv| ≤ n, |v| ≥ 1 und uv i w ∈ L für alle
i ∈ {0, 1, . . . } gilt. Wähle x = an bn+1 . Es ist x ∈ L und |x| = 2n + 1 ≥ n.
n−1
n+1
2
n−1 2 n+1
Setze u = a
, v = a, w = b
. Es ist uv w = a
ab
= an+1 bn+1 6∈ L,
was einen Widerspruch darstellt. Daher ist L nicht regulär.
reguläre Sprachen eine Zahl
in
Warum ist dieser Beweis falsch?
b) Ein anderer Student erkennt den Fehler im vorigen Beweis und versucht ihn so zu
korrigieren:
Angenommen
L
wäre regulär. Dann gibt es nach dem Pumping-Lemma für
n ≥ 1, für die sich jedes x ∈ L mit |x| ≥ n so
i
in x = uvw zerlegen lässt, dass |uv| ≤ n, |v| ≥ 1 und uv w ∈ L für alle
i ∈ {0, 1, . . . } gilt. Sei x = an bn+k , wobei k die Länge von v in der Zerlegung
x = uvw, die die eben genannten Eigenschaften erfüllt, ist. Diese Zerlegung
muss existieren, da x ∈ L und |x| ≥ n ist. Weil |uv| ≤ n gelten muss, besteht
uv und damit insbesondere auch v nur aus as. Also ist v = ak . Dann ist
uv 2 w = an+k bn+k 6∈ L, was einen Widerspruch darstellt.
reguläre Sprachen eine Zahl
Begründen Sie, warum leider auch dieser Beweis falsch ist.
c) Zeigen Sie mithilfe des Pumping-Lemmas, dass
d) Sei
RL
die Myhill-Nerode-Relation für
dene Klassen von
L
nicht regulär ist.
L. Geben Sie unendlich viele paarweise verschie-
RL an. Dabei genügt es, dass Sie für jede Klasse einen Repräsentanten
angeben. Zeigen Sie die paarweise Inäquivalenz Ihrer Repräsentanten.
2.
Nicht-reguläre Sprache (aus der AuFS-Modulprüfung vom Herbst 2015)
Zeigen Sie, dass die Sprache
L
mit
L = {ci an cbn cj | i, j, n ∈ {0, 1, . . . }}
über dem Alphabet
Σ = {a, b, c}
nicht regulär ist.
(3
Punkte )
3.
Minimierung von Automaten
(5
Punkte )
a) Minimieren Sie folgenden Automaten mit dem Verfahren aus der Vorlesung:
b
q1
q4
a
a
q0
q7
b
b
q3
a
q5
b
a, b
a, b
a
a, b
a
q2
b
q6
Hinweis: Geben Sie auch die Tabelle an, die Sie bei der Minimierung verwendet haben.
b) Sei
L
die von vorigem Automaten erkannte Sprache. Geben Sie für jede Klasse der
Myhill-Nerode-Relation
4.
RL
genau einen Repräsentanten an.
Reihenfolge beim Minimieren
(10
a) In dieser Aufgabe soll folgender deterministischer endlicher Automat
M
Punkte )
minimiert
werden:
q1
a, b
b
q3
q5
b
a
a
q0
a
b
b
q2
a, b
a
q4
q6
a, b
Wir geben jedoch nicht genauso wie in der Vorlesung vor, sondern ändern den Algorithmus ab. Es wird die folgende Tabelle verwendet. Wie bei der Tabelle aus der Vorlesung
gehört jedes Kästchen zu einem Zustandspaar.
q0
q1
q2
q3
q4
q6
q5
q4
q3
q2
q1
q5
0
0
0
0
0
0
Hier wurden alle Paare von Zuständen, bei denen einer ein Endzustand ist, der andere
aber nicht, mit einer
0 markiert. Diese Zustände können nicht zusammengefasst werden.
Das weitere Vorgehen ist etwas anders als das aus der Vorlesung: Im ersten Durchlauf
{qi , qj }
{δ(qi , a), δ(qj , a)} oder im Kästchen für {δ(qi , b), δ(qj , b)} bereits
tragen Sie bei {qi , qj } eine 1 ein.
werden alle leeren Kästchen betrachtet. Gehört ein solches zum Zustandspaar
und ist im Kästchen für
eine
0
eingetragen,
Im zweiten Durchlauf betrachten Sie wieder alle leeren Kästchen. Tragen Sie eine
2
in all die ein, die mindestens ein Nachfolgekästchen haben, das eine
Die Nachfolgekästchen für ein Kästchen das zu
{δ(qi , a), δ(qj , a)}
und für
{δ(qi , b), δ(qj , b)}.
{qi , qj }
1
enthält.
gehört sind die Kästchen für
Iterieren Sie dies, bis keine neuen Zahlen
mehr eingetragen werden.
Die Zustandspaare zu den Kästchen, die am Ende leer bleiben, können Zusammengefasst werden.
b) Geben Sie den Minimalautomaten zu
M
an.
c) Beim Markierungsalgorithmus zur Minimierung aus der Vorlesung werden in die
Tabelle keine Zahlen eingetragen sondern Zustandspaare markiert. Machen Sie sich
klar, dass hierbei die Reihenfolge, in der Sie die Zustandspaare untersuchen, eine Rolle
spielt: Betrachten Sie (in obiger Tabelle) die Zeilen von oben nach unten und dabei
die Spalten von links nach rechts, müssen Sie die Tabelle mehrfach durchgehen.
Betrachten Sie die Zeilen von oben nach unten und dabei die Spalten von rechts nach
links, genügt ein einzelner Durchlauf der Tabelle.
Zeigen Sie: Für jeden Automaten
M = (Q, Σ, δ, q0 , F )
gibt es eine Reihenfolge der
Zustandspaare, bei der jedes Paar (beim Ausführen des Algorithmus aus der Vorlesung)
nur einmal betrachtet werden muss.
Hinweis : Betrachten Sie den Graphen, dessen Knoten alle zwei-elementigen Teilmengen von
Q
enthalten).
{qi , qj } soll es eine Kante nach {δ(qi , a), δ(qj , a)} und
{δ(qi , b), δ(qj , b)} geben (falls diese Mengen tatsächlich zwei Element
sind. Vom Knoten
eine Kante nach
Herunterladen