在计算机这台机器被造出来之前十几年,一个 24 岁的剑桥研究生先在纸上把它想了出来。1936 年,艾伦·图灵为了回答一个纯逻辑问题,发明了一个假想的机器——后来人们叫它"图灵机"。这台纸上的机器,定义了"什么叫做计算",也定义了此后所有真实计算机的能力边界。
破除误解:图灵不是"造出第一台计算机的人"
流行叙事常把图灵说成"计算机之父,造出了第一台电脑"。这既高估又低估了他。
他没有亲手造出第一台通用电子计算机(那更接近 ENIAC 团队与冯·诺伊曼架构的工作)。他做的是更根本的事:在任何电子计算机存在之前,用纯数学证明了"可计算"这个概念的确切含义,并证明了一台机器原则上可以模拟任何其他机器。真实硬件只是后来给这个数学骨架填上了血肉。
现场:1936 年的判定问题
图灵要解决的是希尔伯特提出的"判定问题"(Entscheidungsproblem):是否存在一种机械化的步骤,能对任意数学命题判定其真假?
要回答"是否存在机械步骤",必须先把"机械步骤"本身定义清楚。图灵的天才之处在于他没有诉诸复杂公式,而是想象一个最朴素的装置:一条无限长的纸带、一个能读写符号的读写头、一张有限的状态规则表。这就是图灵机。
他随即证明了三件事:
- 存在通用图灵机——一台机器,只要把另一台机器的描述写在纸带上,它就能模拟那台机器。这正是"可编程通用计算机"的数学原型。
- 判定问题无解——不存在能判定任意命题的机械步骤(与 Church 用 λ 演算得到的结论一致)。
- 停机问题不可判定——没有任何程序能对所有"程序+输入"判断它会停机还是永远运行。这是计算机科学第一个、也是最深刻的"不可能性"定理。
"凡是能被机械计算的,都能被图灵机计算"——这一论断(邱奇–图灵论题)至今没有反例,是整个学科的地基。
图灵机为什么长这样
这个抽象装置的每个部件,都对应"人按规则做计算"时的一个必要条件。纸带对应演算用的纸——可以随时读写、不受篇幅限制;读写头一次只看一个符号,因为人在任何时刻能注意到的符号是有限的;有限的状态表对应"算到哪一步、接下来按哪条规则走"——图灵论证说,人用于计算的相关状态必须有限,否则就会存在任意接近、无法区分的状态。把这三个朴素约束形式化,得到的恰好是图灵机。
这个定义的精妙在于它足够弱,弱到无可争议——没人能否认这样的装置只做"机械步骤";又足够强,强到能模拟当时已知的所有计算过程。后来出现的 λ 演算、递归函数,以及几十年后的每一种编程语言,都被证明在计算能力上与图灵机等价。邱奇–图灵论题之所以难以推翻,正因为"读写头加状态"这个抽象抓住了机械过程的本质结构,而不是某个具体技术。
通用图灵机的构造还埋着一个更深的设计决策:机器的规则表本身可以用符号写在纸带上。程序与数据在形式上没有区别——这正是存储程序计算机的原理,也是后来"软件"这个概念的全部前提。
停机问题:对角线的思路
停机问题的证明只有一步真正的技巧,但那一步之后,整个逻辑学都被改变了。
假设存在判定机 H:给它任意程序 P 和输入 I,它总能回答"P 在 I 上会不会停机"。用 H 构造一台新机器 D:D 接收程序 P 作为输入,先问 H"P 以 P 自己为输入时会停机吗",然后故意反着做——H 说停机,D 就死循环;H 说不停机,D 就立刻停机。
现在把 D 喂给它自己。如果 D 停机,说明 H 预测它停机,可按 D 的构造它此时应该死循环;如果 D 死循环,说明 H 预测它不停机,可它此时应该立刻停机。两种情形都矛盾,所以 H 不可能存在。
这个论证与康托尔证明实数不可数、与哥德尔构造"本命题不可证"共享同一个骨架:把系统的能力反射回系统自身,迫使它在自我指涉处露出破绽。它给出的不只是否定答案,而是一种可重复的方法——此后莱斯定理(Rice's theorem)等"程序的非平凡性质都不可判定"的结果,都沿用这条对角线。
结构:从破译恩尼格玛到"机器能思考吗"
二战期间,图灵在布莱切利园领导破译德军 Enigma 密码。Enigma 是一台机电转子加密机,每天换一次密钥,可能的设置数量天文级别——靠人力穷举绝无可能。波兰数学家(雷耶夫斯基等人)在战前已造出第一代"炸弹机"(Bomba),但 1939 年德军升级机型后失效。
图灵的关键改进是利用一个工程上的弱点:Enigma 永远不会把一个字母加密成它自己。结合密码员可猜出的固定套话(如每天的天气预报、"Heil Hitler"),图灵设计的"炸弹机"(Bombe)能并行测试大量转子设置,一旦出现逻辑矛盾就自动排除——把破译从碰运气的猜测,变成了可规模化的机械推理。历史学家普遍认为对 Enigma 的破译显著缩短了战争、挽救了大量生命,但"提前几年结束"这类具体数字难以精确量化,应谨慎对待。
战后,图灵参与了英国国家物理实验室(NPL)ACE 计算机的设计(1945 年的报告是最早的存储程序计算机详细蓝图之一),后来又转向另一个问题:机器能否思考?1950 年的论文《计算机器与智能》提出了著名的"模仿游戏"(图灵测试):如果一台机器在文字对话中无法被区分于人,我们还有什么理由否认它在"思考"?
他刻意把"机器能否思考"这个形而上问题,替换为一个可操作的行为标准。这篇论文还预先反驳了九种反对意见(包括"机器没有意识""机器没有创造力"等),其中一些至今仍是 AI 哲学的标准议题。这套把内在状态换成外在行为的思路,正是当代大语言模型评测争论的源头。
ACE:从纸面机器到工程蓝图
1945 年底,图灵向英国国家物理实验室(NPL)提交了《关于在数学部研制自动计算引擎(ACE)的建议》。与冯·诺伊曼同年那份偏于原理的 EDVAC 报告草稿不同,图灵这份 48 页的文件是一份真正的工程蓝图:机器码级别的示例程序、各硬件单元的完整规格、电路设计,乃至一份造价估算(约 11,200 英镑)。它是历史上第一份相对完整的电子存储程序通用计算机设计。
ACE 的设计处处带着通用图灵机的影子:图灵极力压低指令系统的复杂度,让硬件只做最简单的操作,把乘法之类的功能留给程序——因为他比同代人更彻底地理解了"软件可以替代硬件"这条从通用机推出的结论。同事哈特里(Douglas Hartree)的评价一针见血:图灵对逻辑的偏爱超过了对工程的偏爱。
但蓝图没能变成机器。布莱切利园的战时工作受《官方保密法》约束,图灵无法向 NPL 的工程师解释自己设计依据的来源,项目一再拖延。1947 年他休假回到剑桥,1948 年转赴曼彻斯特大学,参与曼彻斯特 Mark 1 的软件开发并为其编写程序手册。NPL 的 ACE 项目则由威尔金森(James Wilkinson)等人接手简化:1950 年 5 月,简化版 Pilot ACE 用约 800 只电子管跑通了第一个程序;其后英国电气公司(English Electric)以 Pilot ACE 为基础生产的商用机 DEUCE 卖出了三十多台。图灵设计的那台"太超前的机器"以缩小的形态活了下来——这个结局几乎是他一生的隐喻。
鲜为人知的一面:形态发生学
图灵生命最后几年做的,是一个和计算几乎无关的题目:生物为什么会长出斑点和条纹?1952 年他发表《形态发生的化学基础》,提出一个大胆假说——两种相互作用的化学物质(他称为"形态发生素")在组织中扩散并反应,仅凭简单的数学规则,就能从均匀状态自发产生稳定的斑纹(即"反应–扩散系统",又称图灵斑图)。
这在当时近乎被忽视,却在几十年后被实验验证:斑马鱼条纹、某些化学反应(如 BZ 反应)的图案,都符合图灵的预测。这提醒我们,图灵的真正主题从来不是"造机器",而是"用最简单的规则解释复杂现象如何从无到有"——从计算到生命,皆是如此。
代价与争议
图灵的一生以悲剧收场。1952 年,他因同性恋行为被定罪(当时英国法律视之为犯罪),被迫接受化学阉割。1954 年,他被发现死于氰化物中毒,验尸结论为自杀,但其家人与一些学者对此仍有不同看法。2013 年英国王室追授赦免;2021 年起他的肖像被印上 50 英镑纸币——一个国家对它曾经迫害的人的迟来致敬。
图灵测试本身也在被持续质疑:它衡量的是"能否骗过人",而非"是否真正理解"。哲学家约翰·塞尔 1980 年的"中文屋"思想实验直指这一点——一个人只靠查规则表来回应中文问题,可以骗过外界,却完全不懂中文;那么仅凭"行为通过测试",凭什么断定机器"理解"了什么?2020 年代大语言模型的出现让这场争论更尖锐:它们能流畅对话、通过许多版本的图灵测试,但"流畅"是否等于"理解",仍无共识。这把模仿与理解的张力,正是 john-von-neumann 之后整个人工智能哲学的核心战场。
跨域连接
- 哥德尔不完备定理:两者不是类比而是同一技术用了两次——把"关于系统的陈述"编码进系统自身,造出一个自指对象,再让它撞出矛盾。停机问题的对角化与不完备定理的构造共享这一步。推论很硬:任何足够强的形式系统或计算模型都必然带着自己够不到的地方,这是结构性的,不是工程没做好。
- 证伪:炸弹机不去证明哪个转子设置是对的。它利用"字母永不加密成自身"这个约束,让每个候选设置去撞一个必然矛盾,撞上就淘汰——搜索被改造成排除。否定一个候选远比确证一个候选便宜,这条不对称至今仍是约束求解与单元传播的核心。
- 行为主义:把"能否思考"换成"能否在对话中被区分",与心理学同期把内省换成可观察行为,是同一个方法论手势。收益与代价也相同:可观察判据挡住了不可验证的争论,同时把它想解释的东西一并挡在门外。今天关于大模型评测的争吵,全部落在这条界线上。
- 演化发育生物学:反应–扩散给出的推论极其反直觉——图案的间距由两种物质的扩散率之比决定,而不由基因逐点指定。同一套规则只改一个参数,条纹就变成斑点。这直接推翻了"复杂图案需要复杂指令"的默认想象,也解释了发育为什么不需要一张蓝图。
- 可计算性:通用图灵机的意义在于机器的描述可以当成数据喂给另一台机器,于是"可编程"不再是工程巧思而是一条数学事实。此后"什么算可行计算"成了所有安全论证的前提:密码学的安全性从来不是"不可破",而是"在可计算的范围内破不动"。
参考文献
- Turing, A. M. On Computable Numbers, with an Application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, s2-42 (1936): 230–265.
- Turing, A. M. Computing Machinery and Intelligence. Mind 59, no. 236 (1950): 433–460.
- Turing, A. M. The Chemical Basis of Morphogenesis. Philosophical Transactions of the Royal Society B 237, no. 641 (1952): 37–72.
- Searle, J. R. Minds, Brains, and Programs. Behavioral and Brain Sciences 3, no. 3 (1980): 417–457. ("中文屋"对图灵测试的经典反驳)
- Copeland, B. J. (ed.) The Essential Turing. Oxford University Press (2004). (图灵原始论文的权威辑注本)
- Copeland, B. J. (ed.) Alan Turing's Automatic Computing Engine. Oxford University Press (2005). (ACE 原始报告与权威解读)
延伸阅读
- Hodges, A. Alan Turing: The Enigma. Princeton University Press (新版 2014). (权威传记,电影《模仿游戏》原著)
- Davis, M. The Universal Computer: The Road from Leibniz to Turing. W. W. Norton (2000).