Representações de base-k do co-domínio de um polinômio - é livre de contexto?


14

No capítulo 4 de A Second Course in Automata Theory, de Jeffrey Shallit, o seguinte problema é listado como aberto:

p(n)p(n)NnN{ P ( n ) | n 0 }{p(n)n0}pp11

Qual é o seu status agora (como em outubro de 2018)? Está provado? E alguns casos especiais?


1
Se (representação unária), mesmo o mais simples não é livre de contexto (a conhecida linguagem não-CF )k = 1 p ( n ) = n 2 Lk=1p(n)=n2={1n2}L={1n2}
Marzio De Biasi

@MarzioDeBiasi A chamada representação unária não é base . O único número inteiro representável na base real seria . 1 1 0110
Emil Jeřábek apoia Monica

1
@ EmilJeřábek: Eu acho que em muitos contextos a base 1 é um pseudônimo de "representação unária" .
Marzio De Biasi

Respostas:


10

Claro que aqui.k 2k2

Certa vez, havia um manuscrito de Horváth que alegava resolver o problema, mas não era claro em vários lugares e, pelo que sei, nunca foi publicado.

Até onde eu sei, o problema ainda está aberto. Uma direção da implicação é fácil, é claro.


Já está resolvido para k = 2k=2 ? (I ter uma ideia para provar para k = 2k=2 e se funciona a mesma técnica poderia provavelmente ser aplicado a outras bases)
Marzio De Biasi

Ficaria muito feliz em receber algum feedback seu sobre a minha resposta.
Domotorp 06/12/19

Não consigo entender sua solução reivindicada, desculpe.
Jeffrey Shallit

Publiquei outra resposta com muito mais detalhes; a declaração completa é bastante complexa, por isso acrescentei alguns lemas mais simples que têm a ideia principal, espero que isso torne a coisa toda mais crível.
Domotorp

3

Este é um esboço da prova para k = 2k=2 e L = { [ n 2 ] 2n 1 }L={[n2]2n1} ; onde [ n 2 ] 2[n2]2 é a representação binária de n 2n2 . Para maior clareza, colocamos o bit menos significativo das seqüências binárias à esquerda, por exemplo, [ 4 2 ] 2 = 00001[42]2=00001 .

A idéia central é assumir que LL é livre de contexto e, em seguida, tente "simplificá-lo", cruzando-o com uma linguagem regular simples RR ; a nova linguagem L RLR ainda é livre de contexto e ainda deve conter representações binárias de quadrados; então aplicamos o lema de bombeamento para idiomas CF, a fim de obter uma string binária que não é uma representação de um quadrado.

A interseção de LL com palavras regulares que contém apenas um pequeno número finito de 11 dígito não é promissora. Acontece que até quatro dígitos 1 1( R = { 0 1 } , { 0 10 1 } , { 0 10 10 1 } , { 0 10 10 10 1 } )(R={01},{0101},{010101},{01010101}) obtemos uma linguagem CF; e com cinco 11 dígitos, obtemos um problema aparentemente difícil da teoria dos números.

A abordagem promissora é cruzar LL com R = 10 +1 +0 +1R=10+1+0+1 ; isso é equivalente a restringir LL aos quadrados:

n 2 = 2 0 + 2 a ( ( 2 b - 1 ) + 2 b + c ) , 1 < a , b , c

n2=20+2a((2b1)+2b+c),1<a,b,c

(quadrados informalmente ímpares cuja representação binária contém todos os 00 s, exceto uma sequência de 11 s no meio).

    n        n^2  n                  n^2
   39       1521  111..1             1...11111.1
  143      20449  1111...1           1....1111111..1
  543     294849  11111....1         1.....111111111...1
 2111    4456321  111111.....1       1......11111111111....1
 8319   69205761  1111111......1     1.......1111111111111.....1
33023 1090518529  11111111.......1   1........111111111111111......1
                  LSB          MSB   LSB                         MSB

Com alguns esforços, podemos provar o seguinte:

