É o complemento de {ww | …} Sem contexto?


13

Defina o idioma como . Em outras palavras, contém as palavras que não podem ser expressas como algumas palavras repetidas duas vezes. é livre de contexto ou não?LL={a,b}∗−{ww∣w∈{a,b}∗}LL

Tentei cruzar com , mas ainda não posso provar nada. Eu também olhei para o teorema de Parikh, mas isso não ajuda.La∗b∗a∗b∗


Respostas:


27

É livre de contexto. Aqui está a gramática:

A → a | a A uma | a A b | b A b | b A a B → b | a B a | a B b | b B b | b B aS→A|B|AB|BA
A→a|aAa|aAb|bAb|bAa
B→b|aBa|aBb|bBb|bBa

a B bA gera palavras de comprimento ímpar com no centro. O mesmo para e .aBb

Vou apresentar uma prova de que esta gramática está correta. Deixe (o idioma da pergunta).eu={uma,b}∗∖{WW∣W∈{uma,b}∗}

Teorema. . Em outras palavras, essa gramática gera o idioma na pergunta.eu=eu(S)

Prova. Isso certamente vale para todas as palavras ímpar de comprimento, uma vez que esta gramática gera todos os ímpares comprimentos de palavras, como faz . Então, vamos nos concentrar em palavras pares.eu

Suponha que tenha comprimento uniforme. Vou mostrar que . Em particular, afirmo que pode ser escrito na forma , onde e têm um comprimento ímpar e têm letras centrais diferentes. Assim, pode ser derivado de ou (conforme a letra central de é ou ). Justificação de reivindicação: Deixe o th carta de ser denotado , de modo que . Então desde quex ∈ G ( G ) x x = u v u v x A B B A u uma b i x x i x = x 1 x 2 ⋯ x n x { w w | w ∈ { um , b } n / 2 } i x i ≠ x i + nx∈eux∈eu(G)xx=uvuvxABBAuabixxix=x1x2⋯xnxnão está em , deve existir algum índice tal que . Conseqüentemente, podemos pegar e ; a letra central de será e a letra central de será ; portanto, pela construção terá letras centrais diferentes.{ww∣w∈{a,b}n/2}i u=x1⋯x 2 i - 1 v=x 2 i ⋯xnuxivx i + n / 2 u,vxi≠xi+n/2u=x1⋯x2i−1v=x2i⋯xnuxivxi+n/2u,v

Em seguida, suponha que tenha comprimento uniforme. Vou mostrar que devemos ter . Se tiver um comprimento uniforme, deverá ser derivado de ou ; sem perda de generalidade, suponhamos que é derivável a partir de , e onde é derivável de e é derivável a partir de . Se tem o mesmo comprimento, então devemos ter (uma vez que possuem letras centrais diferentes), de modo que . Então, suponha quex ∈ L x A B B A A B x = u v u A v B u , v u ≠ v x ∉ { w w | w ∈ { um , b } * } u , vx∈L(G)x∈LxABBAABx=uvuAvBu,vu≠vx∉{ww∣w∈{a,b}∗}u,vtêm comprimentos diferentes, digamos comprimento e respectivamente. Então, suas letras centrais são e . O fato de que possui letras centrais diferentes significa que . Como , isso significa que . Se tentarmos decompor como onde tem o mesmo comprimento, descobriremos que , ou seja, , entãon - ℓ u ( ℓ + 1 ) / 2 v ( n - ℓ + 1 ) / 2 u , v u ( ℓ + 1 ) / 2 ≠ v ( n - ℓ + 1 ) / 2 x = u v x ( ℓ + 1 ) / 2 ≠ x ( n +ℓn−ℓu(ℓ+1)/2v(n−ℓ+1)/2u,vu(ℓ+1)/2≠v(n−ℓ+1)/2x=uv xx=w w ′ w, w ′ w ( ℓ + 1 ) / 2 = x ( ℓ + 1 ) / 2 ≠ x ( n + ℓ + 1 ) / 2 = w ′ ( ℓ + 1 ) / 2 w≠ w ′ x∉{x(ℓ+1)/2≠x(n+ℓ+1)/2xx=ww′w,w′w(ℓ+1)/2=x(ℓ+1)/2≠x(n+ℓ+1)/2=w(ℓ+1)/2′w≠w′x∉{ww∣w∈{a,b}∗} . Em particular, segue-se que .x∈L


2
Editei a resposta para fornecer uma prova de correção para esta gramática, com base na dica / esboço dado por Evgeny Eltishev. Espero que fique mais claro agora porque isso funciona.
— DW

Ele pode gerar "aabb"?
— precisa saber é o seguinte

1
@ manasij7479 Sim: . S→AB→aB→a(aBb)→aabb
— J.-E.

3

Essa linguagem é livre de contexto, foi comprovada no seguinte artigo:

Tomaszewski, Zach. "Uma gramática livre de contexto para uma sequência repetida." Revista de Informação e Ciência da Computação , 2012 ( PDF ).

A gramática é a seguinte:

S→E∣U∣ϵE→AB∣BAA→ZAZ∣aB→ZBZ∣bU→ZUZ∣ZZ→a∣b

8
Bem-vinda! O seguinte não é uma crítica a esta resposta. O Journal of Information and Computer Science é publicado pela "World Academic Union", que está na lista de editores predatórios de acesso aberto da Beall . É triste que existam empresas no mundo que gastem uma quantia relativamente grande de dinheiro para publicar trabalhos que nada mais fazem do que resolver exercícios de graduação.
— David Richerby

Não tenho reputação suficiente para comentar a resposta acima. Mas essa gramática parece errada para mim. Não pode gerar "aaab" que está no idioma.
— A. Mashreghi

1
CFG→CNF→CYKS→UMAB→umaUMAumaB→umaumaumaB→umaumaumabumaumaumab

Você está certo
— A. Mashreghi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.