Skip to content

确定性空间复杂性类

Deterministic space class · DSPACE

由确定性图灵机在给定工作空间界内判定的语言集合。

条目类型
定义

形式陈述

对函数 s:NN,定义

DSPACE(s(n))={L:存在确定性图灵机 M 判定 L,M 在每个输入 x 上使用 O(s(|x|)) 个工作格}.

“判定”要求 M 在每个输入上停机。输入带只读且不计费,工作带按空间复杂度的最大已访问区域计费;若有输出带,则规定只写、不可回读。大 O 吸收固定带数和机器字母表带来的常数。

空间可构造性不是 DSPACE 记号本身的必要条件。空间层级定理或让机器显式执行空间时钟时,才通常假设 s(n) 可在 O(s(n)) 空间内构造;对 s(n)<logn 的精细类别还必须保留具体输入头模型。

直觉

确定性机器在给定输入上只有一条配置轨迹。空间界限制每个配置需要多少位,却不限制同一工作格可被重写多少次,因此一条小空间轨迹可以很长。若判定机再次到达完全相同的状态、输入头位置、工作头位置和带内容,之后的确定性演化会永久重复;总停机要求排除了这种回环。

非确定性空间类相比,DSPACE 不需要在多个后继中寻找接受路径。两者都按单条轨迹的工作空间峰值计费,但确定性配置图的每个节点至多有一个后继。

例子与边界

用对数空间判定回文

输入 x=x0xn1 放在双向只读输入带上。机器先扫描一次,用二进制计数器得到 n;随后对 i=0,1,,(n1)/2,反复扫描输入以读取 xixn1i,只保存索引和一个待比较字符。两个索引都只需 O(logn) 位,因此工作空间为 O(logn),总时间可达 O(n2)

0110,机器依次核对外层 0=0、内层 1=1 后接受;对 0100,第二对字符 10,因而拒绝。这个算法以反复扫描换取小空间,具体展示了时间可以远大于空间。

配置数给出的时间上界

固定长度为 n 的输入后,一个 O(s(n)) 空间配置由有限状态、至多 O(s) 个工作带符号、工作头位置和一个输入头位置组成。配置总数至多

ns(n)O(1)2O(s(n)).

s(n)logn 时,这可吸收到 2O(s(n))。确定性判定机不能重复配置,所以它的运行时间也至多为 2O(s(n))。若低于对数空间,前面的 n 因子不能直接吸收,模型细节便不可忽略。

递归栈和保存的迭代状态都属于工作空间;只有经过尾调用消除或显式复用后,才能从分析中删去。允许读回输出同样会提供额外存储,因此不属于这里的标准模型。

推论与应用

DSPACE 对补封闭:确定性判定机交换接受与拒绝即可。它也对并与交封闭,因为可顺序运行两个判定器并复用工作带,总空间取两者较大者加低阶控制信息。

典型缩写包括

L=DSPACE(logn),PSPACE=k1DSPACE(nk).

空间层级定理在可构造预算下证明更多空间确实能判定更多语言;Savitch 定理则比较本页与非确定空间的能力。任何 O(t(n)) 时间判定机至多访问 O(t(n)) 个工作格,所以还有 DTIME(t(n))DSPACE(t(n))

参考资料
  • Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009, §4.1.
  • Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013, §8.1.
关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系