Jogo de pedras paralelas em uma linha


13

No jogo de pedras em uma linha, há N + 1 nós rotulados de 0 a N. O jogo começa com uma pedra no nó 0. Se houver uma pedra no nó i, você poderá adicionar ou remover uma pedra do nó i + 1. O objetivo é colocar uma pedra no nó N, sem colocar muitas pedras no quadro ao mesmo tempo e sem dar muitos passos.

A solução ingênua é colocar uma pedrinha em 1, depois 2, depois 3 e assim por diante. Isso é ideal em termos de número de etapas. Não é o ideal para o número máximo de pedras no tabuleiro ao mesmo tempo: durante o último passo, há N pedras no tabuleiro (sem contar o número 0).

Uma estratégia que coloca menos pedrinhas no quadro ao mesmo tempo está neste artigo . Eles atingem o nó N sem exceder os seixos cada vez, mas com o custo de aumentar o número de etapas para . Eles alternam se há uma pedra na posição sem deixar outras pedras alternando recursivamente , usando isso como ponto de partida para alternar com outra etapa recursiva e depois alternar com uma terceira etapa recursiva de tamanho médio para limpe-o.Θ ( n lg 2 3 ) N N / 2 N N / 2Θ(lgN)Θ(nlg23)NN/2NN/2

Estou interessado na troca entre o número máximo de seixos e o número de etapas, sob a suposição de que adições e remoções de seixos podem ser feitas em paralelo. Por "paralelo", quero dizer que cada etapa pode adicionar ou remover quantas pedras desejar, desde que cada adição / remoção individual seja permitida e não interaja com os outros movimentos que estão sendo feitos. Especificamente, se é o conjunto de nós dos quais queremos adicionar ou remover seixos e é o conjunto de nós que possuíam um seixo no início da etapa, podemos fazer todas essas adições e remoções em uma única etapa, como contanto que .P { a - 1 | a A } P - AAP{a1|aA}PA

Por exemplo, considere a estratégia que coloca uma pedra no na etapa , mas marcas dos seixos que são múltiplos de como "checkpoints" e remove a pedra mais alto índice atrás de um posto de controle cascalho sempre que possível. Essa estratégia ainda atinge o nó N após etapas, como a estratégia ingênua, mas reduz o número máximo de pedras de para .i ii NN2NNN2N

Existem estratégias de seixos de linhas paralelas que terminam em etapas com uma complexidade ainda maior de max-seixos assintóticos? E se estivermos dispostos a permitir etapas ? Quais são os pontos "interessantes", nos quais a troca entre max-seixo e tempo é particularmente boa?O ( N lg N )NO(NlgN)


Em cada etapa, quantas pedras você pode adicionar ou remover? Se apenas um, no seu quarto parágrafo, você quer dizer total de etapas, em vez de ? Ao contar pedras usadas, é o número máximo no quadro a qualquer momento durante a sequência? NO(N)N
Neal Young

@NealYoung No caso paralelo, você pode adicionar e remover quantos seixos por etapa desejar. Mas se você afeta a posição , deve haver uma pedra na posição presente no início da etapa. Eu quis dizer exatamente N etapas, mas também é interessante e, claro, está incluído em . Sim, é o número máximo de pedras que importa. k - 1 O ( N ) O ( N lg N )kk1O(N)O(NlgN)
Craig Gidney

E a estratégia original, mas com a "paralelização"? Quando chegarmos a comece a limpar a primeira metade em paralelo; ao atingir 3 N / 4, comece a limpar o intervalo [ N / 2 - 3 N / 4 ] E continue limpando a primeira metade em paralelo (no momento em que colocamos uma pedra em 3 N / 4, restam apenas N / 4 pedras em a primeira metade); e assim por diante ( 2 k - 1 ) N / 2N/23N/4[N/23N/4]3N/4N/4 até N . A complexidade dos seixos deve ser a mesma: Θ ( lg N ) , mas com N etapas. (2k1)N/2kNΘ(lgN)N
Marzio De Biasi

@MarzioDeBiasi Por que a complexidade dos seixos seria a mesma? Até onde eu sei, a relação de recorrência passaria de para F ( n ) = 2 F ( n / 2 ) + 1 = O ( n ) . F(n)=F(n/2)+1=O(lg(n))F(n)=2F(n/2)+1=O(n)
Craig Gidney

@CraigGidney: você está certo ...
Marzio De Biasi

Respostas:


4

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 ( nnn

exp(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)

                  estrutura da solução para o lema 1

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(k1)

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(k1)
  • N(k)=L(k)N(k1)

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)k2k
  • N(k)=2k(k+1)/2

Então, resolvendo para , temos k n=N(k) eS(k)k2logn. S(k)2logn22logn=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(k1)=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:

                  estrutura da solução para o lema 2

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(k1)
  • ,N(k)=L(k)N(k1)
  • .T(k)=(2L(k)1)T(k1)2L(k)T(k1)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
  • . Tn1+δ

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(k1)=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)nkn/2kP(Nk)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(nk)+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(nk)+max(n,2f(k)) para k < n .f(n)f(nk)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(nk)kf(n)kf(n)max(n,(1+δ)f(k)).

Por um breve cálculo (usando ef(n)=(f(n)/n)(1+c/(2f(n)/n=eclogne 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 grandeyexy,e c y (1+C/(2y))max(E y 2 - x 2 ,(1+δ)e c x ). Como1+zezeez1+y=lognyxyecy(1+c/(2y))max(ey2x2,(1+δ)ecx)1+zez 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 δ + cez1+2zz1ecy+c/(2y)max(ey2x2,e2δ+cx),

cy+c/(2y)max(y2x2,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 20,1 y δ / c (para y grande ), então basta mostrar c y +yx+0.1δ/ccy+c/(2y)cx+0.2δyyx+0.1δ/cy2x20.1yδ/cy Isso vale para c suficientemente pequenoe y grande . QED

cy+c/(2y)0.1yδ/c.
cy.

FWIW, tenho uma prova de que sempre existe uma solução bem-comportada quase ideal, portanto o limite inferior no Lema 3 se aplica a todas as soluções. É um pouco complicado demais digitar aqui - se alguém estiver interessado, entre em contato comigo por e-mail (google "neal young computer science" para informações de contato).
Neal Young
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.