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.

71<br />

Die Ableitung von/Hund/ (analog zu (157)) sieht jetzt so aus:<br />

(159) ,H,Hu,Hun,Hund<br />

Mittels der Zahlen zählen wir einfach, wie viele Symbole bereits ausgegeben wurden.<br />

Damit ist wiederum klar, wie wir eine reguläre (!) Grammatik schreiben, die<br />

ein festes Wort ausgibt und sonst nichts.<br />

Es ist kein Zufall, dass es immer nur ein einziges Nichtterminalsymbol in den<br />

Zeichenketten gibt und dieses am rechten Rand auftritt.<br />

Proposition 12.2 Es sei G eine reguläre Grammatik und⃗x∈(A∪N) ∗ ein Wort<br />

mit⊢ G ⃗x. Dann ist⃗x∈A ∗ ∪ A ∗·N. Das heißt,⃗x hat die Form a 0 a 1···a n−1 oder<br />

a 0 a 1···a n−1 B, wo die a i terminale Buchstaben sind und B ein Nichtterminalzeichen.<br />

Dies kann man sich leicht selbst überlegen; dazu bedienen wir uns der Induktion<br />

über die Länge der Ableitung. Ist diese 0, so haben wir nur das Anfangswort, und<br />

dieses besteht aus dem Startsymbol. Dies erfüllt offensichtlich die Behauptung.<br />

Nun habe die Ableitung die Länge n+1 und die Behauptung sei schon für alle<br />

Ableitungen der Länge≤ n gezeigt. Dann ist das Ende der Ableitung wie folgt:<br />

〈···,⃗xB, ?〉. Die letzte Zeichenkette wird durch Ersetzung von B erzeugt. Dabei<br />

gibt es zwei Fälle. (a) Wir nehmen eine Regel der Form B→a oder B→ε. Dann<br />

erhalten wir das Wort⃗xa bzw.⃗x. (b) Wir nehmen eine Regel der Form B→aC,<br />

dann erhalten wir ein Wort der Form⃗xaC. In beiden Fällen gilt die Behauptung.<br />

Ich weise darauf hin, dass in dem Beweis wesentlich verwendet wurde, dass⃗x<br />

aus S abgeleitet wurde. Nehmen wir zum Beispiel die obige Grammatik. Dann gilt<br />

TabS⊢ G TabaT, undTabaT hat nicht die versprochene Form (und kann deswegen<br />

nicht aus dem Startsymbol hergeleitet werden). Allerdings hat auch schonSabT<br />

nicht diese Form, und wenn man den Beweis genau anschaut, sieht man, dass<br />

immer wenn⃗x die gewünschte Form hat und⃗x⊢ G ⃗y, dann ist auch⃗y von dieser<br />

Form.<br />

Die Äquivalenz zwischen endlichen Automaten und regulären Grammatiken<br />

ist relativ direkt zu sehen. Dazu erst einmal eine wichtige Beobachtung.<br />

Proposition 12.3 Zu jeder regulären Grammatik G existiert eine reguläre Grammatik<br />

G ◦ mit L(G ◦ )=L(G), welche keine Regeln der Form A→abesitzt.<br />

Beweis. Sei G=〈A, N, S, R〉. Sei EN; wir ersetzen jede Regel der Form A→a<br />

durch zwei Regeln, nämlich A→aE und E→ε. Genauer ist<br />

(160)<br />

R ◦ := {A→aE : A→a∈R}<br />

∪ {A→aB : A→aB∈R}<br />

∪ {E→ε}

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!