Skip to content

确定性时间复杂性类

Deterministic time class · DTIME

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

条目类型
定义

形式陈述

固定有限字母表 Σ 和标准确定性多带图灵机模型。对函数 t:NN,定义

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

“判定”要求 M 对每个字串停机,并给出正确的是/否答案;时间界是对同一长度全部输入的最坏情况保证。常数 c 与起点 n0 对机器固定,不能随输入变化。这正是时间复杂度的渐近上界写成语言类后的形式。

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

直觉

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

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

例子与边界

线性时间的奇偶语言

考虑

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

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

精细时间界依赖模型

多带图灵机可以把中间结果放在不同工作带上;单带机模拟它时通常产生额外开销。因此“属于 DTIME(n2)”必须连同机器模型阅读。把固定多项式次数取并后,这类多项式模拟不会改变 P;讨论线性或近线性时间时却不能省略模型。

定义与层级条件

平均、期望与摊还运行时间都不进入 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))。反向不成立于同一数量级:工作空间可以反复复用,停机计算的时间可能远大于空间。

Pk1DTIME(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. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系