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Θ(lg⁡N)Θ(nlg2⁡3)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{a−1|a∈A}⊆P−A

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 NN2 √NNN2N

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(Nlg⁡N)


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 )kk−1O(N)O(Nlg⁡N)
— 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/2−3N/4]3N/4N/4 até N . A complexidade dos seixos deve ser a mesma: Θ ( lg N ) , mas com N etapas. (2k−1)N/2kNΘ(lg⁡N)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/log⁡N
  • em se move usando o espaço O ( log N ) (para qualquer constante δ > 0 ) (Lema 2).N1+δO(log⁡N)δ>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(log⁡n)) = nO(1/log⁡n)

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(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≈2log⁡n. S(k)≈2log⁡n22log⁡n=exp⁡(O(log⁡n))

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/δlog⁡n).

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(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=δlog⁡n

  • , eS≤δ21/δlog⁡n
  • . 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/log⁡n

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⁡(Ω(log⁡n))⊈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=eclog⁡ne usando uma mudança de variáveisx= √f′(n)=(f(n)/n)(1+c/(2log⁡n)), ey= √x=log⁡k ), 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=log⁡nyx≤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.

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.