EDITS : Adicionado Lemas 2 e 3.
Aqui está uma resposta parcial: Você pode chegar à posição N
- em move usando o espaço N O ( ϵ ( N ) ) , onde ϵ ( N ) = 1 / √NNO(ϵ(N)) . (Lema 1)ϵ(N)=1/logN−−−−−√
- em se move usando o espaço O ( log N ) (para qualquer constante δ > 0 ) (Lema 2).N1+δO(logN)δ>0
Além disso, esboçamos um limite inferior (Lema 3): para uma certa classe das chamadas soluções bem comportadas , o Lema 1 é estanque (até fatores constantes no expoente) e nenhuma solução usando espaço poliologístico pode alcançar posição no tempo O ( NN .O(NpolylogN)
Lema 1. Para todos os , é possível alcançar a posição n em n movimentos usando space exp ( O ( √nnnexp(O(logn−−−−√)) = nO(1/logn√)
Prova. O esquema é recursivo, como mostrado na figura abaixo. Usamos a seguinte notação:
- é o número de níveis na recursãok
- é a solução formada (com k níveis de recursão).P(k)k
- é a posição máxima alcançada por P ( k ) (no tempo N ( k ) ).N(k)P(k)N(k)
- é o espaço usado por P ( k ) .S(k)P(k)
- é o número decamadasusadas por P ( k ) , conforme ilustrado abaixo:L(k)P(k)
Na figura, o tempo passa de cima para baixo. A solução não para no tempo N ( k ) ; em vez disso (para uso na recursão), continua até o tempo 2P(k)N(k) , invertendo exatamente seus movimentos, para retornar a uma única pedra no tempo 22N(k) .2N(k)
As linhas verticais sólidas dividem as camadas de P ( k ) . Na figura, L ( k ) é cinco, então P ( k ) consiste em 5 camadas. Cada uma das camadas L ( k ) de P ( k ) (exceto a mais à direita) tem dois subproblemas, um na parte superior da camada e outro na parte inferior, conectados por uma linha vertical sólida (representando um seixo que existe para essa duração). Na imagem, há cinco camadas, então há nove subproblemas. Geralmente, P (L(k)P(k)L(k)P(k)L(k)P(k) é composto por 2P(k) subproblemas. Cada subproblema de P ( k ) tem a solução P ( k - 1 ) .2L(k)−1P(k)P(k−1)
A observação crucial para delimitar o espaço é que, a qualquer momento, apenas duas camadas têm subproblemas "ativos". O resto contribui com apenas uma pedrinha cada, portanto temos
- eS(k)≤L(k)+2S(k−1)
- N(k)=L(k)⋅N(k−1)
Agora, escolhemos para determinar completamente P ( k ) . Não tenho certeza se essa opção é ideal, mas parece próxima: tome L ( k ) = 2 k . Então, as recorrências acima dãoL(k)P(k)L(k)=2k
- , eS(k)≤k⋅2k
- N(k)=2k(k+1)/2
Então, resolvendo para , temos k ≈ √n=N(k)
eS(k)≈ √k≈2logn−−−−−√. S(k)≈2logn−−−−−√22logn√=exp(O(logn−−−−√))
Isso cuida de todas as posições no conjunto { N ( k ) : k ∈ { 1 , 2 , … } } . Para n arbitrário , apare a parte inferior da solução P ( k ) para o menor k com N ( k ) ≥ n . O limite desejado é válido porque S ( k ) / S ( k - 1 ) = O (n{N(k):k∈{1,2,…}}nP(k)kN(k)≥n . QEDS(k)/S(k−1)=O(1)
Lema 2. Para qualquer , para todos os n , é possível alcançar a posição n em n 1 + δ usando o espaço O ( δ 2 1 / δ log n ) .δ>0nnn1+δO(δ21/δlogn).
Prova. Modifique a construção da prova do Lema 1 para atrasar o início de cada subproblema até a conclusão do subproblema anterior, conforme mostrado abaixo:
Deixe indicar o tempo para a solução modificada P ( k ) terminar. Agora, a cada etapa, apenas uma camada possui um subproblema que contribui com mais de uma pedra.T(k)P(k)
- ,S(k)≤L(k)+S(k−1)
- ,N(k)=L(k)⋅N(k−1)
- .T(k)=(2L(k)−1)⋅T(k−1)≤2L(k)⋅T(k−1)≤2kN(k)
Escolhendo , obtemosL(k)=21/δ
- ,S(k)≤k21/δ
- ,N(k)=2k/δ
- .T(k)≤2kN(k)
Resolvendo para e T = T ( k ) em termos de n = N ( k ) , temos k = δ log n , eS=S(k)T=T(k)n=N(k)k=δlogn
- , eS≤δ21/δlogn
- . T≤n1+δ
Isso cuida de todas as posições no conjunto { N ( k ) : k ∈ { 1 , 2 , … } } . Para n arbitrário , apare a parte inferior da solução P ( k ) para o menor k com N ( k ) ≥ n . O limite desejado é válido porque S ( k ) / S ( k - 1 ) = O (n{N(k):k∈{1,2,…}}nP(k)kN(k)≥n . QEDS(k)/S(k−1)=O(1)
As soluções nas provas dos lemas 1 e 2 são bem-comportadas , na medida em que, para suficientemente grande , para cada solução P ( n ) que atinge a posição n existe uma posição k ≤ n / 2, de modo que apenas uma pedrinha é sempre colocado na posição k , e a solução se decompõe em uma solução (bem comportada) P ( N - k ) para as posições k + 1 , k + 2 , … , ne duas soluções (bem comportadas)nP(n)nk≤n/2kP(N−k)k+1,k+2,…,n , cada um para as posições 1 , 2 , … , k , conectados pelo seixo na posição k . Com uma definição apropriada debem-comportado, deixe V ( n ) denotar ovolumemínimo deseixos(a soma ao longo do tempo do número de seixos de cada vez) para qualquer solução bem comportada. A definição implica que, para n suficientemente grande, para δ = 1 > 0 ,
V ( n ) ≥ min k <P(k)1,2,…,kkV(n)nδ=1>0
V(n)≥mink<nV(n−k)+max(n/2,(1+δ)V(k)).
Suponho que, para todo suficientemente grande, exista uma solução bem comportada que minimize o volume de seixos. Talvez alguém possa provar isso? (Ou apenas que alguma solução quase ideal satisfaça a recorrência ...)n
Lembre-se de que .ϵ(n)=1/logn−−−−√
Lema 3. Para qualquer constante , a recorrência acima implica em V ( n ) ≥ n 1 + Ω ( ϵ ( n ) ) .δ>0V(n)≥n1+Ω(ϵ(n))
Antes de esboçar a prova do lema, observe que isso implica que qualquer solução bem comportada que atinja a posição em t etapas deve ocupar pelo menos n 1 + Ω ( ϵ ( n ) ) / t em alguma etapa. Isso produz corolários como:ntn1+Ω(ϵ(n))/t
- O lema 1 é restrito a fatores constantes no expoente (para soluções bem comportadas).
- Nenhuma solução bem comportada pode atingir a posição em nn etapas de tempo usando espaço polilognpolylogn . (Usando aqui que n Ω ( ϵ ( n ) ) = exp ( Ω ( √polylogn .)nΩ(ϵ(n))=exp(Ω(logn−−−−√))⊈polylogn
Esboço de prova. Mostramos onde f ( n ) = n 1 + c ϵ ( n ) para alguma constante suficientemente pequena c . Assumimos ao WLOG que n é arbitrariamente grande, porque, considerando c > 0 pequeno o suficiente, podemos garantir 2 V ( n ) ≥ f ( n ) para qualquer conjunto finito de n2V(n)≥f(n)f(n)=n1+cϵ(n)c.nc>02V(n)≥f(n)n(usando aqui que , digamos).V(n)≥n
O lema seguirá indutivamente a partir da recorrência, desde que, para todos os suficientemente grandes , tenhamos f ( n ) ≤ min k < n f ( n - k ) + max ( n , 2 f ( k ) ) , ou seja, f ( n ) - f ( n - k ) ≤ máx ( n , ( 1 + δ ) f (nf(n)≤mink<nf(n−k)+max(n,2f(k)) para k < n .f(n)−f(n−k)≤max(n,(1+δ)f(k))k<n.
Como é convexo, temos f ( n ) - f ( n - k ) ≤ k f ′ ( n ) . Portanto, basta se k f ′ ( n ) ≤ max ( n , ( 1 + δ ) f ( k ) ) .ff(n)−f(n−k)≤kf′(n)kf′(n)≤max(n,(1+δ)f(k)).
Por um breve cálculo (usando ef′(n)=(f(n)/n)(1+c/(2√f(n)/n=eclogn√e usando uma mudança de variáveisx= √f′(n)=(f(n)/n)(1+c/(2logn−−−−√)), ey= √x=logk−−−−√ ), esta desigualdade é equivalente à que se segue: para todos suficientemente grandeyex≤y,e c y (1+C/(2y))≤max(E y 2 - x 2 ,(1+δ)e c x ). Como1+z≤ezeez≤1+y=logn−−−−√yx≤yecy(1+c/(2y))≤max(ey2−x2,(1+δ)ecx)1+z≤ez para z ≤ 1 , basta mostrar
e c y + c / ( 2 y ) ≤ max ( e y 2 - x 2 , e 2 δ + c x ) , ou seja,
c y + c / ( 2 y ) ≤ máx ( y 2 - x 2 , 2 δ + cez≤1+2zz≤1ecy+c/(2y)≤max(ey2−x2,e2δ+cx),
cy+c/(2y)≤max(y2−x2,2δ+cx).
Se , então c y + c / ( 2 y ) ≤ c x + 0,2 δ (para y grande ) e terminamos, então assuma que y ≥ x + 0,1 δ / c . Então y 2 - x 2 ≥ 0,1 y δ / c (para y grande ), então basta mostrar
c y +y≤x+0.1δ/ccy+c/(2y)≤cx+0.2δyy≥x+0.1δ/cy2−x2≥0.1yδ/cy
Isso vale para c suficientemente pequenoe y grande . QED
cy+c/(2y)≤0.1yδ/c.
cy.