在线上的并行卵石游戏


13

在一行上的Pebble游戏中,有N + 1个标记为0到N的节点。该游戏从节点0上的卵石开始。如果节点i上存在卵石,则可以从节点i + 1添加或删除卵石。目的是在节点N上放置一个小石子,而无需同时在板上放置许多小石子,并且无需执行太多步骤。

天真的解决方案是在1、2、3等上放置一个卵石。就步骤数而言,这是最佳的。同时板上的最大卵石数量并不是最佳的:在最后一步中,板上有N个卵石(不计0的卵石)。

在同一时间放置在电路板上较少的卵石策略是在本文中。它们一次到达节点N而不会超过Θ(lgN)小卵石,但是代价是将步数增加到Θ(nlg23)。他们切换是否有一个在位置上的卵石N而不通过递归地切换周围留下任何其他卵石N/2,使用作为起始点到肘节N与另一递归步骤,则切换N/2与第三半尺寸递归步骤以清除它。

我对卵石的最大数量和步骤数之间的权衡取舍很感兴趣,假设卵石的添加和去除可以并行进行。“平行”是指每个步骤可以根据需要添加或删除任意数量的卵石,只要允许每个单独的添加/删除并且不与进行的其他移动相互作用即可。具体来说,如果A是我们要添加或删除卵石的节点集合,而P是在步骤开始时具有卵石的节点集合,则我们可以在单个步骤中完成所有这些添加和去除操作,如下所示:只要{a1|aA}PA

例如,考虑在步骤i上将卵石放置在i上但标记为√的倍数的卵石的策略iN作为“检查点”,并在可能的情况下除去有卵石的检查点后面的最高索引的卵石。这种策略仍然到达节点N后N步骤,例如幼稚的策略,但降低卵石的最大数目从N2N

是否有以步完成的平行线扰动策略,甚至具有更低的渐近最大卵石复杂度?如果我们愿意允许O N lg N )个步骤怎么办?在最大卵石和时间之间的权衡特别好的“有趣”点是什么?NO(NlgN)


在每个步骤中,您可以添加或删除多少个卵石?如果在第四段中只有一个,那么您是说总步数,而不是N?在计算使用的小卵石时,在此序列中的任何时候,板上是否有最大数目?O(N)N
尼尔·扬

@NealYoung在并行情况下,您可以根据需要在每个步骤中添加和删除尽可能多的卵石。但是,如果影响位置则在步骤开始时位置k - 1处肯定存在卵石。我的意思是正好N步,但O N 也很有趣,当然也包含在O N lg N )中。是的,重要的是小石子的最大数量。kk1O(N)O(NlgN)
Craig Gidney

最初的策略是什么,但带有“并行化”呢?当我们达到开始并行清除前半部分。当达到3 N / 4时,开始清除范围[ N / 2 3 N / 4 ]并继续并行清除前半部分(当我们在3 N / 4上放置卵石时,仅剩下N / 4卵石上半年);依此类推2 k1 N / 2N/23N/4[N/23N/4]3N/4N/4高达 Ñ。小卵石复杂度应相同: Θ lg N ,但步长为 N。(2k1)N/2kNΘ(lgN)N
Marzio De Biasi

@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)
Craig Gidney

@CraigGidney:您说得对...
Marzio De Biasi

Answers:


4

编辑添加了引理2和3。

这是部分答案:您可以到达位置N

  • 空间中使用空间N O ϵ N )移动,其中ϵ N = 1 / NNO(ϵ(N))。(引理1)ϵ(N)=1/logN
  • 使用空间O log N )移动(对于任何常数δ > 0)(引理2)。N1+δO(logN)δ>0

同样,我们画出一个下界(引理3):对于某些所谓的行为良好的解决方案,引理1是紧的(达到指数中的恒定因子),并且使用多对数空间的此类解决方案无法达到时间O中的位置NNO(NpolylogN)

引理1 对于所有,能够达到位置ñÑ利用空间移动EXP ø nnn

exp(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)

                  引理1的解结构

在图中,时间从上到下进行。解不会在时间N k 处停止,而是(在递归中使用)它会一直持续到时间2P(k)N(k),精确地反转其移动,以便在时间 2返回到单个卵石2N(k)2N(k)

垂直的实线划分了P k 层。在图片中,L k 为5,因此P k 由5层组成。P k L k 层中的每一层最右边的除外)都有两个子问题,一个在该层的顶部,一个在底部,由垂直实线连接(表示存在于此处的卵石)该持续时间)。在图中,共有五层,因此有九个子问题。通常,P L(k)P(k)L(k)P(k)L(k)P(k) 2组成P(k)个子问题。P k )的每个子问题都有解 P k - 1 2L(k)1P(k)P(k1)

