Параллельная игра в гальку на линии


13

В игре с камушками на линии есть N + 1 узлы, обозначенные от 0 до N. Игра начинается с камешка на узле 0. Если на узле i есть камушек, вы можете добавить или удалить камешек из узла i + 1. Цель состоит в том, чтобы поместить гальку в узел N, не помещая одновременно много гальки на доску и не делая слишком много шагов.

Наивное решение состоит в том, чтобы поместить гальку в 1, затем в 2, затем в 3 и так далее. Это оптимально с точки зрения количества шагов. Это не оптимально для максимального количества камней на доске одновременно: на последнем шаге на доске есть N камней (не считая одного на 0).

В этой статье рассматривается стратегия, при которой на доске одновременно остается меньше камешков . Они достигают узла N, не превышая Θ(lg⁡N) камешков за раз, но за счет увеличения количества шагов до Θ(nlg2⁡3) . Они переключают, есть ли камешек в позиции N не оставляя других камушков, рекурсивно переключая N/2 , используя это в качестве отправной точки для переключения N с другим рекурсивным шагом, затем переключая N/2 с третьим рекурсивным шагом половинного размера в очисти это.

Меня интересует компромисс между максимальным количеством камешков и количеством шагов, при условии, что добавление и удаление камешков можно выполнять параллельно. Под «параллелью» я подразумеваю, что каждый шаг может добавлять или удалять столько камешков, сколько необходимо, при условии, что каждое отдельное добавление / удаление разрешено и не взаимодействует с другими выполняемыми движениями. В частности, если A - это набор узлов, к которым мы хотим добавить или удалить камешки, а P - это набор узлов, у которых был камешек в начале шага, тогда мы можем сделать все эти добавления и удаления за один шаг, как пока {a−1|a∈A}⊆P−A .

Например, рассмотрим стратегию, которая помещает камешек в на шаге i , но помечает камешки, кратные √ii как «контрольные точки» и удаляет гальку с самым высоким индексом позади контрольной точки, когда это возможно. Эта стратегия все еще достигает узла N послеNшагов, как и наивная стратегия, но уменьшает максимальное количество камешков сNдо2 √NNN .2N

Существуют ли стратегии параллельного выравнивания линий, которые заканчиваются за шагов с еще более низкой асимптотической сложностью max-pebble? Что, если мы хотим разрешить O ( N lg N ) шагов? Каковы «интересные» моменты, когда компромисс между max-pebble и временем особенно хорош?NO(Nlg⁡N)


На каждом этапе, сколько камешков вы можете добавить или удалить? Если только один, в четвертом абзаце, вы имеете в виду полных шагов, а не N ? При подсчете используемой гальки, является ли это максимальное количество на доске в любой момент в последовательности? O(N)N
— Нил Янг

@NealYoung В параллельном случае вы можете добавлять и удалять столько камешков за шаг, сколько захотите. Но если вы воздействуете на позицию то в позиции k - 1 должен быть камушек в начале шага. Я имел в виду ровно N шагов, но O ( N ) также интересно и, конечно, включено в O ( N lg N ) . Да, это максимальное количество камней, которые имеют значение. kk−1O(N)O(Nlg⁡N)
— Крейг Гидни

Как насчет оригинальной стратегии, но с «распараллеливанием»? Когда мы достигнем начнем очищать первую половину параллельно; при достижении 3 N / 4 начните очищать диапазон [ N / 2 - 3 N / 4 ] И продолжайте очищать первую половину параллельно (в то время, когда мы помещаем камушек на 3 N / 4, остается только N / 4 камешков на первая половина); и так далее для ( 2 k - 1 )N/23N/4[N/2−3N/4]3N/4N/4 до н(2k−1)N/2kN, Сложность гальки должна быть такой же: , но с N шагами. Θ(lg⁡N)N
— Марцио Де

@MarzioDeBiasi Почему сложность гальки будет такой же? Насколько я могу судить, рекуррентное соотношение будет идти от к 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)
— Крейг Гидни

@CraigGidney: ты прав ...
— Марцио Де

Ответы:


4

РЕДАКТИРОВАТЬ : Добавлены леммы 2 и 3.

Вот частичный ответ: Вы можете достичь позиции N

  • в движется, используя пространство N O ( ϵ ( N ) ) , где ϵ ( N ) = 1 / √NNO(ϵ(N)) . (Лемма 1)ϵ(N)=1/log⁡N
  • в движется с использованием пространства O ( log N ) (для любой постоянной δ > 0N1+δO(log⁡N)δ>0 ) (лемма 2).

Кроме того, мы рисуем нижнюю границу (лемма 3): для определенного класса так называемых решений с хорошим поведением лемма 1 является жесткой (с точностью до постоянных множителей в показателе степени), и никакое такое решение, использующее пространство с полулогами, не может достичь положение во времениNO(NpolylogN) .

Лемма 1. Для всех можно достичь положения n за n ходов, используя пробел exp ( O (nnn

exp⁡(O(log⁡n)) = nO(1/log⁡n)

Доказательство. Схема рекурсивная, как показано на рисунке ниже. Мы используем следующие обозначения:

  • - количество уровней в рекурсии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)

                  solution structure for lemma 1

На картинке время течет сверху вниз. Решение не останавливается в момент 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≈2log⁡n. S(k)≈2log⁡n22log⁡n=exp⁡(O(log⁡n))

Это учитывает все позиции в множестве { 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/δlog⁡n).

Proof. Modify the construction from the proof of Lemma 1 to delay starting each subproblem until the previous subproblem has finished, as shown below:

                  solution structure for lemma 2

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

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

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⁡(Ω(log⁡n))⊈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=eclog⁡n and f′(n)=(f(n)/n)(1+c/(2log⁡n)), and using a change of variables x=log⁡k and y=log⁡n), 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

FWIW, I have a proof that there is always a near-optimal well-behaved solution, so the lower bound in Lemma 3 applies to all solutions. It's a bit too involved to type in here -- if anybody is interested contact me by email (google "neal young computer science" for contact info).
— Neal Young
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.