Defina el lenguaje
He intentado intersectar con a ∗ b ∗ a ∗ b ∗
formal-languages
context-free
formal-grammars
Evgeny Eltishev
fuente
fuente
Respuestas:
Es libre de contexto. Aquí está la gramática:
S→A|B|AB|BA
A→a|aAa|aAb|bAb|bAa
B→b|aBa|aBb|bBb|bBa
A → a | a A a | a A b | b A b | b A a B → b | a B a | a B b | b B b | b B a
genera palabras de longitud impar con a en el centro. Lo mismo para B y b .A a B b
Presentaré una prueba de que esta gramática es correcta. Deje (el idioma en la pregunta).L={a,b}∗∖{ww∣w∈{a,b}∗}
Teorema. . En otras palabras, esta gramática genera el lenguaje en la pregunta.L=L(S)
Prueba. Esto sin duda es válido para todas las palabras de longitud impar, ya que esta gramática genera todas las palabras impares del largo, al igual que . Así que centrémonos en palabras de longitud par.L
Supongamos que tiene una longitud par. Mostraré que x ∈ L ( G ) . En particular, afirmo que x se puede escribir en la forma x = u v , donde u y v tienen una longitud impar y letras centrales diferentes. Por lo tanto, x puede derivarse de A B o B A (según si la letra central de u es a o b ). Justificación del reclamo: Sea la i ésima letra de xx∈L x∈L(G) x x=uv u v x AB BA u a b i x be denoted xi , so that x=x1x2⋯xn . Then since x is not in {ww∣w∈{a,b}n/2} , there must exist some index i such that xi≠xi+n/2 . Consequently we can take u=x1⋯x2i−1 and v=x2i⋯xn ; the central letter of u will be xi , and the central letter of v will be xi+n/2 , so by construction u,v have different central letters.
Luego suponga que tiene una longitud par. Voy a demostrar que debemos tener x ∈ L . Si x tiene una longitud par, debe ser derivable de A B o B A ; sin pérdida de generalidad, supongamos que es derivable de A B , y x = u v donde u es derivable de A y v es derivable de B . Si u , v tienen las mismas longitudes, entonces debemos tener u ≠x∈L(G) x∈L x AB BA AB x=uv u A v B u,v u≠v (ya que tienen letras centrales diferentes), entonces x∉{ww∣w∈{a,b}∗} . So suppose u,v have different lengths, say length ℓ and n−ℓ respectively. Then their central letters are u(ℓ+1)/2 and v(n−ℓ+1)/2 . The fact that u,v have different central letters means that u(ℓ+1)/2≠v(n−ℓ+1)/2 . Since x=uv , this means that x(ℓ+1)/2≠x(n+ℓ+1)/2 . If we attempt to decompose x as x=ww′ where w,w′ have the same length, then we'll discover that w(ℓ+1)/2=x(ℓ+1)/2≠x(n+ℓ+1)/2=w′(ℓ+1)/2 , i.e., w≠w′ , so x∉{ww∣w∈{a,b}∗} . In particular, it follows that x∈L .
fuente
This language is context free it was proved in the following paper:
Tomaszewski, Zach. "A Context-Free Grammar for a Repeated String." Journal of Information and Computer Science, 2012 (PDF).
The grammar is as follows:
fuente