Skip to content

定义Definition

确定性时间复杂性类

施工中 · 内容逐步修订

Deterministic time class · DTIME

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

形式陈述 ​

固定至少含两个符号的有限输入字母表 Σ(通常取 {0,1})和标准确定性多带图灵机模型。对函数 t:N→N,定义

DTIME(t(n))={L⊆Σ∗:存在确定性图灵机 M 和常数 c,n0,M 判定 L,且当 |x|≥n0 时在 ct(|x|) 步内停机}.

“判定”要求 M 对每个字串停机,并给出正确的是/否答案;时间界是对同一长度全部输入的最坏情况保证。常数 c 与起点 n0 对机器固定,不能随输入变化。n<n0 的有限多个输入仍须被正确判定,只是渐近式不约束它们的具体步数;可以把所需有限答案硬编码进机器而不改变类。这正是时间复杂度的渐近上界写成语言类后的形式。

时间可构造性不属于 DTIME(t) 的定义。若要使用时间层级定理,通常再假设机器能在 O(t(n)) 时间内写出或计数到 t(n),并要求足够大的下界;这些条件保证对角化机器能够为自己计时。把定理的技术假设塞回每个 DTIME 定义,会无端排除仍然有意义的资源函数。

直觉

可判定性只问计算最终能否完成,DTIME 进一步给每个输入长度一只统一的最坏情况时钟。确定性意味着每个配置只有一个后继,所以给定输入只有一条运行轨迹;时钟到期前没有第二条分支可供选择。

与非确定性时间类相比,DTIME 的接受和拒绝都由这条唯一轨迹决定。两类使用同一输入长度与单分支步数,但非确定机器以“存在接受分支”为成员语义;这一区别不能解释为随机选择或免费并行。

例子与边界

线性时间的奇偶语言 ​

考虑

PARITY={x∈{0,1}∗:x 中 1 的个数为偶数}.

确定性机器从左到右扫描输入,只在有限控制中保存“目前为偶数还是奇数”,故在 n+O(1) 步内判定它,得到 PARITY∈DTIME(n)。在逐符号访问模型中还需要 Ω(n) 次读取:若某位置从未被查看,把该位翻转不会改变机器轨迹,却会改变正确答案。这一对上下界给出 Θ(n),而不是只凭算法写下一个宽松的 O(n2)。

精细时间界依赖模型 ​

多带图灵机可以把中间结果放在不同工作带上;单带机模拟它时通常产生额外开销。因此“属于 DTIME(n2)”必须连同机器模型阅读。例如把输入、各带内容及头标记依次写在一条带上,一次模拟步扫描 O(n+t(n)) 个编码格,找到各头位置并实施原机转移;连同初始化,直接构造耗时 O(n+t(n)(n+t(n)))。当 t(n)≥n 时,它才简化为 O(t(n)2)。这个直接构造虽不总最优,却具体说明为什么线性时间可能失去、但多项式时间仍保留。讨论线性或近线性时间时不能省略模型。

定义与层级条件 ​

平均、期望与摊还运行时间都不进入 DTIME 的最坏确定性量词。时间可构造性也只在调用时间层级定理等结果时加入;例如病态函数可以定义一个 DTIME 类,却未必允许对角化机器精确执行相应时钟。

推论与应用

若 t(n)∈O(u(n)),直接放宽时钟得到

DTIME(t(n))⊆DTIME(u(n)).

运行 O(t(n)) 步的机器至多访问 O(t(n)) 个新工作格,所以还存在时间到空间的基本包含 DTIME(t(n))⊆DSPACE(t(n))。反向不成立于同一数量级:工作空间可以反复复用,停机计算的时间可能远大于空间。

P 是 ⋃k≥1DTIME(nk),EXP 则把预算扩大到 2nO(1)。这些并集类对合理模型的多项式模拟较稳健;精细的 DTIME 类仍负责记录实际模拟开销。

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

拖动节点调整位置。

显示关系

显示:依赖

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