Demuestre que {xy ∣ | x | = | y |, x ≠ y} no tiene contexto


43

Recuerdo haber encontrado la siguiente pregunta sobre un lenguaje que supuestamente no tiene contexto, pero no pude encontrar una prueba del hecho. ¿Acaso he recordado mal la pregunta?

De todos modos, aquí está la pregunta:

Demuestre que el idioma tiene contexto.L={xy|x|=|y|,xy}L={xy|x|=|y|,xy}


55
Oh, esa es buena! <3
Raphael

Respuestas:


35

Reclamación : tiene contexto.LL

Idea de prueba : debe haber al menos una diferencia entre la primera y la segunda mitad; Le damos una gramática que se asegura de generar uno y deja el resto arbitrario.

Prueba : en aras de la simplicidad, suponga un alfabeto binario . La prueba se extiende fácilmente a otros tamaños. Considere la gramática :Σ={a,b}Σ={a,b}GG

SABBAAaaAaaAbbAabAbBbaBaaBbbBabBbSABABBAaaAaaAbbAabAbbaBaaBbbBabBb

Está bastante claro que genera

L(G)={w1kxw2v1k+lyv2l|w1|=|w2|=k,|v1|=|v2|=l,xy}Σ;

el sospechoso puede realizar una inducción anidada sobre y con distinción de casos sobre pares . Ahora, y conmutan (intuitivamente hablando, y pueden intercambiar símbolos porque ambos contienen símbolos elegidos independientemente del resto de la palabra). Por lo tanto, e tienen la misma posición (en su mitad respectiva), lo que implica porque no impone otras restricciones en su lenguaje.kl(x,y)w2v1w2v1xyL(G)=LG


El lector interesado puede disfrutar de dos problemas de seguimiento:

Ejercicio 1 : ¡Presenta un PDA para !L

Ejercicio 2 : ¿Qué pasa con ?{xyz|x|=|y|=|z|,xyyzxz}


Si usamos esta gramática, podemos generar una cadena como: Después de eso, tenemos una S como abba! Esto no es igual al lenguaje en bruto L, ¿hay algún error aquí? SAB Aa BbBa,thenBb
George.Zhao

@ George.Zhao No lo sigo. Cleary, con e ? abbaLx=aby=ba
Raphael
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.