Linguagem envolvendo número irracional não é uma CFL


10

Estou trabalhando com um exercício árduo em um livro didático e não consigo descobrir como proceder. Aqui está o problema. Suponha que tenhamos a linguagem que é algum número irracional. Como eu provaria que não é uma linguagem livre de contexto?L={aibj:i≤jγ,i≥0,j≥1}γL

No caso em que é racional, é muito fácil construir uma gramática que aceite o idioma. Mas porque é irracional, eu realmente não sei o que fazer. Não parece que nenhum dos lemas de bombeamento funcionaria aqui. Talvez o teorema de Parikh funcione aqui, pois parece intuitivamente que essa linguagem não tem uma imagem Paril semilinear que a acompanha.γγ

Este exercício é de "Um Segundo Curso de Línguas Formais e Teoria de Autômatos", de Jeffrey Shallit, Exercício 25 do Capítulo 4.

Eu realmente aprecio qualquer ajuda, ou cutucada na direção certa. Obrigado!


Você já tentou aplicar o teorema de Parikh?
— Yuval Filmus

Por que não mostrar que não é semi-linear diretamente? Use a definição.
— Yuval Filmus

4
Bem a tempo da minha lição de casa! Obrigado. CS 462/662 Línguas formais e análise de inverno de 2019, conjunto de problemas 9, exercício 3. Previsão sexta-feira, 22 de março de 2019.
— Hendrik Jan

@ HendrikJan Estou estudando a partir do livro "Um segundo curso de linguagens formais e teoria de autômatos", de Jeffrey Shallit. É o Exercício 25 do Capítulo 4, fyi. Seria possível ocultar esta postagem até o vencimento da tarefa?

Agradeço o que você estava tentando fazer e suas boas intenções, mas não destrua a pergunta editando-a para ocultar a pergunta (mesmo por alguns dias). Obrigado. PS Obrigado por creditar a fonte do problema!
— DW

Respostas:


7

De acordo com o teorema de Parikh, se L fosse livre de contexto, o conjunto M={(a,b):a≤γb} seria semilinear, isto é, seria a união de muitos conjuntos finitos da forma S=u0+Nu1+⋯+Nuℓ , para alguns ui=(ai,bi) .

Obviamente u0∈M e, além disso, para cada , pois caso contrário para suficientemente grande . Portanto (uma vez que é racional). Isso significa que todo satisfaz .ui∈Mi>0u0+Nui∉MNg(S):=max(a0/b0,…,aℓ/bℓ)<γg(S)(a,b)∈Sa/b≤g(S)

Agora, suponha que seja a união de e defina . O exposto acima mostra que todos na união satisfazem e obtemos uma contradição, pois .MS(1),…,S(m)g=max(g(S(1)),…,g(S(m)))<γ(a,b)a/b≤g<γsup{a/b:(a,b)∈M}=γ


Quando é racional, a prova falha e, de fato, é semilinear: De fato, por construção, qualquer par no lado direito satisfaz (uma vez que ). Por outro lado, suponha que . Enquanto e , subtrair a partir de . Eventualmente (já que implicaγM

{(a,b):a≤stb}=⋃a=0s−1(a,⌈tsa⌉)+N(s,t)+N(0,1).
(a,b)a≤stbs=stta≤stba≥sb≥t(s,t)(a,b)a<sb<ta≤stb<sa≤s) Como , necessariamente . Portanto, podemos subtrair de até alcançarmos .a≤stbb≥⌈tsa⌉(0,1)(a,b)(a,⌈tsa⌉)


Boa resposta. Apenas um esclarecimento, a lógica por trás de "todo satisfaz " é que, se houvesse um , poderíamos construir um tal que seja tão grande quanto desejado e, portanto, maior que ? a / b ≤ g ( S ) ( a , b ) > g ( S ) ( x , y ) ∈ S x / y γ(a,b)∈Sa/b≤g(S)(a,b)>g(S)(x,y)∈Sx/yγ

Não, isso segue diretamente da definição de . Seu argumento explica por que . g ( S ) < γg(S)g(S)<γ
— Yuval Filmus

6

Toda variável, exceto nesta resposta, representa um número inteiro positivo. É sabido que, dado um irracional , existe uma sequência de números racionais modo que esteja mais próximo de que qualquer outro número racional menor que cujo denominador é menor que .γγ>0a1b1<a2b2<a3b3<⋯<γaibiγγbi


Acontece que o lema de bombeamento funciona!

Por uma questão de contradição, seja o comprimento de como uma linguagem livre de contexto. Seja , uma palavra que é mas "quase". Observe que . Considere , onde e para todos os .pLs=aapbbpL|s|>bp≥ps=uvwxy|vx|>1sn=uvnwxny∈Ln≥0

Seja e o número de s e s em v x respectivamente.tatbabvx

  • Se tb=0 ou tatb>γ, parangrande o suficiente, a proporção entre o número deas para que debs emsnvai ser maior do queγ, ou seja,sn∉L.
  • Caso contrário, tatb<γ. Comotb<bp,tatb<apbp . Portanto, ap−tabp−tb>apbp Dado quebp−tb<bp,ap−tabp−tb>γ, que diz ques0∉L.

A contradição acima mostra que L não pode ser livre de contexto.


Aqui estão dois exercícios mais fáceis relacionados.

Exercício 1. Mostre que Lγ={a⌊iγ⌋:i∈N} não é livre de contexto onde γ é um número irracional.

Exercício 2. Mostre que Lγ={aibj:i≤jγ,i≥0,j≥0} é livre de contexto onde γ é um número racional.


A propriedade na resposta pode ser comprovada simplesmente selecionando todos os números racionais mais próximos de que todos os números anteriores na lista de todos os números racionais menores que γ na ordem de denominadores crescentes e, para os mesmos denominadores, em crescentes ordem. γγ
— John L.

A construção usual é obter convergentes da fração continuada.
— Yuval Filmus

@YuvalFilmus Sim, eu concordo. Por outro lado, essa prova de quase uma linha é muito mais simples e acessível. (a "ordem crescente" na minha última mensagem deve ser "ordem decrescente".)
— John L.
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.