Skip to content

通用图灵机

Universal Turing machine

输入机器编码和输入串后模拟该机器运行的图灵机。

条目类型
模型

形式陈述

固定一种可有效解析的编码。通用图灵机 U 接收 M,w,其中 M 是一台图灵机、w 是其输入,并逐步模拟 Mw 上的运行:若 M 接受、拒绝或永不停机,U 分别表现为接受、拒绝或永不停机。模拟可把 M 的状态表、各带内容和读写头位置编码到 U 的工作带上;不同合理编码和单带/多带实现只改变模拟开销,不改变可计算函数类。

直觉

机器本身也能表示成数据。通用机把“硬件规则固定、程序作为输入”这一现代存储程序计算机观念形式化:一个固定解释器读取另一台机器的有限编码和输入,维护被模拟带、状态与头位置并逐步解释每条转移,就能执行任意可编码算法。程序与数据采用同一种有限字符串表示,也是自指、编译器和可计算性极限得以出现的根源。

通用机解码并模拟机器
例子与边界

给定 M,w,通用机 U 模拟 Mw 上的每一步:若 M 接受、拒绝或循环,U 分别具有同样行为。现代解释器把源程序或字节码连同输入交给同一个运行时,结构上类似 U(M,w);但具体解释器只覆盖某种语法,而通用图灵机的编码可包含任意图灵机转移表。若编码不是可判定、可解析的合法机器描述,所谓模拟问题本身就没有固定形式。

通用性不表示有限设备能实际保存无穷带,也不保证高效或常数开销:朴素模拟可能产生多项式甚至更大的时间开销。它同样不保证模拟机能预知被模拟程序何时停机。恰恰因为 U 能接受自身及其他程序编码,才可构造 M,M 一类自指输入;这不是编码歧义,而是模型的预期能力。

推论与应用

通用机建立在 图灵机 可有效编码的事实上,使“程序分析另一个程序”得到形式化。程序编号与可接受编号把这种解释能力组织成有效枚举,$s$-$m$-$n$ 定理把部分实参固化进新程序代码,Kleene 递归定理再由自应用构造语义固定点。停机问题、对角化与自解释器由此有统一索引语言;复杂性理论若关心资源,还需另行指定高效通用模拟器。

参考资料
  • Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013,Ch. 3, universal Turing machine and machine encodings。
  • Alan M. Turing, “On Computable Numbers, with an Application to the Entscheidungsproblem,” Proceedings of the London Mathematical Society, 1936,Full paper, universal-machine construction and machine descriptions。
关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。