5 Eigenschaften regulärer Sprachen 51: Die Nerode-Relation Theoretische Informatik Mitschrift Definition 51: Sei L * L * * mit L :={u, v * * w *:uw L v w L }heißt Nerode-Relation von L Sei ={0,1}, L= *{00} Es gilt: u L v w *: u w * {00} v w *{00} Alle Wörter, die auf 1 enden, stehen in der Relation i Alle Wörter in L stehen in Relation i Alle Wörter, die auf 0, aber nicht auf 00 enden, stehen in der Relation i Korrolar (Eigenschaften von ρ L ): (i) ρ L ist eine Äquivalenzrelation, das heißt reflexiv, symmetrisch, transitiv Für u * sei [u]:={v * u L v} u ist Repräsentant von [u] Einteilung von Σ* in Äquivalenzklassen (ii) ρ L ist rechtsinvariant, das heißt für alle u, v * gilt: u L v x * ux L vx Annahme, es gibt ein x * mit ux,vx L Sei w * mit uxw L vxw L Dann ist xw * Widerspruch zu u,v L qed (iii)l ist Vereinigung von Äquivalenzklassen von ρ L, denn falls u L v folgt mit w=: u L v L, dh für u L ist [u] L L= [u] u L Zum Sei ={0,1}, L= *{00} u L v [ w *:uw *{00 } vw *{00}] 3 Äquivalenzklassen: *=[] [0] [00] - [1] = [ε] (alle Wörter, die mit 1 enden) - [0] = [10] = [0010] (alle Wörter, die auf 0, aber nicht 00 enden) - [00] = L (alle Wörter, die mit 00 enden) Satz 51 (Myhill, Nerode): L L,DFA Index L, dh L erzeugt nur endlich viele Äquivalenzklassen in * " ": Sei = Q,,,, F DFA mit L =L Definiere * * durch u,v *:u v:,u=,v Zeige: L, dh ist Verfeinerung von L und bildet damit mehr Äquivalenzklassen als L Seien u,v * mit u v, dh,u=,v Sei w * Dann gilt: uw L,uw F vw L = L Also: u L v =, u, w=, v
Also folgt: Index L Index =Anzahl der von erreichbaren Zustände Q qed " ": Sei L * mit Index L k Seien x 1,,x k * Repräsentanten der k Äquivalenzklassen, dh *= [ xi ] i=1 Definieren den Äquivalenzklassenautomaten L = Q,,,, F DFA durch Q :={[ x 1 ],,[ x k ]} :=[] :Q * Q [ x],a :=[ xa] für alle [ x] Q,a ist wohldefiniert, weil L rechtsinvariant ist F :={[ x] [ x] L} Also gilt für alle w *: [], w=[w] Es folgt: w L [w] L [w ] F [],w F w L qed Zum Äquivalenzklassenautomat zu Σ*{00} [ε] Korrolar: Der Äquivalenzklassenautomat A L einer Sprache L L,DFA ist zustandsminimal Für DFA mit L=L gilt nach obigem Beweis L = L, dh Anzahl der Zustände von Index L = Index qed =Anzahl der Zustände von Anwendung des Satzes von Myhill-Nerode: Bestimmung des Minimalautomaten zu einer Sprache Sei ={a, b} Betrachte L={a n b n n 1}: L hat keinen endlichen Index, denn die unendlich vielen Wörter a i äquivalent: i j a i b i L, aber a j b i L (i 1 ) sind paarweise nicht Also a i, a j L Also ist L nicht mit einem DFA erkennbar 2 Anwendung des Satzes von Myhill-Nerode: Nachweis der Nichtregularität von Sprachen
52: Minimierung endlicher Automaten Bestimmung des Minimalautomaten aus einem beliebigen DFA (a) Elimination nicht erreichbarer Zustände (b) Zusammenfassung äquivalenter Zustände eines DFAs Definition 52: Sei = Q,,,,F DFA Dann heißen q,q' Q äquivalent, q~q ' bzw q~ q', falls für alle w * gilt: q, w F q',w F qed Korrolar: (a) Sei q = Q,,,q,F Dann gilt: q~q' L q =L q ' (b) ~ ist eine Äquivalenzrelation über Q [q]:={q ' Q q~ q ' } (c) ~ ist mit der Transitionsfunktion :Q Q in folgendem Sinne verträglich: q ~ q ' a :q, a ~ q', a Denn angenommen, es existiert ein a mit q,a~ q',a, dh es existiert ein w * mit q,a,w F q',a,w F =q, aw im Widerspruch zu q ~ q ' qed = q',aw Damit macht es Sinn, folgenden Automaten zu konstruieren: Korrolar: /~ := Q,,,, F mit Q :={[q] q Q} :=[ ] [q],a:=[q,a](wohldefiniert wegen (c)) F :={[q] q F } ist äquivalent zu w L,w F [,w] F w L /~ qed = [ ], w Definition 53 (reduzierter Automat): Zu einem DFA A ist der reduzierte Automat A red gegeben durch (A 0 ) / ~ Äquivalenz von Zuständen q~q' : w *: q,w F q',w F Faktorautomat: / ~ = Q,,,, F mit Q :={[q] q Q} :=[ ] F :={[q] q F } [q],a:=[ q,a]
Reduzierter Automat: = 0 /~ Es gilt: = L (Beweis in den Übungen) Problem: Bestimmung der äquivalenten Zustände eines DFAs Zeige, dass bei der Bestimmung von ~ eine Beschränkung auf Wörter der Länge ist Q möglich Definition 54 (k-äquivalenz, Überdeckungsmatrizen): Sei = Q,,,,F DFA Jeder Zustand von sei erreichbar Seien k N,q 1, Q q 1 heißt k -äquivalent zu, in Zeichen: q 1 ~ k, falls gilt: w *, w k : q 1,w F,w F induziert für k N Abbildungen r k :Q Q {0,1} mit r k q 1, =0: q 1 ~ k r k kann als (obere) Dreiecksmatrix R=r k q i,q j 0 i j n= Q 1 dargestellt werden: die Überdeckungsmatrix von der Ordnung k Korollar (induktive Berechnung von ~ k : (i) q 1 ~ 0 q 1, F, F [q 1 F F ] =q 1 = (ii) q 1 ~ k1 [q 1 ~ k a :q 1,a~ k,a] reduzierter Automat: R 0 q 1 q 3 q 4 0 0 0 1 q 1 0 0 1 0 1 q 3 1 R 1 q 1 q 3 q 4 1 0 1 1 q 1 1 0 1 1 1 q 3 1 R 2 q 1 q 3 q 4 1 0 1 1 q 1 1 0 1 1 1 q 3 1 R 1 =R 2 R k1 =R k k 0 ~ k q 1 ~ k q 3 k 0 ~ q 1 ~q 3 Lemma: k N n N R k = R kn
Da r k q i,q j =1 r k1 q i,q j =1 existiert ein k mit R k =R k1 Zeige: R k =R k 2 ( R k =R k n für alle n) Sei q 1 ~ k q Rk =R 2 k1 q 1 ~ k q Korollar 2 q 1 ~ k a :q 1,a~ k,a R k = R k1 q k 1 ~ 1 a : q 1,a k1 ~,a Korollar q k2 1 ~ qed Korollar: Wenn R k = R k + n für alle n 0, so lassen sich äquivalente Zustände feststellen: q 1 ~ r k q 1, =0 53: Das Pumping-Lemma Hilfsmittel zum Nachweis, dass eine Sprache nicht regulär ist Satz 52 (Pumping Lemma): Sei L L,DFA Dann gibt es eine Zahl n N, so dass sich alle Wörter z L mit z n zerlegen lassen in z=uvw und folgende Eigenschaften gelten: (a) v 1 ( v ) (b) uv n (c) für alle i 0 gilt: uv i w L Sei = Q,,,, F DFA mit L=L Setze n := Q Sei z L mit z n, also z=a 1 a m mit m n Beim Abarbeiten von z durchläuft m1 Zustände:, a 1 a m q 1,a 2 a m,a 3 a m q m, Da m n muss mindestens ein Zustand doppelt vorkommen, also q i =q j für 0 i j m Wir wählen i, j minimal, betrachten also die erste Zustandswiederholung ai am u = a 1 a i w = a j + 1 a m v = a i+1 a j aj-1 Dies impliziert die folgende Zerlegung von z: u = a 1 a i v = a i + 1 a j w = a j + 1 a m
Es gilt: (a) v = j i0, da ji (b) uv = j n (c) Der Automat kann die Zustandsfolge q i q j gar nicht oder mehrfach durchlaufen und dabei v gar nicht oder mehrfach zwischen u und w erkennen, dh i 0:uv i w L = L Logische Struktur des Lemmas: L L,DFA n N z L, z n u,v,w *z=uvw (a) (b) (c) Die Pumping-Lemma-Eigenschaft ist eine notwendige Bedingung für die Regularität einer formalen Sprache Sie kann auch für nicht-reguläre Sprachen gelten L={a i b i i 1} L, DFA Mit dem Pumping Lemma zeigt man dies wie folgt: Annahme, es gelte L L,DFA Dann existiert ein n N, so dass für alle z L, z n eine Zerlegung z = uvw existiert mit v, uv n, i :u v i w L Betrachte speziell z 0 = a n b n, z 0 =2n n Also existiert eine Zerlegung z 0 = u 0 v 0 w 0 = a n b n mit den Eigenschaften (a), (b), (c) Wegen u 0 v 0 n bestehen w 0 und v 0 nur aus as v 0 Dann muss das Wort uw=a n v 0 b n in der Sprache sein, im Widerspruch zur Definition von L Das heißt, die Annahme L L,DFA ist falsch Für L={ z z=1 k für k 0 oder kann mit dem Pumping Lemma nicht gezeigt werden, z=0 j 1 k 2 für j 1 und k 0} dass L L,DFA, wohl aber mit dem Satz von Myhill/Nerode Übung Entscheidbarkeitsverfahren für Typ-3-Sprachen Wortproblem: Gegeben L L 3,w * Ist w L? Bei gegebenem DFA in Linearzeit lösbar Leerheitsproblem: Gegeben L L 3 Ist L=? Zurückführung auf das Wortproblem: Sei = Q,,,,F DFA mit L=L und n:= Q Zeige: (*) L w *, w n:w L Teste zur Entscheidung des Leerheitsproblems alle Wörter der Länge < n auf Mitgliedschaft in L Beweis von (*): : trivial : Sei L Sei w L mit minimaler Länge Annahme: w n Bei der Erkennung von w wird ein Zustand, etwa q, doppelt durchlaufen:,w * q, vz *q, z *q, mit q F Dann folgt w=uvz mit v und uz wird von akzeptiert, aber uz w Widerspruch zu w minimaler Länge qed Endlichkeitsproblem: Gegeben L L 3 Ist L? ebenfalls Zurückführung auf das Wortproblem Zeige: (**) L = w L :n w 2 n ( Übung)
Äquivalenzproblem: Gegeben L 1, L 2 L 3 Ist L 1 =L 2? Methode 1: Zurückführung auf das Leerheitsproblem: L 1 = L 2 L 1 * L 2 L 2 * L 1 = L 3, weil Abschluss unter Vereinigung, Schnitt und Komplement vorliegt Methode 2: Konstruktion von DFAs A 1 und A 2, Minimierung, Test auf Strukturgleichheit