【理论学习】时间分层定理


引理一:

图灵机是可枚举的。因此,每个图灵机都可以映射到一个有限长的“”编码。

引理二 (Hennie, Stearns 1966):

存在快速通用图灵机,其接收输入,并将对应的图灵机的在输入上的运行过程模拟出来,且时间开销不超过,其中上的运行时间。


定理一 (Hartmanis, Stearns 1965):

如果是满足的时间可构造函数,则

证明:

我们仅举该定理的一个特殊情形来证明,但是对于理解该定理已经足够。我们证明.

考虑这样一台图灵机,它接收输入,然后用快速通用图灵机模拟上的运行(也即让引理二中的输入为)。在模拟了的时间后,将强制停止。此时,如果已经产生了输出,则输出;如果没有产生输出,则输出

根据定义, 永远会在的时间内停机。设识别的语言为,则显然是的。现在,我们断言

假设断言不成立,即存在图灵机,其在的时间内停机,且识别语言。这也就是在说,对于任意输入

我们假设的编码为。考虑。其意味着模拟在输入上运行。而我们知道,会在的时间内停机。我们设,根据引理二,该模拟过程也会在的时间内完成,因此能够在的时间内产生输出。所以根据的定义,。然而,我们刚才在定义时说明了。矛盾。

因此,不存在。则,定理一的特殊情形得证。同时我们也给出了一个具体的语言,作为时间分层的例证。

推广到一般性的定理一的方法是显然的。可以看出,定理一中的正是来自于通用图灵机的模拟速度,即引理二。


定理二 (Cook 1972):

如果是满足的时间可构造函数,则

证明同样使用了对角化思想,但是没有确定型时那么简单。因为如何“翻转”非确定型图灵机的输出是一件比较tricky的事,就像给人的困惑一样。最后通过一种叫做“惰性对角线方法”的手段可以证明该定理。