“这里的非确定空间类 NSPACE要求每条计算分支都遵守工作空间预算,确定空间类 DSPACE则只允许确定性计算。定理表示每个能用非确定性 $O(s(n))$ 工作空间判定的语言,都能用确定性…”
形式陈述
对函数
- 每条计算分支都在工作格预算内并最终停机;
属于语言,当且仅当至少一条分支接受; 不属于语言时,所有分支都拒绝。
空间按空间复杂度逐分支计量,再取最大值。分支数量、所有分支累计使用的格子数和运行总步数都不进入
当
个配置。输入头位置贡献
直觉
非确定空间把计算看成有限配置图上的路径搜索。机器不保存整棵分支树,只在一条候选路径上维护当前配置;成员输入只需某条路径到达接受配置。即使图有指数多个节点,一份配置仍只有
与确定性空间类相比,计费单位没有变化,变化的是配置图的出度和接受量词。确定机器每个配置至多一个后继,非确定机器则可以选择后继,但不存在“把所有分支内存加总”的共享机器。
例子与边界
有向可达性的对数空间算法
设图的顶点为
机器保存当前顶点和一个不超过
分支与停机边界
一条分支使用
若只给 recognizer,允许非成员输入上某些分支永不停止,就不能直接把它当作 NSPACE 判定机。必须先在
推论与应用
确定机器是非确定机器的特例,故
常用并集类为
Savitch 定理以平方空间确定化配置可达性,推出
Immerman–Szelepcsényi 定理证明对空间可构造的
参考资料
- Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009, §§4.1–4.2.
- Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013, §8.1.