РЕДАКТИРОВАТЬ : Добавлены леммы 2 и 3.
Вот частичный ответ: Вы можете достичь позиции N
- в движется, используя пространство N O ( ϵ ( N ) ) , где ϵ ( N ) = 1 / √NNO(ϵ(N)) . (Лемма 1)ϵ(N)=1/logN−−−−−√
- в движется с использованием пространства O ( log N ) (для любой постоянной δ > 0N1+δO(logN)δ>0 ) (лемма 2).
Кроме того, мы рисуем нижнюю границу (лемма 3): для определенного класса так называемых решений с хорошим поведением лемма 1 является жесткой (с точностью до постоянных множителей в показателе степени), и никакое такое решение, использующее пространство с полулогами, не может достичь положение во времениNO(NpolylogN) .
Лемма 1. Для всех можно достичь положения n за n ходов, используя пробел exp ( O (nnnexp(O(logn−−−−√)) = nO(1/logn√)
Доказательство. Схема рекурсивная, как показано на рисунке ниже. Мы используем следующие обозначения:
- - количество уровней в рекурсииk
- - сформированное решение (с k уровнями рекурсии).P(k)k
- - максимальная позиция, достигнутая P ( k ) (в момент времени N ( k ) ).N(k)P(k)N(k)
- - пространство, используемое P ( k ) .S(k)P(k)
- - количествослоев,используемых P ( k ) , как показано ниже:L(k)P(k)
На картинке время течет сверху вниз. Решение не останавливается в момент N ( k )P(k)N(k) , вместо этого (для использования в рекурсии) оно продолжается до времени 2N(k) , точно меняющий ходы, чтобы вернуться к одной гальке в момент времени 2N(k) .
Сплошные вертикальные линии разделяют слои группы P ( k ) . На рисунке L ( k ) равно пяти, поэтому P ( k ) состоит из 5 слоев. Каждый из L ( k ) слоев P ( k ) (кроме самого правого) имеет две подзадачи, одну в верхней части слоя и одну в нижней части, соединенные сплошной вертикальной линией (представляющей гальку, которая существует для эта продолжительность). На рисунке пять слоев, поэтому есть девять подзадач. Как правило,L(k)P(k)L(k)P(k)L(k)P(k) состоит из 2P(k) подзадача. Каждая подзадача в P ( k ) имеет решение P ( k - 1 ) .2L(k)−1P(k)P(k−1)
Критическое наблюдение для ограничения пространства состоит в том, что в любое время только два слоя имеют «активные» подзадачи. Остальные вносят только одну гальку, таким образом, мы имеем
- иS(k)≤L(k)+2S(k−1)
- N(k)=L(k)⋅N(k−1)
Теперь мы выбираем чтобы полностью определить P ( k ) . Я не уверен, является ли этот выбор оптимальным, но он кажется близким: возьмем L ( k ) = 2 k . Тогда приведенные выше рецидивы даютL(k)P(k)L(k)=2k
- S(k)≤k⋅2k , и
- N(k)=2k(k+1)/2
Итак, решая для , имеем k ≈ √n=N(k)
иS(k)≈ √k≈2logn−−−−−√. S(k)≈2logn−−−−−√22logn√=exp(O(logn−−−−√))
Это учитывает все позиции в множестве { N ( k ) : k ∈ { 1 , 2 , … } } . Для произвольного n обрежьте дно решения P ( k ) для наименьшего k с N ( k ) ≥ n . Требуемая оценка выполняется, потому что S ( k ) / S ( k - 1 ) = O (n{N(k):k∈{1,2,…}}nP(k)kN(k)≥n . QEDS(k)/S(k−1)=O(1)
Lemma 2. For any δ>0, for all n, it is possible to reach position n in n1+δ moves using space O(δ21/δlogn).
Proof. Modify the construction from the proof of Lemma 1 to delay starting each subproblem until the previous subproblem has finished, as shown below:
Let T(k) denote the time for the modified solution P(k) to finish. Now at each time step, only one layer has a subproblem that contributes more than one pebble, so
- 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).
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