Teorema: o número 2 0 + 2 a ( ( 2 b - 1 ) + 2 b + c ) ;0 < c , 3 < a < b20+2a((2b1)+2b+c);0<c,3<a<b é um quadrado se e somente se

b = 2 a - 3 , c = a - 3

b=2a3,c=a3

(a prova é bastante longa, vou publicá-la no meu blog)

Nesse ponto, podemos facilmente provar que L RLR não é livre de contexto usando o lema de bombeamento (podemos bombear no máximo dois "segmentos" da cadeia 100..0011 ... 1100.001100..0011...1100.001 ). Assim também LL não é livre de contexto.

Provavelmente a mesma técnica pode ser aplicada a qualquer base kk .


3
O resultado para ( n 2 )(n2) na base 2 é conhecido há muito tempo. O desafio é fazer uma construção como essa funcionar para cada polinômio que mapeia números inteiros para números inteiros e para todas as bases.
Jeffrey Shallit

1
Somos tão parecidos que também passei meus últimos dias pensando nesse problema, embora tenha adotado uma abordagem completamente diferente.
Domotorp #

3

Eu acho que tenho uma prova. A prova segue deste lema.

Lema. Para uma linguagem livre de contexto L,L se para infinitamente muitas nn houver n 6n6 palavras de comprimento igual cujas primeiras n 2n2 letras são iguais e suas últimas nn letras forem diferentes (em pares), então existe um B deB modo que existem infinitamente muitas pares u , v Lu,vL de comprimento igual que diferem apenas em suas últimas BB letras.

Portanto, se uu e vv representam números binários, sua diferença será no máximo 2 B2B infinitamente, o que é impossível para polinômios. Por outro lado, com alguma teoria dos números, pode ser mostrado que a condição é satisfeita para todo polinômio com valor inteiro pp : Pegue qualquer x 1 , , x n 6x1,,xn6 para o qual f ( x i ) f ( x j )f(xi)f(xj) e adicione um número suficientemente grande NN a cada um deles para obter as palavras desejadas f (x i + N )f(xi+N) .

Prova do lema. Tome um nn grande o suficiente para que haja n 6n6 palavras de comprimento igual, w 1 , , w n 6w1,,wn6 , que satisfaçam as condições. Para cada w, euwi fixo uma maneira pela qual ela pode ser gerada a partir da gramática livre de contexto. (Aviso! Eu não sou especialista neste campo, portanto, talvez não use os termos adequados.)

Dizer que a aplicação de uma regra Um B CABC divide duas letras bb e cc da última palavra, se o bb e cc são ambos derivados a partir de umA , mas bb é derivado a partir de BB , ao passo que cc é derivado a partir de CC . Cada regra divide no máximo O ( 1 )O(1) letras de w iwi uma da outra.

Em qualquer w iwi , haverá w ( n )Ω(n) letras consecutivas entre os primeiros n 2n2 cartas que estão divididos entre si por algumas regras consecutivos tais que não há duas cartas entre os últimos nn letras são divididos uns dos outros durante a aplicação dessas regras. Se escrevermos essas regras coletivamente para a letra w iwi como A iB 1 i B 2 iB n iAiB1iB2iBni , nenhuma letra das últimas nn letras será derivada de B j iBji paraj < nj<n , e B 1 i B 2 i ... B n - 1 iB1iB2iBn1i são todos convertidos em alguma parte das primeiras n 2n2 letras. Podemos aplicar o lema de bombeamento à regra A iB 1 i B 2 iB n iAiB1iB2iBni se nn for grande o suficiente.

Existem apenas ( n 22 )(n22) escolhas para o intervalo deΩ(n)Ω(n)letras,O(n)O(n)opções sobre o que o lema de bombeamento fornece (uma vez que possuicomprimentoO(1)O(1)); portanto, pelo princípio do pombo, haverá duas palavras para as quais estas são todas o mesmo. Mas, depois do bombeamento, podemos obter uma parte inicial comum arbitrariamente longa para essas duas palavras, enquanto sabemos que elas diferem apenas em seus últimosnnbits.


