05.11.2013 Aufrufe

Formale Methoden I - Universität Bielefeld

Formale Methoden I - Universität Bielefeld

Formale Methoden I - Universität Bielefeld

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!