Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
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)