形式陈述
固定有限字母表 Σ 和标准确定性多带图灵机 公理库 图灵机 Turing machine 通过有限控制、可读写纸带和移动读写头刻画一般算法计算能力的模型。 模型。对函数 t : N → N ,定义
存 在 确 定 性 图 灵 机 和 常 数 判 定 , 且 当 时 在 步 内 停 机 DTIME ( t ( n ) ) = { L ⊆ Σ ∗ : 存在确定性图灵机 M 和常数 c , n 0 , M 判定 L ,且当 | x | ≥ n 0 时在 c t ( | x | ) 步内停机 } . “判定”要求 M 对每个字串停机,并给出正确的是/否答案;时间界是对同一长度全部输入的最坏情况保证。常数 c 与起点 n 0 对机器固定,不能随输入变化。这正是时间复杂度 公理库 时间复杂度 Time complexity · Running time 在固定计算模型与输入编码后,算法运行步骤数随输入规模增长的量级。 的渐近上界写成语言类后的形式。
时间可构造性不属于 DTIME ( t ) 的定义。若要使用时间层级定理,通常再假设机器能在 O ( t ( n ) ) 时间内写出或计数到 t ( n ) ,并要求足够大的下界;这些条件保证对角化机器能够为自己计时。把定理的技术假设塞回每个 DTIME 定义,会无端排除仍然有意义的资源函数。
直觉
可判定性只问计算最终能否完成,DTIME 进一步给每个输入长度一只统一的最坏情况时钟。确定性意味着每个配置只有一个后继,所以给定输入只有一条运行轨迹;时钟到期前没有第二条分支可供选择。
与非确定性时间类 公理库 非确定性时间复杂性类 Nondeterministic time class · NTIME 由非确定性图灵机在给定时间界内判定的语言集合。 相比,DTIME 的接受和拒绝都由这条唯一轨迹决定。两类使用同一输入长度与单分支步数,但非确定机器以“存在接受分支”为成员语义;这一区别不能解释为随机选择或免费并行。
例子与边界
线性时间的奇偶语言
考虑
中 的 个 数 为 偶 数 PARITY = { x ∈ { 0 , 1 } ∗ : x 中 1 的个数为偶数 } . 确定性机器从左到右扫描输入,只在有限控制中保存“目前为偶数还是奇数”,故在 n + O ( 1 ) 步内判定它,得到 PARITY ∈ DTIME ( n ) 。在逐符号访问模型中还需要 Ω ( n ) 次读取:若某位置从未被查看,把该位翻转不会改变机器轨迹,却会改变正确答案。这一对上下界给出 Θ ( n ) ,而不是只凭算法写下一个宽松的 O ( n 2 ) 。
精细时间界依赖模型
多带图灵机可以把中间结果放在不同工作带上;单带机模拟它时通常产生额外开销。因此“属于 DTIME ( n 2 ) ”必须连同机器模型阅读。把固定多项式次数取并后,这类多项式模拟不会改变 P;讨论线性或近线性时间时却不能省略模型。
定义与层级条件
平均、期望与摊还运行时间都不进入 DTIME 的最坏确定性量词。时间可构造性也只在调用时间层级定理 公理库 时间层级定理 Time hierarchy theorem 在可构造时间界下,给予更多渐近时间会严格扩大可判定语言类。 等结果时加入;例如病态函数可以定义一个 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 公理库 复杂度类 P P · Polynomial time 能由确定性算法在输入长度的多项式时间内判定的语言集合。 是 ⋃ k ≥ 1 DTIME ( n k ) ,EXP 公理库 复杂性类 EXP EXPTIME · EXP 可由确定性图灵机在单指数时间内判定的语言类。 则把预算扩大到 2 n O ( 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.