限制空间的关键观察结果是,在任何时候,只有两层具有“活动”子问题。其余的每个只贡献一个卵石,因此我们有

  • S(k)L(k)+2S(k1)
  • N(k)=L(k)N(k1)

现在,我们选择来完全确定P k 。我不确定该选择是否最佳,但似乎很接近:取L k = 2 k。然后上述重复给出L(k)P(k)L(k)=2k

  • ,和S(k)k2k
  • N(k)=2k(k+1)/2

这样,求解,我们有ķ 听,说:n=N(k)小号ķ听,说:k2lognS(k)2logn22logn=exp(O(logn))

此负责的所有位置的在集合{ Ñ ķ ķ { 1 2 ... } }。对于任意Ñ,修剪溶液的底部P ķ 为最小的ķÑ ķ Ñ。因为S k / S k 1 = O n{N(k):k{1,2,}}nP(k)kN(k)n。QEDS(k)/S(k1)=O(1)


δ>0nnn1+δO(δ21/δlogn).

证明。修改引理1的证明的构造,以延迟开始每个子问题,直到上一个子问题完成为止,如下所示:

                  引理2的解结构

T(k)P(k)

  • S(k)L(k)+S(k1)
  • N(k)=L(k)N(k1)
  • T(k)=(2L(k)1)T(k1)2L(k)T(k1)2kN(k)

L(k)=21/δ

  • S(k)k21/δ
  • N(k)=2k/δ
  • T(k)2kN(k)

S=S(k)T=T(k)n=N(k)k=δlogn

  • Sδ21/δlogn
  • Tn1+δ

此负责的所有位置的Ñ在集合{ Ñ (ķ ):ķ ∈ { 1 ,2 ,... } }。对于任意Ñ,修剪溶液的底部P (ķ )为最小的ķ与Ñ (ķ )≥ Ñ。因为S (k )/ S (k − 1 )= O n{N(k):k{1,2,}}nP(k)kN(k)nS(k)/S(k1)=O(1)


nP(n)nkn/2kP(Nk)k+1,k+2,,nP(k)1,2,,kkV(n)nδ=1>0

V(n)mink<nV(nk)+max(n/2,(1+δ)V(k)).

n

ϵ(n)=1/logn

δ>0V(n)n1+Ω(ϵ(n))

ntn1+Ω(ϵ(n))/t

  • 引理1严格限制指数中的恒定因子(对于行为良好的解决方案)。
  • nnpolylognpolylognnΩ(ϵ(n))=exp(Ω(logn))polylogn

证明草图。 我们显示其中对于一些足够小的常数 我们假设WLOG任意大,因为通过使足够小,我们可以确保对任何有限集(在这里使用,说)。2V(n)f(n)f(n)=n1+cϵ(n)c.nc>02V(n)f(n)nV(n)n

只要对于所有足够大的,我们都有,则引理将根据递归归纳。也就是说,对于,nf(n)mink<nf(nk)+max(n,2f(k))f(n)f(nk)max(n,(1+δ)f(k))k<n.

由于是凸的,所以我们有。因此只要就足够了ff(n)f(nk)kf(n)kf(n)max(n,(1+δ)f(k)).

通过简短的计算(使用和并使用变量和)的变化,此等式等于以下内容:对于所有足够大的和,。因为,和为,它足以说明 即 f(n)/n=eclognf(n)=(f(n)/n)(1+c/(2logn)),x=logky=lognyxyecy(1+c/(2y))max(ey2x2,(1+δ)ecx)1+zezez1+2zz1ecy+c/(2y)max(ey2x2,e2δ+cx),

cy+c/(2y)max(y2x2,2δ+cx).

如果,则(对于大)我们完成了,因此假设。然后(对于大),因此足以显示 这对于足够小的和较大的 QEDç ý + c ^ /2 Ý Ç X + 0.2 δ ý ý X + 0.1 δ / Ç Ç ÿ yx+0.1δ/ccy+c/(2y)cx+0.2δyyx+0.1δ/cý ç ý + Ç /2 ÿ 0.1 ý δ / ç y2x20.1yδ/cy

cy+c/(2y)0.1yδ/c.
cy.

FWIW,我有一个证明,总是有一个接近最佳的行为良好的解决方案,因此引理3的下限适用于所有解决方案。在这里输入内容太麻烦了-如果有人感兴趣,请通过电子邮件与我联系(有关联系信息,请使用Google“ neal young computer science”)。
Neal Young
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.