更多时间是否真的更强
时间层级定理是计算复杂度理论中分离复杂度类的基本结果。以确定性多带图灵机为模型,TIME(f(n))表示能在最坏情况下O(f(n))步内判定的语言,其中n是输入编码的长度。放宽时间上限显然不会减少可解问题,但是否严格增加,需要额外证明。
定理讨论的是整个语言及所有长度的输入,不是某台计算机多运行几秒后多算出一个答案。一个语言不在较小时间类中,意味着不存在符合该时间上界、又能对所有输入给出正确答案的判定算法;并非某个现有实现恰好运行得慢。
参考:[1]
增长间隔和可构造性
一种常用表述为:当g是时间可构造函数,且f(n)log f(n)=o(g(n))时,TIME(f(n))严格包含于TIME(g(n))。这里还采用通常的至少线性、适合读取输入的时间界条件。小o表示两者的比值趋于零,不能替换成仅仅“g比f大一点”。
时间可构造性要求算法能够在O(g(n))时间内取得所需时间界,因而可据此安排计时。常见的多项式和指数界满足适当的可构造性条件。这个要求排除了把任意不规则数字序列当作免费可用时钟的做法,也是证明能在自身预算内完成的保证。
计时模拟中的对角化
证明的核心是构造一个新判定器,对编码给定的候选机器进行有限时间模拟,然后作出相反答案。如果候选机器声称在较小时间界内判定同一语言,就会在适当的自身编码输入上与构造出的判定器矛盾。为避免候选机器永不停止,模拟必须有明确的截止条件。
通用模拟并非每一步都与被模拟机器一样便宜。机器描述、磁带操作及计时需要开销;高效模拟可把有关额外成本控制在对数因子量级。这解释了上述定理为何留出f log f与g之间的间隔。对角化负责制造不同答案,资源分析则确保新机器确实属于较大的类,两部分缺一不可。
能分离与不能分离的类
例如n²log n=o(n³),所以在该模型下,二次时间类严格小于三次时间类。更大尺度上可推出P严格小于确定性指数时间类EXP,即有可判定问题不存在多项式时间算法。这里的存在性结论不自动为任意指定的自然问题给出相同下界。
定理也不意味着每增加一个常数倍时间就得到新类,O记号本来就忽略常数倍。它主要比较同一种确定性模型在不同时间预算下的能力。P与NP则比较确定性计算和非确定性计算,两者并非仅有时间上限不同,因此不能由这一定理直接宣布P≠NP。