12.07.2015 Aufrufe

Definition Eine kontextfreie Grammatik G mit ε ∈ L(G) ist in Greibach ...

Definition Eine kontextfreie Grammatik G mit ε ∈ L(G) ist in Greibach ...

Definition Eine kontextfreie Grammatik G mit ε ∈ L(G) ist in Greibach ...

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.

<strong>Def<strong>in</strong>ition</strong><strong>E<strong>in</strong>e</strong> <strong>kontextfreie</strong> <strong>Grammatik</strong> G <strong>mit</strong> ε ∉ L(G) <strong>ist</strong> <strong>in</strong><strong>Greibach</strong> Normalform, falls alle Regeln die folgendeForm haben:A → aB 1 B 2 . . . B k (k ≥ 0)wobei a ∈ Σ und A, B 1 , . . . , B k ∈ V .SatzZu jeder <strong>kontextfreie</strong>n <strong>Grammatik</strong> G <strong>mit</strong> ε ∉ L(G)gibt es e<strong>in</strong>e <strong>Greibach</strong> Normalform <strong>Grammatik</strong> G ′ <strong>mit</strong>L(G) = L(G ′ ).Beweis:Vorüberlegung: Enthält G die A-RegelnA → Aα 1 | . . . | Aα k | β 1 | . . . | β l ,so kann man hier<strong>mit</strong> genau die Wörter <strong>in</strong>( β 1 | . . . | β l )( α 1 | . . . | α k ) ∗herleiten. Hierfür können genau auch die folgendenRegeln verwendet werden, wobei B e<strong>in</strong>e neueVariable <strong>ist</strong>:A → β 1 | . . . | β l | β 1 B | . . . | β l BB → α 1 | . . . | α k | α 1 B | . . . | α k B80


Sei G <strong>in</strong> Chomsky Normalform <strong>mit</strong> V = {A 1 , . . . , A m }.(1.) Regeln modifizieren, sodass (A i → A j α) ∈ Pstets i < j erfüllt:FOR i := 1 TO m DOFOR j := 1 TO i − 1 DOFOR ALL A i → A j α ∈ P DOSeien A j → β 1 | . . . β n alle A j -Regeln.Füge h<strong>in</strong>zu: A i → β 1 α | β n αStreiche: A i → A j αEND;END;IF es gibt Regeln der Form A i → A i α THENwende Vorüberlegung an <strong>mit</strong> neuer Variabler B iENDEND.81


(2.) Jede A m -Regel beg<strong>in</strong>nt auf der rechten Seite<strong>mit</strong> e<strong>in</strong>em Term<strong>in</strong>alzeichen. Wir erzw<strong>in</strong>gen diesnun für alle A i -Regeln,i = m − 1, m − 2, . . . , 1:FOR i := m − 1 DOWNTO 1 DOFOR All (A i → A j α) ∈ P, j > i, DOSeien A j → β 1 | . . . | β n alle A j -Regeln.Füge h<strong>in</strong>zu: A i → β 1 α | . . . | β n αStreiche: A i → A j αENDEND(3.) B i -Regeln modifizieren: B i → A j α:Seien A j → β 1 | . . . | β n alle A j -Regeln.Füge h<strong>in</strong>zu: B i → β 1 α | . . . | β n αStreiche: B i → A j α.✷82


Beispiel:G : A 1 → A 2 A 3 , A 2 → A 3 A 1 | b, A 3 → A 1 A 2 | a(1.) A 3 → A 1 A 2 , ersetzen durch:A 3 → A 2 A 3 A 2 , ersetzen durch:A 3 → A 3 A 1 A 3 A 2 | bA 3 A 2Vorüberlegung: A 3 → A 3 A 1 A 3 A 2 ersetzen durch:A 3 → bA 3 A 2 B 3 | aB 3B 3 → A 1 A 3 A 2 | A 1 A 3 A 2 B 3G 1 : A 1 → A 2 A 3A 2 → A 3 A 1 | bA 3 → bA 3 A 2 B 3 | aB 3 | bA 3 A 2 | aB 3 → A 1 A 3 A 2 | A 1 A 3 A 2 B 3(2.)G 2 : A 1 → bA 3 A 2 B 3 A 1 A 3 | aB 3 A 1 A 3 |bA 3 A 2 A 1 A 3 | aA 1 A 3 | bA 3A 2 → bA 3 A 2 B 3 A 1 | aB 3 A 1 | bA 3 A 2 A 1 |aA 1 | bA 3 → bA 3 A 2 B 3 | aB 3 | bA 3 A 2 | aB 3 → A 1 A 3 A 2 | A 1 A 3 A 2 B 3(3.) B 3 -Regeln ersetzen: 10 neue Regeln. ✷83


1.3.2 Das Pump<strong>in</strong>g LemmaSatz (Pump<strong>in</strong>g Lemma, uvwxy-Theorem)Sei L e<strong>in</strong>e <strong>kontextfreie</strong> Sprache. Dann gibt ese<strong>in</strong>e Zahl n ∈ N, sodass sich alle Wörter z ∈ L<strong>mit</strong> |z| ≥ n zerlegen lassen als z = uvwxy <strong>mit</strong>folgenden Eigenschaften:1. |vx| ≥ 1,2. |vwx| ≤ n,3. für alle i ≥ 0 gilt uv i wx i y ∈ L.Beweis:G = (V, Σ, P, S) e<strong>in</strong>e <strong>Grammatik</strong> <strong>in</strong> ChomskyNormalform für L − {ε} <strong>mit</strong> k = |V |.Wähle n := 2 k .Sei z ∈ L <strong>mit</strong> |z| ≥ n.Ableitungsbaum für z:S❏❏❏❏❏❏❏❏❏❏❏❏❏❏B✡ ✡✡✡✡✡✡✡✡✡✡✡✡✡✡❏← B<strong>in</strong>ärbaum← Term<strong>in</strong>alregelnz84