1

Nota. Esta é uma versão muito mais detalhada da minha outra resposta, pois ela não parecia suficientemente compreensível. Tentei convertê-lo para se parecer com lemas de bombeamento mais comuns, mas a prova completa chegou a ser complexa. Recomendo ler a declaração dos dois primeiros lemas para entender a idéia principal, depois a declaração do Corolário e, finalmente, o fim, onde provo por que o Corolário implica a resposta à pergunta.

A prova é baseada em uma generalização do lema de bombeamento. O lema de que precisamos é bastante elaborado; portanto, em vez de declará-lo imediatamente, começo com algumas generalizações mais fáceis, eventualmente desenvolvendo outras mais complicadas. Como aprendi mais tarde, isso é muito semelhante ao chamado lema de intercâmbio .

Lema de bombeamento duplo. Para cada livre de contexto linguagem LL há um pp tal que a partir de qualquer pp palavras s 1 , ... , s pLs1,,spL podemos selecionar dois, ss e s 's , que pode ser escrita como s = u v w x ys=uvwxy e s = U v w x y s=uvwxy tal que 1 | v x| p1|vx|p , 1 | v x | p1|vx|p e cada palavra ˉ u ˉ v 1 ... ˉ v n ˉ w ˉ x n ... ˉ x 1 ˉ yLu¯v¯1v¯nw¯x¯nx¯1y¯L , onde ˉ ww¯ pode ser Ww ou W 'w , e de forma semelhante, ˉ v iv¯i pode ser vv ou v v eˉ x ix¯ipode serxxouxx, mas somente de modo que ˉ v i=vv¯i=vse e somente se ˉ x i=xx¯i=x(assim ˉ v i=vv¯i=vse e somente se ˉ x i=xx¯i=x), e ˉ u =uu¯=use e somente se ˉ y =yy¯=ye ˉ u =u"u¯=use, e apenas se ˉ y=yy¯=y. Moreover, if instead of pp, we are given p(n+44)p(n+44) words of length nn, we can additionally suppose for the selected two words that |u|=|u||u|=|u|, |v|=|v||v|=|v|, |w|=|w||w|=|w|, |x|=|x||x|=|x| and |y|=|y||y|=|y|.

This statement can be proved essentially the same way as the pumping lemma, we just need to pick some ss and ss for which the same rule is pumped. This can be done if pp is large enough since there are only a constant number of rules. In fact, we don't even need that the same rule is pumped, but only that the non-terminal symbol is the same in the pumped rule. For the moreover part, notice that for a word of length nn there are only (n+44)(n+44) options it can be broken into five subwords, thus the statement follows from the pigeonhole principle.

