¿Ejemplo de un lenguaje sin contexto que, sin embargo, PUEDE ser bombeado?

15

Entonces, básicamente, L satisface las condiciones del lema de bombeo para los CFL pero no es un CFL (eso es posible de acuerdo con la definición del lema).

usuario2329564
fuente
¿Es esta una pregunta de tarea, o simplemente tienes curiosidad?
Yuval Filmus
Esta no es una tarea, pero espero verla en el examen (solo una corazonada, conociendo a mi profesor). Y siempre
tengo
2
Tuvimos una pregunta similar, pero para los idiomas regulares . Se aplica el mismo tipo de construcción: tome un símbolo especial y considere $ K { $ kk 1 } { a , b } para un lenguaje desagradable K { a , b } . $$K{$kk1}{a,b}K{a,b}
Hendrik

Respuestas:

13

El ejemplo clásico es . Wise muestra en su artículo Un fuerte lema de bombeo para lenguajes libres de contexto que ni el lema de bombeo de Bar-Hillel ni el teorema de Parikh (que indica que el conjunto de longitudes de palabras en un lenguaje libre de contexto es semi-lineal) puede probarse que L no está libre de contexto. Otros trucos como la intersección con un lenguaje regular tampoco ayudan. (El lema de Ogden, una generalización del lema de bombeo de Bar-Hillel, prueba que LL={aibjck:i,j,k all different}LLno está libre de contexto.) También proporciona un lema de bombeo alternativo que es equivalente a la libertad de contexto (para lenguajes computables), y lo usa para demostrar que no está libre de contexto.L

El lema de Wise dice que un lenguaje está libre de contexto si y solo si hay una gramática (sin restricciones) G que genera L y un entero k tal que siempre que G genere una "forma oracional" s (por lo que s puede incluir no terminales) de longitud | s | > k , podemos escribir s = u v x y z donde x , v y no están vacías, | v x y | kLGLkGss|s|>ks=uvxyzx,vy|vxy|k, Y hay un no terminal de tal manera que G genera u A z y A genera tanto v A y y xAGuAzAvAyx .

Al aplicar repetidamente la condición en el lema, Wise puede demostrar que no está libre de contexto, pero los detalles son algo complicados. También da una condición equivalente aún más complicada, y la usa para demostrar que el lenguaje { a n b a n m : n , m > 0 }L{anbanm:n,m>0} no puede escribirse como una intersección finita de lenguajes libres de contexto.

Si no puede acceder al documento de Wise (está detrás de un muro de pago), hay una versión mecanografiada que salió como un informe técnico de la universidad de Indiana.


Johnsonbaugh y Miller, Converse de bombear lemas , atribuyen un lenguaje sin contexto que satisface la condición de bombeo del lema de Ogden , y lo atribuyen allí a Boasson y Horvath, sobre idiomas que satisfacen el lema de Ogden . El idioma en cuestión es Podemos escribirL=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)Σ.
L=L1L2 , correspondiente a las dos líneas diferentes. Tenga en cuenta que y que L 2 es regular. El lema de Ogden se puede usar para demostrar que L 1 no está libre de contexto, y tampoco lo está L ' , pero no se puede usardirectamentepara mostrar que L ' no está libre de contexto.L1L2=L2L1LL
Yuval Filmus
fuente
¿No es necesario que haya al menos una producción con el siguiente aspecto: A -> sententialForm1 Un sententialForm2 para que cualquier bombeo sea posible
User2329564
Bueno, más general: ¿no es necesario que un B no terminal sea parte de una forma de oración derivable de A tal que B-> sententialForm1.B.sententialfrom2 es una producción de G. De lo contrario, cómo sería seguro que una palabra de un longitud arbitraria se puede bombear desde A.
user2329564
No veo por qué, tenemos una producción , que corresponde al bombeo. Por ejemplo, recupera inmediatamente el lema de bombeo ya que S u A z u v i A y i z u v i x y i z . A+vAySuAzuviAyizuvixyiz
Yuval Filmus
44
Suena como una buena adición a nuestra referencia .
Raphael
Otra cosa que falta es el cierre bajo "mapeos gsm inversos", vea planetmath.org/generalizedsequentialmachine . Quizás agregue esto en algún momento.
Yuval Filmus
8

Aún más simple: . Siempre puede bombear el a s; La intersección con la L regular ( a b + c + d + ) da una no CFL (y eso se puede probar bombeando lemma).{ambncndn:m1,n1}aL(ab+c+d+)

vonbrand
fuente
1
Esta será una buena adición a la tercera tarea ... muahaha
Renato Sanhueza
1
a, then if you try to pump the a you have to account for the fact that a0 must also be in the language.
MCT
abpcpdpv=au=w=x=εy=bpcpdp. Then, for i=0, uviwxiy is not in the language, as it doesn't start with an a, so the lemma doesn't hold.
potestasity
2

A simple language is {abncndn:n1}L(aa+b+c+d+). Intersect with L(ab+c+d+) to get a clearly non-CFL, but you can always pump the a, and mimetize the equal-length-ness in the sea of +.

vonbrand
fuente
Wise's example is (apparently) immune to these techniques as well, or so he claims.
Yuval Filmus
4
@YuvalFilmus, so it seems. But my example is immune to professors doubting you understood Wise's paper, or wanting a complete proof that it isn't a CFL in the 2-hour limit of the exam ;-)
vonbrand