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