Skip to content

非确定性时间复杂性类

Nondeterministic time class · NTIME

由非确定性图灵机在给定时间界内判定的语言集合。

条目类型
定义

形式陈述

固定有限分支度的非确定性图灵机模型。对 t:NNNTIME(t(n)) 由满足下列条件的语言 L 组成:存在非确定机器 N 和常数 c,n0,使 N 判定 L,并且对每个 |x|n0Nx 上的每一条计算分支都在 ct(|x|) 步内停机。接受语义是

xLN(x) 的计算树中存在接受分支;

xL 时,没有接受分支,且所有分支都在同一最坏时间界内拒绝。只约束最短接受分支而放任其他分支无限运行,不符合这个定义。

t(n)n 且采用固定机器编码时,一条长度 O(t(n)) 的分支可由 O(t(n)) 位选择序列描述。确定性验证器读取该序列并重放转移;反过来,非确定机器可以逐位猜证书再运行验证器。精确的时间函数会受模拟模型影响,但在多项式尺度上得到无歧义的“多项式证书加多项式验证”刻画。

直觉

非确定时间把“存在一串成功选择”放进计算语义。每个分支仍是一段普通的、按步计费的局部计算;区别只在于成员输入只需有一条分支接受,而非成员输入必须让所有分支失败。它不为现实机器提供指数数量的免费处理器,也不是给分支随机分配概率。

确定性时间类相比,确定机器是每个配置最多一个后继的特例,因此相同预算下确定性计算自动也是非确定性计算。反向模拟通常要遍历整棵分支树,时间可能指数增长。

例子与边界

合数的猜测—验证

把正整数用二进制编码,定义

COMPOSITE={N:a,b,1<a,b<N 且 ab=N}.

若输入长度为 n,机器猜测两个至多 n 位的整数 a,b,再用逐位乘法和比较验证条件,耗时为 n 的多项式。对 N=91,猜到 (7,13) 的分支接受;对 N=97,每一对候选都会因乘积或范围不符而拒绝。这个例子同时表明证书按二进制长度收费,不能把一次任意精度乘法暗算成常数步骤。

为什么所有分支都要有时钟

设机器先分成两支:第一支立即接受,第二支永远向右移动。即使成员输入上存在很短的接受分支,第二支仍使机器不属于任何有限 NTIME 界。标准构造会给所有分支装上同一时钟;到期未接受就拒绝。

穷举模拟的代价

若固定机器的分支度至多为 b、树深为 O(t(n)),计算树最多有 bO(t(n))=2O(t(n)) 个节点。逐层确定性遍历因此给出粗略指数时间模拟,却没有给出 NTIME(t)DTIME(tO(1))。在多项式尺度上,后者正触及 P 与 NP 的开放问题。

推论与应用

每台确定机器都可视为从不真正分支的非确定机器,所以

DTIME(t(n))NTIME(t(n)).

把所有多项式预算取并得到NP

NP=k1NTIME(nk).

类似地,NEXP 使用 2nO(1) 的非确定时间预算。若把问题从“是否有接受分支”改为“有多少条接受分支”,则进入#P一类计数复杂度;存在性与计数不是同一输出任务。

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

拖动节点调整位置。

显示关系

显示:依赖

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