Next we give another way of generalizing the pumping lemma (and later we'll combine the two).

Nested Pumping Lemma. For every context-free language LL there is a pp such that for any kk any word sLsL can be written as s=uv1vkwxkx1ys=uv1vkwxkx1y such that i 1|vixi|pi 1|vixi|p and for every sequence (ij)mj=1(ij)mj=1 the word uvi1vimwximxi1yLuvi1vimwximxi1yL.

Note that the indices ijij can be arbitrary from 11 to kk, the same index can occur multiple times. The proof of the Nested Pumping Lemma is essentially the same as the original pumping lemma's, we just need to use that we obtain the same non-terminal symbol from itself kk times - this is true if we do p(k1)+1p(k1)+1 steps (instead of the pp from the original pumping lemma). We can also strengthen Ogden's lemma in a similar way.

Nested Ogden's Lemma. For every context-free language LL there is a pp such that for any kk marking any at least pkpk positions in any word sLsL, it can be written as s=uv1vkwxkx1ys=uv1vkwxkx1y such that i 1i 1 '# of marks in vixivixi'pkpk and for every sequence (ij)mj=1(ij)mj=1 the word uvi1vimwximxi1yLuvi1vimwximxi1yL.

Unfortunately, in our application pkpk would be too large, so we need to weaken the conclusion to allow non-nested vivi-xixi pairs. Luckily, using Dilworth, the structure stays simple.

Dilworth Ogden's Lemma. For every context-free language LL there is a pp such that for any k,k, marking any at least pkpk positions in any word sLsL, it can be written either as

case (i): s=uv1vkwxkx1ys=uv1vkwxkx1y, or as

case (ii): s=uv1w1x1vwxys=uv1w1x1vwxy,

such that i 1i 1 '# of marks in vixivixi'pkpk and for every sequence (ij)mj=1(ij)mj=1,

in case (i) the word uvi1vimwximxi1yLuvi1vimwximxi1yL, and

in case (ii) the word uvi11w1xi11viwxiyLuvi11w1xi11viwxiyL.

Proof: Take the derivation tree generating ss. Call a non-terminal recurring if it appears again under itself in the derivation tree. By expanding the rule set, we can suppose that all non-terminal symbols are recurring in the derivation tree. (This is to be understood that we might have eliminated their recurrence; this doesn't matter, the point is that they can be pumped.) There are at least pkpk leaves that correspond to a marked position. We look at the nodes where two marked letters split. There are at least Ω(pk)Ω(pk) such nodes. By the pigeonhole principle, at least Ω(pk)Ω(pk) correspond to the same non-terminal. Using Dilworth, Ω(pk)Ω(pk) of them are in a chain or Ω(p)Ω(p) are in an antichain, giving cases (i) and (ii), respectively, if pp is large enough.

Now we are ready to state a big combination lemma.

Super Lemma. For every context-free language LL there is a pp such that for any k,k, marking the same at least pkpk positions in Nmax(pn2k+2,pn3+1)Nmax(pn2k+2,pn3+1) words s1,,sNLs1,,sNL, each of length n, there are two words, s and s, that can be written as s=uv1vkwxkx1y and s=uv1vkwxkx1y OR as s=uv1w1x1vwxy and s=uv1w1x1vwxy such that the respective lengths of the subwords are all the same, i.e., |u|=|u|, |vi|=|vi|, etc., and i vixi contains a mark, and for every sequence (ij)mj=1 the word ˉuˉvi1ˉvimˉwˉximˉxi1ˉyL OR ˉuˉvi11ˉw1ˉxi11ˉviˉwˉxiˉyL, respectively, where ˉz stands for z or z, i.e., we can freely mix the intermediate subwords from s and s, but only such that ˉu=u if and only if ˉy=y etc.

Proof sketch of Super Lemma: Apply the Dilworth Ogden's Lemma for each si. There are (n+2k+22k+2) and (n+3+13+1) possible options, respectively, where the boundaries between the subwords of si can be. There are a constant number of non-terminals in the language, thus by the pigeonhole principle, if p is large enough, the same non-terminal is pumped in the k/ rules for at least two words, s and s, that also have the same subword boundaries.

Unfortunately, the number N that comes from this lemma is too large for our application. We can, however, decrease it by demanding fewer coincidences among the subwords. Now we state the lemma that we'll use.

Special Lemma. For every context-free language L there is a p such that for any k marking the same at least pk positions in N=pkn2 words s1,,sNL, each of length n, there are two words, s and s, that can be written either as s=uv1vkwxkx1y and s=uv1vkwxkx1y such that either

case (i): i<k such that |xi|=|xi|=0, |uv1vi1|=|uv1vi1|, and |vi|=|vi| (i.e., the two latter conditions mean that the position of vi is the same as the position of vi), OR

case (ii): i<k |xi|1, |xi|1, |uv1vk1|=|uv1vk1| and |vkwxk|=|vkwxk| (i.e., these two conditions mean that the position of vkwxk is the same as the position of vkwxk),

and (for both cases) i vixi contains a mark, and for every sequence (ij)mj=1 the word ˉuˉvi1ˉvimˉwˉximˉxi1ˉyL, where ˉz stands for z or z, i.e., we can freely mix the intermediate subwords from s and s, but only such that ˉu=u if and only if ˉy=y etc., OR

case (iii): s and s can be written as s=uv1w1x1v2w2x2y and s=uv1w1x1v2w2x2y such that |u|=|u| and |v1w1x1|=|v1w1x1|, and i vixi contains a mark, and uvh1w1xh1v2w2x2yL and uvh1w1xh1v2w2x2yL.

The proof only differs from the Super Lemma's that there are k(n2) possible options for a word in case (i), which leaves (n2) options for case (ii), while in case (iii) there are (n2) options.

Corollary. If for every p there are t and n with np(t+1)+t such that there are N=n3 words of length n in a context-free language L whose first p(t+1) letters are the same for each word, and their last t letters are different for each pair or words (i.e., the words look like si=sbegismidisendi such that |sbegi|=p(t+1), |smidi|=np(t+1)t, |sendi|=t, and ij sbegi=sbegj and sendisendj), then there is a B such that there are infinitely many pairs of words ahbhL of equal length that differ only in their last B letters.

Proof: Take k=t+1 and apply the Special Lemma for our N words using N=n3p(t+1)n2, marking the first p(t+1) letters (that are the same in every word) to obtain s=uv1vt+1wxt+1x1y and s=uv1vt+1wxt+1x1y OR s=uv1w1x1v2w2x2y and s=uv1w1x1v2w2x2y.

If we are in case (i) of the Special Lemma, i.e., there is an i such that |xi|=|xi|=0, |uv1vi1|=|uv1vi1|, and |vi|=|vi|, then uv1vi1=uv1vi1 and vi=vi also hold, as vi+1wxi+1 needs to contain a marked letter, thus the subwords preceding vi+1 consist of only marked letters, and these are the same in s and s. We can take the words ah=uv1vhivtwxtx1y and bh=uv1vhivi+1vtwxtx1y to obtain the desired pairs; since these words end the same way as s and s, ahbh and they differ only in their last bounded many letters.

If we are in case (ii) of the Special Lemma, i.e., i<k |xi|1, |xi|1, |uv1vt|=|uv1vt| and |vt+1wxt+1|=|vt+1wxt+1|, then uv1vt=uv1vt also holds, similarly as in the previous case. Now we can take ah=uv1vtvht+1wxht+1xtx1y and bh=uv1vtvht+1wxht+1xtx1y; since |xtx1y|=|xtx1y|t, these words certainly end differently and can differ only in their last bounded many letters. (Note that this is the only place where we really need that we can pump one word with a subword of the other one.)

If we are in case (iii) of the Special Lemma, i.e., s=uv1w1x1v2w2x2y and s=uv1w1x1v2w2x2y such that |u|=|u| and |v1w1x1|=|v1w1x1|, then u=u and v1w1x1=v1w1x1 also hold, similarly as in the previous cases. Now we can take ah=uvh1w1xh1v2w2x2yL and bh=uvh1w1xh1v2w2x2yL; since v2 contains a marked letter, |v2w2x2y|t, thus these words certainly end differently and can differ only in their last bounded many letters.

This finishes the proof of the Corollary. Now let's see how to prove the original question from the Corollary.

Final proof. First we show that the condition of the Corollary is satisfied for every integer valued polynomial f. Set t=p1 and n=Cp for some large enough C=C(f). The plan is to take some numbers x1,,x2N (where N=2n3) for which f(xi)f(xj), and then add some sufficiently large number z to each of them to obtain the desired words si=f(xi+z). If the degree of f is d, then at most d numbers can take the same value, thus we can select x1,,x2N from the first 2dN numbers, which means that they have log(dn) digits. In this case f(xi)=O((dN)d), thus each f(xi) will have at most dlogN+O(1)=O(logn) digits. If we pick z to be an n/d digit number, then f(z) will have n digits, and for each f(xi+z) only the last O(logn) digits can differ. The f(xi+z) will all have n or n+1 digits, thus at least half, i.e., N of them have the same length; these will be the si.

From the conclusion of the Corollary we obtain infinitely many pairs of numbers ah and bh, such that |ahbh|2B, which is clearly impossible for polynomials.

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.