Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
73<br />
Man beachte, dass der Automat nicht deterministisch ist. (Man kann aber einen<br />
deterministischen Automaten konstruieren, der die gleiche Sprache erkennt, wie<br />
wir gesehen haben.)<br />
Es gibt eine eins-zu-eins Abbildung zwischen Ableitungen und Läufen des<br />
Automaten. Die Ableitung beginnt mit dem StartsymbolS, der Lauf mit dem<br />
Startzustand, und dieser ist auchS. Im nächsten Schritt wählen wir eine Regel<br />
aus (etwaS→aT), mittels derer wir die neue Zeichenkette erhalten, hier/aT/.<br />
Für den Automaten heißt dies, der Lauf wird um das Symbol/a/ und den neuen<br />
ZustandTverlängert. Anschließend ersetzen wir/T/ durch/bS/, und analog verlängern<br />
wir den Lauf um/b/ gefolgt von/S/. Und so machen wir weiter. Am Ende,<br />
wenn wir/T/ durch/b/ ersetzen, verlängern wir den Lauf um/b/ gefolgt von/E/.<br />
Der Lauf, der zu (155) korrespondiert, ist hier wiedergegeben:<br />
(167) 〈S,a,T,b,S,a,T,b,S,a,T,b,E〉<br />
Nun sei ein Lauf des Automaten gegeben. Dieser hat die Form〈i, a 0 , q 0 , a 1 , q 1 ,···〉.<br />
Nach Konstruktion des Automaten ist dann i=S , das Startsymbol, und die q i gewisse<br />
Nichtterminale B i . Wir formen daraus diese Ableitung:<br />
(168) 〈S, a 0 B 0 , a 0 a 1 B 1 , a 0 a 1 a 2 B 2 ,···〉<br />
Ist der Lauf akzeptierend, so endet er inE, und dann erhalten wir diese Ableitung:<br />
(169) 〈S, a 0 B 0 , a 0 a 1 B 1 , a 0 a 1 a 2 B 2 ,···, a 0 a 1··· a n−1 〉<br />
Wenn wir dieses Rezept auf (167) anwenden, erhalten wir (155) zurück.<br />
Nun seiA=〈A, Q, i, F,δ〉 ein endlicher Automat. Dann setzen wir N := Q<br />
(die Nichtterminalsymbole der Grammatik sind die Zustände des Automaten), das<br />
Startsymbol ist i, und wir haben folgende Regeln:<br />
(170) R :={q→ε:q∈F}∪{q→aq ′ :δ(q, a, q ′ )}<br />
Ein Lauf des Automaten lässt sich wie oben eins-zu-eins in eine Ableitung der<br />
zugehörigen Grammatik übersetzen.<br />
Wir bezeichnen den zu der Grammatik G konstruierten Automaten mit A(G),<br />
und den zu dem AutomatenAkonstruierte Grammatik mitΓ(A).<br />
Satz 12.4 Für eine beliebe reguläre Grammatik ist L(Γ(A(G)))=L(G); für einen<br />
endlichen AutomatenAist L(A(Γ(A)))=L(A). Daraus folgt unmittelbar, dass die<br />
Klasse der durch reguläre Grammatiken erzeugten Sprachen genau die Klasse der<br />
regulären Sprachen ist.