Skip to content

复杂度类 PSPACE

Complexity class PSPACE

可由确定性图灵机在多项式空间内判定的语言类。

条目类型
定义

形式陈述

PSPACE 是确定性多项式空间语言类:

PSPACE=k1DSPACE(nk).

换言之,LPSPACE 当且仅当存在常数 k 和确定性判定机,在每个输入 x 上使用 O(|x|k) 个工作格。这里的DSPACE只限制空间;运行时间不必为多项式。

已知基本包含链为

PNPPSPACEEXP.

NP 到 PSPACE 的包含可直接看见:对长度为多项式的所有证书逐个枚举,每次只保存一份证书和验证器工作区,虽耗费指数时间,却只用多项式空间。PSPACE 到 EXP 则来自配置计数:多项式空间的确定性判定机若重复配置就会循环,因此至多经过指数多个配置。

直觉

PSPACE 允许机器擦除旧信息、复用工作带,在指数大的隐式状态图或搜索树中逐路径探索。它适合描述“分支很多,但任何时刻只需记住当前路径”的计算,例如量词交替、规划状态搜索和有限博弈分析。

多项式空间并不等于“时间和空间都多项式”。枚举指数多个候选而逐个丢弃,或者递归遍历两棵子树并在返回后复用栈,都可能留在 PSPACE。反过来,若算法必须同时保存指数多个不同中间对象,就会越过多项式空间界。

例子与边界

逐层求值一个量化布尔公式

考虑闭公式

x y:(xy)(¬x¬y).

内层公式要求 xy 取值不同。对 x=0 可选 y=1,对 x=1 可选 y=0,所以公式为真。一般递归求值遇到 时顺序尝试两个值并取“或”,遇到 时顺序计算两个值并取“且”;第二个递归调用复用第一个调用释放的工作区。只需保存当前量词位置、部分赋值与递归栈,空间是公式长度的多项式,时间却可能达到 2npoly(n)

这套机制给出 TQBF 属于 PSPACE;TQBF 的 PSPACE 完全性还需反向把任意多项式空间机器编码成量化公式。完全性不是从递归算法的上界一项自动得到的。

已知与未知的边界

当前不知道 P=PSPACE 是否成立,也不知道 NP=PSPACE。时间层级定理已知 PEXP,所以链中至少有一处严格包含,但这不能指出 PSPACE 位于哪一侧。

PSPACE 只讨论判定语言。生成指数长度输出的任务即使能用小工作区流式产生结果,也需要另行说明输出空间和函数类;把整份指数长证书写进可回读工作带,便会超出多项式空间。通信、查询和性质测试使用不同资源单位,不能从 PSPACE 包含直接推出它们的界。

推论与应用

Savitch 定理给出

NSPACE(s(n))DSPACE(s(n)2),

对所有多项式预算取并便得 NPSPACE=PSPACE。平方仍是多项式,但确定化时间可高达 2O(s(n)2),所以这个等式没有蕴含 P=NP。

若任一 PSPACE-complete 语言属于 P,则每个 PSPACE 语言经多项式时间归约后也属于 P,从而 P=PSPACE。规划、广义棋盘游戏与模型检查中的许多判定版本据此获得条件式难度解释。IP = PSPACE还用交互证明给出同一语言类的另一种刻画;该结果依赖代数化协议,不是空间定义的直接推论。

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

拖动节点调整位置。

显示关系

显示:依赖

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

使用的工具