Beispiel für eine nicht-kontextfreie Sprache, die trotzdem gepumpt werden kann?

15

Grundsätzlich erfüllt L die Bedingungen des Pump-Lemmas für CFLs, ist jedoch keine CFL (dies ist gemäß der Definition des Lemmas möglich).

user2329564
quelle
Ist das eine Hausaufgabe oder bist du nur neugierig?
Yuval Filmus
Dies ist keine Hausaufgabe, aber ich erwarte sie in der Prüfung zu sehen (nur eine Ahnung, wie ich meinen Professor kenne). Und ich bin immer neugierig :)
user2329564
2
Wir hatten eine ähnliche Frage, aber für reguläre Sprachen . Dieselbe Konstruktionsart gilt: Nimm ein Sonderzeichen und betrachte $ K { $ kk 1 } { a , b } für eine fiese Sprache K { a , b } . $$K{$kk1}{a,b}K{a,b}
Hendrik Jan

Antworten:

13

Das klassische Beispiel ist . Wise zeigt in seiner Arbeit Ein starkes Pumplemma für kontextfreie Sprachen , das weder mit dem Bar-Hillel-Pumplemma noch mit dem Satz von Parikh (der besagt, dass die Menge der Wortlängen in einer kontextfreien Sprache semi-linear ist) bewiesen werden kann dass L nicht kontextfrei ist. Andere Tricks wie das Überschneiden mit einer normalen Sprache helfen ebenfalls nicht. (Ogdens Lemma, eine Verallgemeinerung des Bar-Hillel-Pumplemmas, beweist, dass LL={aibjck:i,j,k all different}LLnicht kontextfrei ist.) Er hat auch eine alternative Pump Lemma liefert das ist äquivalent (für berechenbare Sprachen) zu den inhaltlichen Mahlgrad und verwendet es zu beweisen , dass nicht kontextfrei.L

Das Pump-Lemma von Wise besagt, dass eine Sprache nur dann kontextfrei ist, wenn es eine (uneingeschränkte) Grammatik G gibt, die L und eine ganze Zahl k erzeugt, so dass, wann immer G eine "sententiale Form" s erzeugt (so können s Nicht-Terminals enthalten). die Länge | s | > k , wir können schreiben s = u v x y z wobei x , v y nicht leer sind, | v x y | kLGLkGss|s|>ks=uvxyzx,vy|vxy|kUnd es ist ein nicht-terminale , so dass G erzeugt u A z und A erzeugt sowohl V A y und x .AGuAzAvAyx

Durch wiederholtes Anwenden der Bedingung im Lemma kann Wise nachweisen, dass nicht kontextfrei ist, die Details jedoch etwas kompliziert sind. Er gibt auch eine noch kompliziertere äquivalente Bedingung an und verwendet sie, um zu beweisen, dass die Sprache { a n b a n m : n , m > 0 } nicht als endliche Schnittmenge von kontextfreien Sprachen geschrieben werden kann.L{anbanm:n,m>0}

Wenn Sie nicht auf Wises Papier zugreifen können (es befindet sich hinter einer Paywall), gibt es eine maschinengeschriebene Version, die als technischer Bericht der Indiana University herauskam.


Eine nicht kontextfreie Sprache, die die Pumpbedingung von Ogdens Deckspelze erfüllt, wird von Johnsonbaugh und Miller, Converse of Pumping Lemmas, angegeben und dort Boasson und Horvath, On languages, zugeschrieben, die Ogdens Deckspelze erfüllen . Die fragliche Sprache ist Wir können schreibenL'=L1L

L=n1(e+a+d+)n(e+b+d+)n(e+c+d+)n(a+b+c+d)ΣΣ(a+b+c+e)Σ(ed+d(a+b+c)+(a+b+c)e)Σ.
, entsprechend den zwei verschiedenen Linien. Man beachte, dass L 1L 2 = ≤ ist und dass L 2 regulär ist. Ogdens Lemma kann verwendet werden, um zu beweisen, dass L 1 nicht kontextfrei ist, und L 'auch nicht , aber es kann nicht direkt verwendetwerden, umzu zeigen, dass L ' nicht kontextfrei ist.L=L1L2L1L2=L2L1LL
Yuval Filmus
quelle
Muss es nicht mindestens eine Produktion sein, die so
aussieht
Ganz allgemein: Muss ein Nichtterminal B nicht Teil einer von A ableitbaren Sententialform sein, sodass B-> sententialForm1.B.sententialfrom2 eine Produktion von G ist? Wie wäre es sonst sicher, dass ein Wort von a Beliebige Länge kann von A gepumpt werden.
user2329564
Ich verstehe nicht warum, wir haben eine Produktion , die dem Pumpen entspricht. Zum Beispiel zu sofort das Pump Lemma da S * U A z * u v i A y i z * u v i x y i z . A+vAySuAzuviAyizuvixyiz
Yuval Filmus
4
Klingt nach einer schönen Ergänzung zu unserer Referenz .
Raphael
Eine andere Sache, die dort fehlt, ist die Schließung unter "inverse gsm-Zuordnungen", siehe planetmath.org/generalizedsequentialmachine . Vielleicht füge ich diese irgendwann hinzu.
Yuval Filmus
8

Noch einfacher: . Kann das a s immer pumpen ; Schnittpunkt mit dem regulären L ( a b + c + d + ) ergibt eine Nicht-CFL (und das kann durch Pumpen von Lemma bewiesen werden).{ambncndn:m1,n1}aL(ab+c+d+)

vonbrand
quelle
1
Dies wird eine schöne Ergänzung zu den dritten Hausaufgaben sein ... muahaha
Renato Sanhueza
1
aaa0
abpcpdpv=au=w=x=εy=bpcpdpi=0uviwxiy
2

{abncndn:n1}L(aa+b+c+d+)L(ab+c+d+)a+

vonbrand
quelle
Wises Beispiel ist (anscheinend) auch immun gegen diese Techniken, oder so behauptet er.
Yuval Filmus
4
@YuvalFilmus, so scheint es. Aber mein Beispiel ist immun gegen Professoren, die bezweifeln, dass Sie Wises Artikel verstanden haben oder einen vollständigen Beweis dafür
wünschen,