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.

80 13. Kontextfreie Sprachen und Bäume<br />

schließlich fügen wir noch alle Regeln N b → b hinzu. Damit ist Schritt zur Normalform<br />

getan. Nun können wir auch noch zur Chomskyschen Normalform übergehen.<br />

Sei eine mehrstellige Regel gegeben, etwaT→UVWX. Unter Zuhilfenahme<br />

neuer NichtterminalsymboleY undZersetzen wir diese Regel durch die Regeln:<br />

(186) T→UY,Y→VZ,Z→WX.<br />

Damit wird der einfache Übergang von⃗uT⃗v zu⃗uUVWX⃗v zu einer Serie<br />

(187) ⃗uT⃗v,⃗uUY⃗v,⃗uUVZ⃗v,⃗uUVWX⃗v<br />

Dieses Rezept lässt sich verallgemeinern.<br />

Satz 13.4 (Pumplemma) Es sei L eine kontextfreie Sprache. Dann existiert eine<br />

Zahl k derart, dass jedes Wort⃗x∈L der Länge≥ k zerlegt werden kann in⃗x=<br />

⃗u⃗v⃗w⃗y⃗z, sodass⃗v⃗yεist und für alle i∈Ngilt⃗u⃗v i ⃗w⃗y i ⃗z∈L.<br />

Man beachte, dass i auch 0 oder 1 sein darf. Ist i=0, so haben wir⃗u⃗w⃗z, ist i=1,<br />

so bekommen wir⃗x. Für i=2 bekommen wir⃗u⃗v⃗v⃗w⃗y⃗y⃗z. Mit dem Pumplemma<br />

lässt sich nicht zeigen, dass eine Sprache kontextfrei ist. Denn die Bedingung ist<br />

notwendig, aber nicht hinreichend. Es gibt Sprachen, die erfüllen die Pumpbedingung,<br />

ohne kontextfrei zu sein. Dazu gehört die Sprache{⃗xc⃗x :⃗x∈(a|b) ∗ }.<br />

Denn diese Sprache ist pumpbar. Auf der anderen Seite lässt sich mit dem Pumplemma<br />

zeigen, dass gewisse Sprachen nicht kontextfrei sind. So eine Sprache ist<br />

{a n2 : n∈N}. Dazu nehmen wir ein beliebiges Worta n2 her und zerlegen es in<br />

fünf Teilworte. Diese haben die Länge≤ n 2 , wobei zusätzlich⃗v⃗y die Länge g≤n 2<br />

hat mit g>0. Dann haben die Worte⃗u⃗v i ⃗w⃗y i ⃗z die Länge n 2 + (i−1)g. Aber für<br />

beliebig viele i ist n 2 + (i−1)g keine Quadratzahl.<br />

Kommen wir nochmal auf die Sprache C={⃗xc⃗x :⃗x∈(a|b) ∗ } zurück. Zunächst<br />

einmal sagen wir, eine Sprache habe die Pumpeigenschaft oder sei pumpbar,<br />

wenn sie die in Satz 13.4 beschriebene Eigenschaft hat. Der Satz 13.4 besagt<br />

dann, dass eine kontextfreie Sprache pumpbar ist. Die Umkehrung gilt nicht.<br />

Proposition 13.5 Die Sprache C hat die Pumpeigenschaft, ist aber nicht kontextfrei.<br />

Beweis. Wir zeigen, dass C pumpbar ist mit k = 3. Sei⃗x ein Wort der Länge<br />

mindestens 3. Dieses lässt sich wie folgt zerlegen:⃗x=⃗sc⃗s. Ferner ist⃗s nicht leer,<br />

also von der Form a⃗r für einen Buchstaben a und ein (möglicherwiese leeres)

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!