1. Teil: Formale Sprachen und Automatentheorie - Faculty of ...
1. Teil: Formale Sprachen und Automatentheorie - Faculty of ...
1. Teil: Formale Sprachen und Automatentheorie - Faculty of ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Soweit zur Konstruktion regulärer Grammatiken für gegebenen endlichen Automaten. Umgekehrt<br />
können reguläre Grammatiken in NFA (<strong>und</strong> mit der Potenzmengenkonstruktion in DFA)<br />
überführt werden. Die Gr<strong>und</strong>idee ist auch hier wieder eine Korrespondenz zwischen Übergängen<br />
q−→p a im NFA <strong>und</strong> den Regeln q → ap der Grammatik herzustellen.<br />
Lemma 2.17 (Reguläre Grammatik NFA). Zu jeder regulären Grammatik G gibt es einen<br />
NFA M mit L(G)=L(M).<br />
Beweis. Sei G =(V,Σ,P,S) eine reguläre Grammatik. Wir definieren nun einen NFA<br />
M =(Q,Σ,δ,Q def<br />
0 ,F),<br />
der genau die Wörter der von G erzeugten Sprache akzeptiert. Die Zustandsmenge von M ist<br />
Q = def<br />
V ∪ {q F }, wobei q F /∈ V.<br />
def<br />
Die Anfangszustandsmenge besteht aus dem Startsymbol von G, also Q 0 = {S}. Die Endzustandsmenge<br />
enthält den Spezialzustand q F sowie alle Variablen A, aus denen das leere Wort<br />
herleitbar ist:<br />
F = { } { }<br />
def<br />
q F ∪ A ∈ V : A → ε<br />
Die Übergangsfunktion δ ist durch folgende beiden “Axiome” gegeben:<br />
B ∈ δ(A,a) gdw A → aB<br />
q F ∈ δ(A,a) gdw A → a<br />
Dabei sind A, B ∈ V <strong>und</strong> a ∈ Σ. Weiter ist δ(q F ,a) = def<br />
∅ für alle a ∈ Σ.<br />
Wir zeigen nun die Korrektheit der angegebenen Konstruktion. Hierzu ist L(M)=L(G) nachzuweisen.<br />
Zunächst stellen wir fest, dass das leere Wort entweder zu beiden <strong>Sprachen</strong> L(M)<br />
<strong>und</strong> L(G) oder zu keiner der beiden <strong>Sprachen</strong> gehört:<br />
ε ∈ L(G) gdw S → ε gdw S ∈ F gdw ε ∈ L(M).<br />
Sei nun w = a 1 a 2 ...a n ∈ Σ + . Zu zeigen ist, dass w genau dann in L(M) liegt, wenn w eine<br />
Herleitung in G besitzt.<br />
Wir nehmen zunächst an, dass w ∈ L(G). Das Startsymbol ist per Definition der einzige Anfangszustand,<br />
also Q 0 = {S}. Da G eine reguläre Grammatik ist, gibt es zwei Arten von Ableitungen<br />
für das Wort w.<br />
<strong>1.</strong> Fall: Sei<br />
S ⇒ a 1 B 1 ⇒ a 1 a 2 B 2 ⇒ ∗ a 1 a 2 ...a n−1 B n−1 ⇒ a 1 a 2 ...a n−1 a n<br />
die Ableitung des Wortes win G. Während die Regeln B i−1 → a i B i bzw. S → a 1 B 1 in G<br />
a<br />
Transitionen B i i−1 −→ Bi bzw. S a 1<br />
−−→B 1 in M für i = 2,...,n − 1 entsprechen, korrespondiert<br />
a<br />
die Regel B n−1 → a n mit der Transition B n n−1 −−→q F . Da q F ein Endzustand ist, bildet die<br />
Zustandsfolge SB 1 B 2 ...B n−1 q F einen akzeptierenden Lauf in M. Damit ist w ∈ L(M).<br />
2. Fall: Nun sei<br />
S ⇒ a 1 B 1 ⇒ a 1 a 2 B 2 ⇒ ∗ a 1 a 2 ...a n−1 B n−1 ⇒ a 1 a 2 ...a n−1 a n B n ⇒ a 1 a 2 ...a n−1 a n<br />
33