EDICIONES : Se agregaron Lemmas 2 y 3.
Aquí hay una respuesta parcial: puede alcanzar la posición N
- en mueve usando el espacio N O ( ϵ ( N ) ) , donde ϵ ( N ) = 1 / √NNO(ϵ(N)) . (Lema 1)ϵ(N)=1/logN−−−−−√
- en mueve usando el espacio O ( log N ) (para cualquier constante δ > 0 ) (Lema 2).N1+δO(logN)δ>0
Además, esbozamos un límite inferior (Lema 3): para una cierta clase de las llamadas soluciones de buen comportamiento , el Lema 1 es ajustado (hasta factores constantes en el exponente), y ninguna solución que use el espacio poli-log puede alcanzar posición en el tiempo O ( NN .O(NpolylogN)
Lema 1. Para todo , es posible alcanzar la posición n en n movimientos usando el espacio exp ( O ( √nnnexp(O(logn−−−−√)) = nO(1/logn√)
Prueba. El esquema es recursivo, como se muestra en la figura a continuación. Usamos la siguiente notación:
- es el número de niveles en la recursividadk
- es la solución formada (con k niveles de recursión).P(k)k
- es la posición máxima alcanzada por P ( k ) (en el momento N ( k ) ).N(k)P(k)N(k)
- es el espacio utilizado por P ( k ) .S(k)P(k)
- es el número decapasutilizadas por P ( k ) , como se ilustra a continuación:L(k)P(k)
En la imagen, el tiempo pasa de arriba a abajo. La solución no se detiene en el momento N ( k ) , sino que (para usar en la recursión) continúa hasta el tiempo 2P(k)N(k) , invirtiendo exactamente sus movimientos, para volver a una sola piedra en el momento 22N(k) .2N(k)
Las líneas verticales continuas dividen las capas de P ( k ) . En la imagen, L ( k ) es cinco, entonces P ( k ) consta de 5 capas. Cada una de las capas L ( k ) de P ( k ) (excepto la más a la derecha) tiene dos subproblemas, uno en la parte superior de la capa y otro en la parte inferior, conectados por una línea vertical continua (que representa un guijarro que existe para esa duración). En la imagen, hay cinco capas, por lo que hay nueve subproblemas. En general, P (L(k)P(k)L(k)P(k)L(k)P(k) se compone de 2P(k) subproblemas. Cada subproblema de P ( k ) tiene la solución P ( k - 1 ) .2L(k)−1P(k)P(k−1)
La observación crucial para delimitar el espacio es que, en cualquier momento, solo dos capas tienen subproblemas "activos". El resto aporta solo una piedra cada uno, así tenemos
- , yS(k)≤L(k)+2S(k−1)
- N(k)=L(k)⋅N(k−1)
Ahora, elegimos para determinar completamente P ( k ) . No estoy seguro de si esta opción es óptima, pero parece cercana: tome L ( k ) = 2 k . Entonces las recurrencias anteriores danL(k)P(k)L(k)=2k
- , yS(k)≤k⋅2k
- N(k)=2k(k+1)/2
Entonces, resolviendo para , tenemos k ≈ √n=N(k)
yS(k)≈ √k≈2logn−−−−−√. S(k)≈2logn−−−−−√22logn√=exp(O(logn−−−−√))
Esto se ocupa de todas las posiciones en el conjunto { N ( k ) : k ∈ { 1 , 2 , ... } } . Para n arbitraria , recorte el fondo de la solución P ( k ) para la k más pequeña con N ( k ) ≥ n . El límite deseado se cumple 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 cualquier , para todo n , es posible alcanzar la posición n en n 1 + movimientos δ utilizando el espacio O ( δ 2 1 / δ log n ) .δ>0nnn1+δO(δ21/δlogn).
Prueba. Modifique la construcción a partir de la prueba del Lema 1 para retrasar el inicio de cada subproblema hasta que el subproblema anterior haya terminado, como se muestra a continuación:
Deje que denote el tiempo para que termine la solución modificada P ( k ) . Ahora, en cada paso de tiempo, solo una capa tiene un subproblema que contribuye con más de una piedra, por lo queT(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).
Choosing L(k)=21/δ, we get
- S(k)≤k21/δ,
- N(k)=2k/δ,
- T(k)≤2kN(k).
Solving for S=S(k) and T=T(k) in terms of n=N(k), we have k=δlogn, and
- S≤δ21/δlogn, and
- T≤n1+δ.
This takes care of all positions n in the set {N(k):k∈{1,2,…}}. For arbitrary n, trim the bottom of the solution P(k) for the smallest k with N(k)≥n. The desired bound holds because S(k)/S(k−1)=O(1). QED
The solutions in the proofs of Lemmas 1 and 2 are well-behaved, in that, for sufficiently large n, for each solution P(n) that reaches position n there is a position k≤n/2 such that only one pebble is ever placed at position k, and the solution decomposes into a (well-behaved) solution P(N−k) for positions k+1,k+2,…,n and two (well-behaved) solutions P(k), each for positions 1,2,…,k, connected by the pebble at position k. With an appropriate definition of well-behaved, let V(n) denote the minimum pebble volume (the sum over time of the number of pebbles at each time) for any well-behaved solution. The definition implies that for sufficiently large n, for δ=1>0,
V(n)≥mink<nV(n−k)+max(n/2,(1+δ)V(k)).
I conjecture that for every sufficiently large n there is a well-behaved solution that minimizes pebble volume. Maybe somebody can prove it? (Or just that some near-optimal solution satisfies the recurrence...)
Recall that ϵ(n)=1/logn−−−−√.
Lemma 3. For any constant δ>0, the above recurrence implies V(n)≥n1+Ω(ϵ(n)).
Before we sketch the proof of the lemma, note that it implies that any well-behaved solution that reaches position n in t steps has to take space at least n1+Ω(ϵ(n))/t at some step. This yields corollaries such as:
- Lemma 1 is tight up to constant factors in the exponent (for well-behaved solutions).
- No well-behaved solution can reach position n in npolylogn time steps using space polylogn. (Using here that nΩ(ϵ(n))=exp(Ω(logn−−−−√))⊈polylogn.)
Proof sketch. We show 2V(n)≥f(n) where f(n)=n1+cϵ(n) for some sufficiently small constant c. We assume WLOG that n is arbitrarily large, because by taking c>0 small enough, we can ensure 2V(n)≥f(n) for any finite set of n (using here that V(n)≥n, say).
The lemma will follow inductively from the recurrence as long as, for all sufficiently large n, we have f(n)≤mink<nf(n−k)+max(n,2f(k)), that is, f(n)−f(n−k)≤max(n,(1+δ)f(k)) for k<n.
Since f is convex, we have f(n)−f(n−k)≤kf′(n). So it suffices if kf′(n)≤max(n,(1+δ)f(k)).
By a short calculation (using f(n)/n=eclogn√ and f′(n)=(f(n)/n)(1+c/(2logn−−−−√)), and using a change of variables x=logk−−−−√ and y=logn−−−−√), this inequality is equivalent to the following:
for all sufficiently large y and x≤y, ecy(1+c/(2y))≤max(ey2−x2,(1+δ)ecx). Since 1+z≤ez, and ez≤1+2z for z≤1, it suffices to show
ecy+c/(2y)≤max(ey2−x2,e2δ+cx), that is,
cy+c/(2y)≤max(y2−x2,2δ+cx).
If y≤x+0.1δ/c, then cy+c/(2y)≤cx+0.2δ (for large y) and we are done, so assume y≥x+0.1δ/c. Then y2−x2≥0.1yδ/c (for large y), so it suffices to show
cy+c/(2y)≤0.1yδ/c.
This holds for sufficiently small
c and large
y. QED