В игре с камушками на линии есть N + 1 узлы, обозначенные от 0 до N. Игра начинается с камешка на узле 0. Если на узле i есть камушек, вы можете добавить или удалить камешек из узла i + 1. Цель состоит в том, чтобы поместить гальку в узел N, не помещая одновременно много гальки на доску и не делая слишком много шагов.
Наивное решение состоит в том, чтобы поместить гальку в 1, затем в 2, затем в 3 и так далее. Это оптимально с точки зрения количества шагов. Это не оптимально для максимального количества камней на доске одновременно: на последнем шаге на доске есть N камней (не считая одного на 0).
В этой статье рассматривается стратегия, при которой на доске одновременно остается меньше камешков . Они достигают узла N, не превышая камешков за раз, но за счет увеличения количества шагов до . Они переключают, есть ли камешек в позиции не оставляя других камушков, рекурсивно переключая , используя это в качестве отправной точки для переключения с другим рекурсивным шагом, затем переключая с третьим рекурсивным шагом половинного размера в очисти это.
Меня интересует компромисс между максимальным количеством камешков и количеством шагов, при условии, что добавление и удаление камешков можно выполнять параллельно. Под «параллелью» я подразумеваю, что каждый шаг может добавлять или удалять столько камешков, сколько необходимо, при условии, что каждое отдельное добавление / удаление разрешено и не взаимодействует с другими выполняемыми движениями. В частности, если - это набор узлов, к которым мы хотим добавить или удалить камешки, а - это набор узлов, у которых был камешек в начале шага, тогда мы можем сделать все эти добавления и удаления за один шаг, как пока .
Например, рассмотрим стратегию, которая помещает камешек в на шаге i , но помечает камешки, кратные √ как «контрольные точки» и удаляет гальку с самым высоким индексом позади контрольной точки, когда это возможно. Эта стратегия все еще достигает узла N послеNшагов, как и наивная стратегия, но уменьшает максимальное количество камешков сNдо2 √ .
Существуют ли стратегии параллельного выравнивания линий, которые заканчиваются за шагов с еще более низкой асимптотической сложностью max-pebble? Что, если мы хотим разрешить O ( N lg N ) шагов? Каковы «интересные» моменты, когда компромисс между max-pebble и временем особенно хорош?
источник
Ответы:
РЕДАКТИРОВАТЬ : Добавлены леммы 2 и 3.
Вот частичный ответ: Вы можете достичь позицииN
Кроме того, мы рисуем нижнюю границу (лемма 3): для определенного класса так называемых решений с хорошим поведением лемма 1 является жесткой (с точностью до постоянных множителей в показателе степени), и никакое такое решение, использующее пространство с полулогами, не может достичь положение во времениN O(NpolylogN) .
Лемма 1. Для всех можно достичь положения n за n ходов, используя пробел exp ( O (n n n exp(O(logn−−−−√)) = nO(1/logn√)
Доказательство. Схема рекурсивная, как показано на рисунке ниже. Мы используем следующие обозначения:
На картинке время течет сверху вниз. Решение не останавливается в момент 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)−1 P(k) P(k−1)
Критическое наблюдение для ограничения пространства состоит в том, что в любое время только два слоя имеют «активные» подзадачи. Остальные вносят только одну гальку, таким образом, мы имеем
Теперь мы выбираем чтобы полностью определить P ( k ) . Я не уверен, является ли этот выбор оптимальным, но он кажется близким: возьмем L ( k ) = 2 k . Тогда приведенные выше рецидивы даютL(k) P(k) L(k)=2k
Итак, решая для , имеем 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,…}} n P(k) k N(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:
LetT(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
Solving forS=S(k) and T=T(k) in terms of n=N(k) , we have k=δlogn , and
This takes care of all positionsn 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 largen , 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 ,
I conjecture that for every sufficiently largen 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 positionn in t steps has to take space at least n1+Ω(ϵ(n))/t at some step. This yields corollaries such as:
Proof sketch. We show2V(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 largen , 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.
Sincef 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 (usingf(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,
Ify≤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
источник