“沿用Savitch 中点递归的“至多 $2^i$ 步”口径,先令”
形式陈述
若
这里的非确定空间类 NSPACE要求每条计算分支都遵守工作空间预算,确定空间类 DSPACE则只允许确定性计算。定理表示每个能用非确定性
从工作空间得到有限配置图
固定输入
取足够大的固定常数
若
零长度路径允许存在。基例为
确定性执行时按编码顺序枚举合法
递归式为什么正确
按
反过来,若某个中点使两个子调用都返回真,归纳假设给出两条长度各至多
直觉
配置图可能很大,但一个顶点编号很短。保存完整路径会把“很长的路径”搬进工作带;中点递归只保存“现在正在检查哪两个端点、哪个候选中点”。路径长度每层减半,深度为
关键动作发生在左子调用返回之后。它占用的所有子帧都可以释放,父帧只记一个真值;右子调用随后覆盖同一片工作区。换到下一个中点时再次复用这些格子。算法没有 visited 数组,也没有缓存所有子问题答案,所以空间递推是
而非两倍子空间或候选数倍子空间。父帧必须保留端点、中点、层号、执行阶段和返回位,这些不能在记账中省略;但已经返回的递归分支也不能继续算作活跃空间。由
例子与边界
八顶点图:失败中点也必须检查
取顶点
源点为
| 顶层中点 | 左段 |
右段 |
原因与执行情况 |
|---|---|---|---|
| 0 | 真 | 假 | 左段零步;右段最短六步,超过四步 |
| 1 | 真 | 假 | 右段最短五步,超过四步 |
| 2 | 真 | 真 | 左段两步、右段四步;首个成功中点 |
| 3 | 真 | 真 | 两段各三步;顶层已返回,不再检查 |
| 4 | 真 | 真 | 左四步、右两步;顶层已返回 |
| 5 | 假 | 真 | 左段最短五步;顶层已返回 |
| 6 | 假 | 真 | 左段最短六步,右段零步;顶层已返回 |
| 7 | 真 | 假 | 可以进入自环,却不能到达目标;顶层已返回 |
再展开成功候选,验证递归确实落到基例。左侧
四帧账本与复用时刻
在左侧深入到基例的一刻,活跃栈如下。表中父帧的阶段说明返回之后该做什么,而不只是列出数学参数。
| 深度 | 当前调用 | 中点与阶段 |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | 基例检查边,准备返回真 |
第四帧返回后,第三帧保留“左真”这一位,再用原第四帧的位置计算
一个便于手算的教学布局为每帧统一预留
删除一条边后的否实例
现在删除
这个变式需要穷尽顶层候选,却仍最多同时保留四帧。迁移练习可以继续改为询问
时间上界与模型条件
复用空间会失去旧答案,因此相同子问题可能被重复计算。令
顶层再至多枚举
这是该模拟算法的上界,不是被判定语言所需时间的下界。取
推论与应用
取
STCON 的 NL 完全性说明有向可达性能够代表所有非确定对数空间计算。本定理以平方对数空间确定化它,却没有把预算压回
对于每个固定
这里使用的是PSPACE包含所有多项式空间预算,而非某个固定次数在平方后保持不变。结论没有给出多项式时间模拟,也就没有推出 P=NP。完成迁移检验时,可以把预算换为
参考资料
- Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, 作者站点 January 2007 草稿,§4.1 与 Remark 4.2(PDF 第 92 页,正文页 76)、§4.3.1 与 Theorem 4.12(PDF 第 98 页,正文页 82)。PDF 页序从封面起计,正文页码指该草稿的印刷页码。
- Rafael Oliveira, CS 860, Fall 2022, Lecture 3,slides 25–35,空间条件、中点递归与空间递推;本页使用允许零长路径的“至多”长度口径。
- Walter J. Savitch, “Relationships Between Nondeterministic and Deterministic Tape Complexities,” Journal of Computer and System Sciences 4(2), 1970, pp. 177–192,原始论文书目信息;上述证明与页码定位依据前两项公开教学材料。