编辑:添加了引理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中的位置(NN。O(NpolylogN)
引理1 对于所有,能够达到位置ñ在Ñ利用空间移动EXP (ø (√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 )处停止,而是(在递归中使用)它会一直持续到时间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(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
这样,求解,我们有ķ 听,说:√n=N(k)
和小号(ķ)听,说: √k≈2logn−−−−−√。 S(k)≈2logn−−−−−√22logn√=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(k−1)=O(1)
δ>0nnn1+δO(δ21/δlogn).
证明。修改引理1的证明的构造,以延迟开始每个子问题,直到上一个子问题完成为止,如下所示:
T(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)
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
- T≤n1+δ
此负责的所有位置的Ñ在集合{ Ñ (ķ ):ķ ∈ { 1 ,2 ,... } }。对于任意Ñ,修剪溶液的底部P (ķ )为最小的ķ与Ñ (ķ )≥ Ñ。因为S (k )/ S (k − 1 )= O n{N(k):k∈{1,2,…}}nP(k)kN(k)≥nS(k)/S(k−1)=O(1)
nP(n)nk≤n/2kP(N−k)k+1,k+2,…,nP(k)1,2,…,kkV(n)nδ=1>0
V(n)≥mink<nV(n−k)+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(n−k)+max(n,2f(k))f(n)−f(n−k)≤max(n,(1+δ)f(k))k<n.
由于是凸的,所以我们有。因此只要就足够了ff(n)−f(n−k)≤kf′(n)kf′(n)≤max(n,(1+δ)f(k)).
通过简短的计算(使用和并使用变量和)的变化,此等式等于以下内容:对于所有足够大的和,。因为,和为,它足以说明
即
f(n)/n=eclogn√f′(n)=(f(n)/n)(1+c/(2logn−−−−√)),x=logk−−−−√y=logn−−−−√yx≤yecy(1+c/(2y))≤max(ey2−x2,(1+δ)ecx)1+z≤ezez≤1+2zz≤1ecy+c/(2y)≤max(ey2−x2,e2δ+cx),
cy+c/(2y)≤max(y2−x2,2δ+cx).
如果,则(对于大)我们完成了,因此假设。然后(对于大),因此足以显示
这对于足够小的和较大的 QEDç ý + c ^ /(2 Ý )≤ Ç X + 0.2 δ ý ý ≥ X + 0.1 δ / Ç Ç ÿ 。y≤x+0.1δ/ccy+c/(2y)≤cx+0.2δyy≥x+0.1δ/cý ç ý + Ç /(2 ÿ )≤ 0.1 ý δ / ç 。y2−x2≥0.1yδ/cy
cy+c/(2y)≤0.1yδ/c.
cy.