1.4 机器的位串表示和通用图灵机
几乎显而易见的是,图灵机可以表示为位串:这只需将图灵机描写在纸上,再用0,1序列将描写过程编码即可。编码图灵机得到的位串可以作为另一个图灵机的输入。这个简单的观察结果有着十分深刻的内涵,因为它使得软件、硬件和数据之间的区别变得模糊。历史上,该结果曾直接推动人们发明了通用电子计算机。计算机也是一个图灵机,通过在其上加载恰当的程序(或软件),它就能用来自动地求解指定的任意计算任务。
1.4.1 通用图灵机
第一个注意到通用图灵机可能存在的人是图灵(Turing),他证明了给定任意图灵机M的位串表示作为输入,通用图灵机可以模拟M的运行。对当代的人而言,台式或便携式的通用计算机已经是司空见惯的事情,因此人们已经理所当然地接受了通用图灵机的存在性。然而,留意当初的这个违背直觉的结论仍是有益的。通用图灵机的各种参数均是固定的,包括字母表的大小、状态的数量和带的数量。被模拟的图灵机的各项参数均可能比通用图灵机的大得多。这之所以不是障碍,得益于编码的能力。即使通用图灵机的字母表很简单,其他图灵机的状态和转移函数也可以编码后放于通用图灵机的带上,然后由通用图灵机一步一步地模拟执行。
现在,我们给出一个计算高效的图灵构造,该构造是亨尼(Hennie)和斯特恩斯(Stearns)[HS66]给出的。在介绍其核心思想之前,我们先证明其宽松的形式,亦即将下面结论中的TlogT换成T2。此外,由于本书将多次用到高效通用图灵机,因此本章结束前我们将给出它的完整证明(参见1.7节)。
具有时间界限的通用图灵机
时间: 2024-09-25 18:38:07