图灵机:计算的数学模型
从纸带与状态机出发,到停机问题的不可解
按 空格/→ 演示下一步
全部页面点击任意一页,跳回舞台从这页播放
图灵机:计算的数学模型
从纸带与状态机出发,到停机问题的不可解
历史背景与问题动机
上页我们看到一台精巧的'计算机器'凭空出现——但它为何被造出来?这要追溯到一场数学家追逐百年的梦想。
如同想炼一剂包治百病的药——Hilbert追问'有没有万能判定机',图灵证明不可能
图灵机的核心思想
上页讲到图灵想回答"什么是可计算的"。他的绝妙思路是:与其争论什么是"思考",不如直接造一台最简单的机器,看它能做到什么。这台机器就是图灵机。
书架=纸带,手指=读写头,规则表=转移函数。管理员只查表,从不思考
图灵机的直观模型
从左到右读:纸带把符号交给读写头,符号与状态送进δ,δ决定写什么、换什么状态、头往哪移。
七元组的形式化定义
上一页我们用纸带和读写头搭出了图灵机的'实物模型'。但要做严谨的数学讨论,每个零件必须有一个精确的名字和取值范围——这就是七元组的意义。
Q=棋局,Σ/Γ=棋子,δ=走法,q₀/q_accept/q_reject=开局/终局
状态集合与转移函数
上一页我们把图灵机装进七元组的盒子。现在打开盒子看内部:状态、字母表、空格符——这"三件套"如何决定机器的一举一动?转移函数又凭什么成为整个计算的灵魂?
棋盘局面=状态,棋子=带符号,空格=空格符,落子规则=转移函数
状态转移函数的细节
从左到右读:左两个量是 δ 的输入(一对),右三个量是 δ 同一瞬间给出的输出。
即时描述的定义
上一页 δ 规定了「在状态 q 读到 x 该怎么办」——但光有规则还不够,我们还要能记录「这台机器当前算到哪了」。这一步的全部现场信息,就叫即时描述。
存档 = 角色位置 + 背包 + 状态;ID = 头位置 + 纸带 + 状态
书写约定与表示法
前页我们用「即时描述」刻画图灵机的瞬间状态。但同一时刻,写法却有两种风格——下划线放哪里、空白怎么处理,不统一就会看着像两种语言。
手指和下划线都只标记一个位置,其余的字不带标记
即时描述的转换过程
从左到右是计算方向。每框是即时描述,箭头『a→b,D』是δ一次触发:读到a写b,读头按D移动。
计算的起始与终止
ID 在转移函数驱动下一步步变形,但哪一步是「起点」?哪些状态宣告「结束」?这一页把计算的起止钉死。
投币选品是初始;掉出饮料是接受;显示「售罄/金额不足」是拒绝;不再响应是停机
图灵机计算的执行步骤
图灵机的一次计算循环:读符号、查δ、写覆盖、移动、判断停机。
接受与拒绝的语言
上页我们看到 TM 一步步执行——但跑完之后,凭什么说机器'算'出了结果?这就要定义'接受'与'拒绝'。
遇岔路全员分裂,任一克隆抵出口即整队成功
实例:判定回文数
具体图灵机设计案例(配状态图)
子程序与模块化
状态复用、调用子例程的思想
多带图灵机
上一页我们用一条纸带、一个读写头的图灵机完成了回文判定。自然要问——如果给它多条纸带,会算得更多吗?
可执行的指令集相同(可计算性等价),但并行执行更快(效率提升)
多带到单带的模拟
看图理解多带→单带的编码思路:分隔符分轨,标记符定头,单带TM循环扫描模拟各带。
通用图灵机
我们已经看到,多带图灵机能模拟单带图灵机。但能不能让一台固定不变的机器,去模拟任意一台图灵机?关键在于「编码」——把机器本身也变成可处理的数据。
播放器硬件固定却能播放任何视频;通用机不变却能执行任何图灵机的编码
停机问题的不可判定性
我们已经把图灵机形式化为精确的数学机器——那么自然会问:能否造一台万能机器,自动判定任意图灵机会不会停机?图灵在 1936 年给出震撼答案:不可能。
句子判断自身真假导致悖论;D 把 H 的判定反转给自己,结构同构
Church-Turing论题
上一页我们碰到了图灵机的天花板:停机问题不可判定。顺着这个缺口,一个自然的问题浮出来——会不会是我们描述「计算」的工具太弱,而不是计算本身有极限?
不同的路走到了同一个山口——说明山口是地形本身的特征,不是某条路的偶然
图灵机要点回顾
- ✓七元组将算法从直觉变为可严格讨论的对象
- ✓即时描述是刻画计算过程的唯一规范手段
- ✓所有可计算问题都归约为状态转移序列
- ✓通用图灵机证明一台机器可模拟一切计算
- ✓停机问题划定了计算的不可逾越边界
图灵机 vs 其他计算模型
图灵机能读写无限磁带,有限自动机只能存有限状态——这一区别决定了它们能解的问题天差地别。
- 存储:无限长磁带,可随机读写
- 语言:识别递归可枚举语言
- 等价性:等价于λ演算与μ-递归函数
- 能力上限:连停机问题都不可判定
- 存储:仅有有限个内部状态
- 语言:仅能识别正则语言
- 等价性:等价于正则表达式
- 能力上限:无法处理任意嵌套/计数
课后思考
先独自想一阵,再对照参考答案看自己想偏了没有。
参考答案不能。停机问题的不可判定性是数学事实,与机器实现无关。即使造出永停机,判定别人停不停仍是不可解的。
参考答案不能完全描述。图灵机是离散符号变换,而人脑有模拟、并行、模糊、情绪等过程,可能需要新的计算模型来补充。
参考答案没有。可计算的函数集没变,只是某些问题从指数时间降到多项式时间。可计算性不等于计算效率。