B hat |z| ≥ n = 2 k Blätter.Also enthält B e<strong>in</strong>en Pfad der Länge l ≥ k.Betrachte e<strong>in</strong>en Pfad P f maximaler Länge l:S❏❏❏❏❏❏❏❏❏❏❏❏❏❏✁✁✁❅ ❅❅ ❅ ❅❅P f✡ ✡✡✡✡✡✡✡✡✡✡✡✡✡✡❏P f enthält l + 1 ≥ k + 1 Variable, d.h. m<strong>in</strong>destense<strong>in</strong>e Variable tritt <strong>in</strong> P f mehrfach auf.z❏❏❏❏❏❏❏❏❏❏❏❏❏❏A✡ ❏✡ ❏❏❏❏❏❏❏❏✡✡ A✡✡ ✁ ❆✡ ✡✡✡✡✡✡✡✡✡✡✡✡✡✡❏ ✡ ✁ ❆❆❆✡ ✁✡ ✁u v w x yBestimme erste solche Situation auf P f von unten.z85


S ⇒ ∗ uAyA ⇒ BC ⇒ ∗ vAxA ⇒ ∗ wChomsky Normalform : |vx| ≥ 1Höhe des oberen A ≤ k : |vxw| ≤ 2 k = nPumpen:❏❏❏❏❏❏❏❏❏❏❏❏❏❏A✡ ❏✡ ❏❏❏❏❏❏❏❏✡✡✡✡ w✡ ✡✡✡✡✡✡✡✡✡✡✡✡✡✡❏ ✡✡✡uyuv 0 wx 0 y❏❏❏❏❏❏❏❏❏❏❏❏❏❏A✡ ❏✡ ❏❏❏❏❏❏❏❏✡✡✡ A✡✡ ✡✡✡✡✡✡✡✡✡✡✡✡✡✡❏ ✡ ✡✡✡ ✡✡❏❏❏❏❏❏A✡u v ✡✁ ✁ ❚ ❚x y✡ ✁ ❚vwxuv 2 wx 2 y86


LemmaSei B e<strong>in</strong> B<strong>in</strong>ärbaum, bei dem jeder <strong>in</strong>nere Knoten2 Söhne hat. Enthält B wenigstens 2 k Blätter, sogibt es <strong>in</strong> B m<strong>in</strong>destens e<strong>in</strong>en Pfad der Länge ≥ k.Beweis Induktion über k:k = 0 : Anzahl Blatter ≥ 2 0 = 1B hat Pfad der Länge ≥ 0.k ❀ k + 1 : B habe ≥ 2 k+1 Blätter:✡✡✡✡B✎☞✧✍✌✧✧✧✡❏❏❏❏❏❜ ❜❜❜B ′☞☞☞☞☞☞☞☞▲▲▲▲▲▲▲▲≥ 2 k BlätterI.V.: B ′ hat Pfad der Länge ≥ kAlso: B hat Pfad der Länge ≥ k + 1.✷87


Beispiel 1: L = { a m b m c m | m ≥ 1 }Behauptung:L <strong>ist</strong> nicht kontextfrei.Beweis: <strong>in</strong>direkt : Angenommen, L <strong>ist</strong> kontextfrei.Dann erfüllt L das Pump<strong>in</strong>g Lemma, d.h.∃n ∈ N + ∀z ∈ L : |z| ≥ n ❀ ∃z = uvwxy :- |vx| ≥ 1, |vwx| ≤ n und- uv i wx i y ∈ L für alle i ≥ 0.Betrachte z := a n b n c n : z ∈ L <strong>mit</strong> |z| = 3n ≥ n.Also: ∃z = uvwxy <strong>mit</strong> vx ≠ ε, |vwx| ≤ n unduv i wx i y ∈ L für alle i ≥ 0.|vwx| ≤ n : |vx| a = 0 oder |vx| c = 0❀ uv 0 wx 0 y = uwy ∉ L. !✷L <strong>ist</strong> kontextsensitiv (1.1.1)Folgerung: L 2 L 1 .88


SatzJede <strong>kontextfreie</strong> Sprache über e<strong>in</strong>eme<strong>in</strong>elementigen Alphabet <strong>ist</strong> bereits regulär.Beweis:Sei L e<strong>in</strong>e <strong>kontextfreie</strong> Sprache über {a}, und sei ndie Zahl aus dem Pump<strong>in</strong>g Lemma für L:∀z ∈ L : |z| ≥ n ❀ ∃z = uvwxy : vx ≠ ε,|vwx| ≤ n und uv i wx i y ∈ L f.a. i ≥ 0.Aber L ⊆ {a} ∗ : |z| = m ❀ z = a m .∀m ≥ n : ∃k, l ≥ 0 : m = k + l,1 ≤ l ≤ n, und a k a i·l ∈ L f.a. i ≥ 0.Nur endlich viele l-Werte l 1 , l 2 , . . . , l p treten auf.Wähle q := n! : Jedes l i teilt q.Wähle q ′ ≥ q, sodass folgendes gilt:∀m ≥ q : a m ∈ L ❀ ∃q ≤ p ≤ q ′ : m ≡ p mod qund a p ∈ L.L ′ := { x ∈ L | |x| < q } ∪{ a r a iq | q ≤ r ≤ q ′ , a r ∈ L, i ∈ N }Behauptung: L = L ′ .Beweis: L ′ ⊆ L : klar.L ⊆ L ′ : klar nach Wahl von q mod q ′ .✷✷89

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!