29.01.2014 Aufrufe

1. Teil: Formale Sprachen und Automatentheorie - Faculty of ...

1. Teil: Formale Sprachen und Automatentheorie - Faculty of ...

1. Teil: Formale Sprachen und Automatentheorie - Faculty of ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!