31.01.2014 Aufrufe

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

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.

Normalformen und Entscheidungsprobleme<br />

8. Normalformen und Entscheidungsprobleme<br />

Es existieren verschiedene Normalformen für kontextfreie Grammatiken, bei denen die<br />

syntaktische Form der Regeln weiter eingeschränkt wird, ohne dass die Klasse der erzeugten<br />

Sprachen sich ändert. Wir werden insbesondere die Chomsky Normalform kennenlernen<br />

und sie verwenden, um einen effizienten Algorithmus für das Wortproblem für<br />

kontextfreie Sprachen zu entwickeln. Zudem ist jede kontextfreie Grammatik in Chomsky<br />

Normalform auch eine Typ-1 Grammatik, was die noch ausstehende Inklusion L 2 ⊆ L 1<br />

zeigt. Wir werden auch das Leerheitsproblem und das Äquivalenzproblem diskutieren.<br />

Zwei Grammatiken heißen äquivalent, falls sie dieselbe Sprache erzeugen.<br />

Zunächst zeigen wir, wie man „überflüssige“ Symbole aus kontextfreien Grammatiken<br />

eliminieren kann. Das ist zum späteren Herstellen der Chomsky-Normalform nicht unbedingt<br />

notwendig, es ist aber trotzdem ein natürlicher erster Schritt zum Vereinfachen<br />

einer Grammatik.<br />

Definition 8.1 (terminierende, erreichbare Symbole; reduzierte Grammatik)<br />

Es sei G = (N,Σ,P,S) eine kontextfreie Grammatik.<br />

1) A ∈ N heißt terminierend, falls es ein w ∈ Σ ∗ gibt mit A ⊢ ∗ G w.<br />

2) A ∈ N heißt erreichbar, falls es u,v ∈ (Σ∪N) ∗ gibt mit S ⊢ ∗ G uAv.<br />

3) G heißt reduziert, falls alle Elemente von N erreichbar und terminierend sind.<br />

Die folgenden zwei Lemmata bilden die Grundlage zum wandeln einer kontextfreien<br />

Grammatik in eine reduzierte Kontextfreie Grammatik.<br />

Lemma 8.2<br />

Für jede kontextfreie Grammatik G = (N,Σ,P,S) kann man die Menge der terminierenden<br />

Symbole berechnen.<br />

Beweis. Wir definieren dazu<br />

T 1 := {A ∈ N | ∃w ∈ Σ ∗ : A −→ w ∈ P}<br />

T i+1 := T i ∪{A ∈ N | ∃w ∈ (Σ∪T i ) ∗ : A −→ w ∈ P}<br />

Es gilt<br />

T 1 ⊆ T 2 ⊆ ··· ⊆ N.<br />

Da N endlich ist, gibt es ein k mit T k = T k+1 = ⋃ T i .<br />

Behauptung:<br />

T k = {A ∈ N | A ist terminierend}, denn:<br />

„⊆“: Zeige durch Induktion über i: alle Elemente von T i , i ≥ 1, terminierend:<br />

i≥1<br />

61

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!