Elea Notes.

词条 · 理论 · 核心

通用机

一台能模拟任何其他离散状态机的机器:这就是为什么讨论"计算机能做什么"不必逐台讨论。

也称:通用机、通用图灵机、universal machine、universal Turing machine、离散状态机、discrete-state machine

先看一个会没完的麻烦

假设你想回答”机器能不能做某件事”。麻烦在于机器有无穷多种造法:齿轮的、继电器的、电子的、生物的。一台一台讨论,永远讨论不完。

朴素办法,以及它为什么不够

朴素办法是挑最强的那台来讨论。但”最强”要怎么定?而且明天可能造出更强的,结论就作废了。

机制:一台机器可以假装成任何一台

关键观察分两步。

第一步:把机器的状态离散化。图灵注意到,很多机器可以看作离散状态机——它有有限多个明确的状态,按规则从一个状态跳到下一个。

第二步:一台数字计算机,只要给它足够的存储和正确的指令表,就能逐步模拟任何离散状态机的行为。你把那台机器的规则表当数据喂进去,它照着演。

于是”能不能造出做这件事的机器”就化简成了”能不能给一台通用机写出相应的程序”。

回访:这把两个问题合成了一个

这就是为什么图灵 1950 年那篇可以只讨论数字计算机——他在第 5 节明确用了这个理由,说数字计算机可以 mimic any discrete-state machine,因此称之为 universal machines。

同一个结论在实践中的形态你天天在用:同一台笔记本能跑浏览器、能跑模拟器、能跑另一个操作系统。它不是为这些各造一台,而是一台假装成很多台。

边界与常见误解

**通用不等于全能。**通用机能模拟任何离散状态机,但有些问题没有任何机器能解(停机问题)。通用性讲的是”机器之间可互相模拟”,不是”什么都能算”。

**通用不等于高效。**模拟通常比原生慢很多。通用性是关于”能不能”,不是”多快”。