
图灵(1912—1954),伦敦人。他二十三岁当选剑桥国王学院院士,二十四岁写出一篇论文,给「什么是可计算的」立下至今通用的定义;三十岁上下,他参与破译了德军密码,为盟军护航船队夺回大西洋;三十八岁问出「机器能不能思考」,四十一岁写下花纹如何在生命体内自己长出来的方程。
他一生做了三件事。第一件在根基:把「按规则一步步算」这件事造成一台假想机器,证明有些问题任何机器都解不了。第二件在战时:把数学的统计功夫用在密码上,让看似不可穿透的机器暴露它的规律。第三件在远方:追问机器的界限之外还有什么——机器会不会学习、生物的花纹从哪里来。
明线四样:图灵机(计算的最低配置)、停机问题(有些「做不完」永远查不出)、密码破译(规律藏在密文里)、机器智能(会不会想,可以变成一道可以回答的题)。
暗线一句:想清楚,写下来。图灵的办法是把一切先化成步骤:要谈计算,先写一张状态表;要谈智能,先设一场听不见声音的问答;要谈花纹,先列两种药剂的扩散速率。凡能写下来的,就能交给机器;写不下来的,正是人该守着的地方。
五幕:第一幕讲一个爱做实验的学生怎样造出「图灵机」(p.6—p.12);第二幕讲战时的密码破译(p.13—p.19);第三幕讲「机器会想吗」这场追问(p.20—p.26);第四幕讲可计算与不可计算的边界(p.27—p.33);第五幕讲生命的花纹与身后的事(p.34—p.40)。
三层读法照旧:故事层无需预备知识;数学层只用到加、减、乘、除、二进制计数与一张小表(p.7—p.9、p.14—p.16、p.21—p.23、p.28—p.30、p.35—p.37),每一步都从头算起;注疏层给出原书、版本与研究文献,逐页可查。
先做一道不用聪明才智的题。拿一条纸带,分成一格一格;每格里只允许写一个符号,或者空着。一支铅笔沿着纸带左右移动,一次看一格,按一张事先写好的表行事。
表的写法笨到极点:「看见 1,就把它改成 0,往左挪一格;看见 0,就改成 1,停下」。没有直觉,没有灵感,每一步只看当前这一格、只查表、只做一件事。
把这道题真做一遍:纸带上是二进制的 1011,也就是十进制的 11。铅笔从最右一格开始:看见 1,改 0,左移;看见 1,改 0,左移;看见 0,改 1,停。纸带上剩下 1100,十进制的 12——加一做完了。
这道题本册会一步一步走完整(p.28)。重要的是那种感觉:整件事笨拙、缓慢、每一步都无趣,可它确实做完了。
现在把问题反过来问。凡是人所说的「计算」——解方程、查表格、推公式——都能还原成这条纸带上的笨步骤吗?反过来说,纸上那些连笨办法也算不完的东西,又是什么?
1936 年,一个二十四岁的剑桥人给这两个问题都写了答案。他假想的这条纸带,后来有了一个名字:图灵机。
1912 年 6 月 23 日,图灵生在伦敦。父亲在印度任职,母亲随行;兄弟俩被寄养在一对退役军官夫妇家里,一年里见父母的次数,一只手数得过来。
十四岁进了谢尔伯恩学校,一所传统的寄宿公学。开学第一天碰上大罢工,交通停摆;他从南安普顿独自骑行约一百公里赶去报到,当地报纸登了这则消息。校长评价他:把心思花在「科学」上,是在浪费一名公学学生的时间。
他在学校结交了挚友克里斯托弗·莫科姆。两个人一起做实验、谈天文学、谈数学;1930 年初,莫科姆病逝。这件事把图灵推向一个终身的念头:心灵是不是某种可以离开身体继续存在的东西——这个问题,他后来用「机器会不会思考」重新问了一遍。
1931 年他进了剑桥国王学院。这里的空气和公学完全不同:对学问的兴趣被当作体面的事。1934 年他通过数学荣誉学位考试,1935 年凭一篇关于概率的论文当选院士,二十二岁,年薪三百镑。
同年,他听了纽曼教授讲「数学的基础」。课上有希尔伯特留下的一个悬案:有没有一劳永逸的办法,判定任何数学命题能不能被证明?纽曼讲到「机械的推理过程」时说:这类过程还没有人给出严格的定义。
图灵把这句话带了回去。要定义「机械的过程」,最直接的路,就是造一台想象中的机械。下一页说这道悬案的来历。
这本册子要处理三样东西。三样看起来毫无关系:一台假想的纸带机器、一台真实的密码机、一副长在生物身上的花纹。
第一样,纸带机器。它是最省的算:一条带子、一支铅笔、一张状态表。图灵证明:凡「有限步骤能算出来的」,它全能算出来——数学里的「计算」二字,从此有了确切的定义。它还引出一个意外的结论:有些明明白白的问题,任何机器都判不了死刑。
第二样,密码机。战争爆发后,图灵每天面对的是一台有三个旋轮、外加一块插线板的德军机器。它的密钥量大到天文数字,可它的结构是死的、规律的。把统计算在这份规律上,密钥量就不再是铜墙铁壁。
第三样,花纹。斑马的条纹、豹的斑点、掌上的指纹,凭空长出秩序,不需要谁来画图纸。图灵晚年给出一个极简的机制:两种药剂在身体里扩散,一种扩散得慢、一种扩散得快——秩序自己会长出来。
三样东西有一个共同点。它们都先回答「这件事的最简版本是什么」:计算的最简版本是纸带查表;破译的最简版本是统计比对;花纹的最简版本是两种扩散速率。最简版本写清楚,剩下的交给步骤。
这个办法,本册把它叫做「想清楚,写下来」。
先算一个具体的数:一台只有「看见 1 改 0 左移、看见 0 改 1 停」两种规则的机器,怎么把 11 加成一?下一幕从一个骑行报到的少年讲起。
1935 年春,剑桥。纽曼的课程讲到最后,黑板上留着希尔伯特在 1928 年国际数学家大会上列出的一行字:判定问题。
问题的大意:能不能找到一套死板的程序——任何数学命题丢进去,它都能在有限步内回答「能证明」或「不能证明」?「死板的程序」这个说法,几十年来人人会用,却没人能说清:什么叫死板?说清楚它,比回答它更难。
多数人把这当作逻辑学家的小圈子话题。图灵不。他从这行字里读出一件具体的事:所谓死板的程序,无非是「一台机器也能照着执行的东西」。那么干脆去定义那台机器——定义成立,问题就变成了能算的问题。
他辞掉一个度假计划,把自己关进房间。国王学院的同事后来回忆:那年夏天他几乎消失,回来时手里是那篇论文。1936 年 5 月 28 日,〈论可计算数〉投出。
论文做的事有两件。第一件,给出「机械过程」的严格定义——就是那条纸带。第二件,用这个定义回答判定问题:答案是「没有这样的程序」,而且证明干净利落。
同一时期,美国逻辑学家丘奇用另一套工具(λ 演算)给出了判定问题无解的证明。两套写法殊途同归:丘奇的定义「一切可用有限规则算出的函数」与图灵的纸带机器,算力完全一致。这条共识后来称为丘奇–图灵论题。
1936 年秋,图灵坐船去普林斯顿,在丘奇门下读博士。导师是丘奇,可他论文的真正对手远在更早处:四年前哥德尔那条震动数学界的不完备定理。下一页从那张最省的算桌讲起。
图灵机器的全部家当,一共四样。
一,纸带:分成一格一格,向两端无限延伸;每格里要么空着,要么写一个符号(本册只用 1 和 0)。二,读写头:一次对准一格。三,状态:机器每时每刻处在有限个「心境」之一(记作甲、乙、丙)。四,状态表:规定每个状态下看见每个符号该做什么。
「该做什么」也只有三种动作可选:写(把当前格擦掉或写上)、走(左移或右移一格)、停(或转入下一个状态)。每一步只做一件事,别无分店。
举一台最小的机器。任务:在空纸带上写出三个 1,然后停。状态表两行:
状态甲,看见空 → 写 1,右移,转为乙
状态乙,看见空 → 写 1,右移,转为丙
状态丙,看见空 → 写 1,停
照表执行:三步写下三个 1,机器停住。它「算」出了一个固定结果。
这台机器蠢得可笑,但请注意两件事。第一,它的行为完全确定:同样的带子、同样的表,永远得到同样的结果——没有即兴发挥。第二,它不使用任何数学:不认得「数」,不认得「加」,只会写字和挪动。
图灵的断言是:凡人所说的「计算」,解方程、查对数表、判别素数——只要能在有限步内照死规则完成,就一定可以改写成这样一张状态表。「可计算」由此有了铁的定义:能在图灵机上算出来的,就叫可计算。
这个断言无法证明(它是对「计算」一词的解释),可八十多年来,一切被认为「可算」的模型——递归函数、λ 演算、今天的每一台计算机——都恰好与它等价。定义经受住了时间。
状态表是机器的全部。于是有一个关键的观察:状态表本身就是符号的排列——它写得下来。
把状态表连同符号表翻译成一长串 0 和 1,这串数就唯一地描写了一台机器。图灵把这串数叫做描述数(D.N.)。不同的机器有不同的描述数;反过来,任何一个足够大的整数区间里,每台机器都能找到自己的号。
既然机器可以被写成数,那么可以让另一台机器来读它。图灵造了一台特别的机器,任务是:读入「描述数+输入」,然后一字不差地执行被描述机器的每一步。这台机器叫通用机。
用现代的话说:通用机是一台「什么都能模拟」的机器。给它哪台机器的描述数,它就变成哪台机器——纸带上的软件,决定了硬件此刻是谁。
这里有一个必须忍住的对照。第一台通用电子计算机要等到十年之后;1936 年的通用机只存在于纸上。但它已经把「同一台硬件,换一段描述就换一种用途」这件事从原理上讲清楚了。
通用机还带来一个反直觉的结论:它的算力是顶格的。任何机器能算的,它都能算——包括模拟它自己。造不出比它更聪明的机器,除非那台机器会算出它算不出的东西,而下一页会看到,那样的东西不存在于「可计算」的世界里。
先约定一个记号。把机器按描述数排成一行一行的清单:第 1 台、第 2 台、第 3 台……对每台机器、每个输入,只有两种命运:到某一步停(记 1),或永远不停(记 0)。
画一张大表:行是机器的编号,列是输入的编号,格子里填 1 或 0。这张表无穷大,但每一行都是确定的——因为每一行就是一台确定的机器。
第 1 台对输入 1, 2, 3, 4:1 0 1 1
第 2 台对输入 1, 2, 3, 4:0 1 0 0
第 3 台对输入 1, 2, 3, 4:1 1 0 0
第 4 台对输入 1, 2, 3, 4:0 0 1 1
(本页用四台示意;清单本身无穷长。)
现在沿对角线走一遍:取第 i 台机器对输入 i 的结果,把每格翻转——1 改 0,0 改 1。得到一行新的 0/1:0 1 1 0(示意表上)。
关键来了。这翻转出来的一行,不可能出现在清单上。因为假如它是第 k 台,看它对输入 k 的格子:按构造,它与对角线上第 k 格相反——可「第 k 台对输入 k」恰恰就是对角线第 k 格。自相矛盾。
所以:清单虽无穷,必漏掉一些「行为方式」。构造这一行的那台机器——对每个输入,模拟第 i 台对输入 i 并取反——它「停/不停」的行为任何机器都复制不了。
这就是对角线论证。它不玄:每一步只是查表、取反。可结论重如泰山——机器的世界里,有原则上够不着的行为。判定问题将在第四幕从这里坠落。
判定问题悬了八年,难在没人说得清「死板的程序」是什么。图灵的解法朴素到近乎无礼:别解释了,去造一台——把程序这件事做到最省,省到只剩纸带、铅笔和一张表。
这个动作背后有一种信念:任何被大家心照不宣使用的东西,若真有内容,就一定能被写下来;写下来的那一刻,玄虚消失,剩下的全部可以摆上桌面检查。
「计算」被写下来,成了一张状态表。表写下来之后,两件事同时发生:能算的,从此可以交给任何一台机器——因为机器不需要理解,只需要查表;不能算的,也从此可以证明——因为「表的世界」边界分明,边界之外立着对角线论证。
这就是本册的暗线:想清楚,写下来。后面几幕会反复看到它:破译密码,是先把「密钥的规律」写成统计假设;谈机器智能,是先把「想」改写成一场可以被观察的问答;谈生命花纹,是先把「生长」写成两条扩散速率。写不下来的部分,图灵从不假装能写——他只负责把写得下的部分写到最清楚。
把第一幕放回它的年代。1931 年,哥德尔证明:包含算术的任何一致的形式系统里,都有真而不可证的命题。数学的公理化梦想第一次出现裂缝——但「不可证」还没有和「不可算」挂上钩。
1936 年,两路工作几乎同时落地。丘奇用 λ 演算证明判定问题无解;数月后图灵用纸带机器独立得到同一结论。两套工具初看毫无关系,算力却完全重合——这个重合本身比各自的结果更惊人:它说明「可计算」不是某套记号的私产,而是一个客观的界。
丘奇–图灵论题就此立住:一切直觉意义下「可计算」的东西,都恰好落在图灵机的范围内。
接力还在继续。1944 年前后,波兰裔逻辑学家波斯特把「一步步执行规则」化成更接近工人操作的模型,与图灵的机器再度等价。同一个界,被四套完全不同的工具撞见四次。
而对判定问题本身,回答是彻底的:不存在一套程序,能对任何数学命题在有限步内判定「可证与否」。「有限步」这个词,从此不能再随便许诺。
一年后战争爆发。一个刚证明过「有些东西机器算不出」的人,即将去面对一台真实的密码机——以及一个数学上明明白白可解、工程上天翻地覆的难题。
一、「机械过程」被定义了。一条纸带、一个读写头、有限个状态、一张表——图灵机把「按规则一步步算」说到了最省。「可计算」从此有了铁的定义。
二、机器可以被写成数。状态表本身是符号,编成描述数;读描述数干活的那台机器,叫通用机。「同一台硬件换软件」在 1936 年已是纸上定理。
三、对角线立起边界。把机器排队、沿对角线取反,得到清单上不存在的行为。机器的世界有原则上够不着的东西——这不是悲观,这是精确。
四、判定问题就此了结。不存在一劳永逸的证明判定程序;丘奇与图灵的两套工具殊途同归,丘奇–图灵论题成为此后一切计算理论的基线。
下一幕,战争把这位逻辑学家带进一栋英国乡间的庄园。在那里,纸带上的状态表变成一台真实转动的机器,而他要破译的密码,密钥量有二十位数字。
1939 年 9 月 4 日,英国对德宣战的第二天,图灵到布莱切利园报到。伦敦以北八十公里的一座维多利亚式庄园,住进了一群密码分析员、字谜高手与国际象棋冠军,兼有数学、语言、棋牌各行的人,保密级别最高。
对手是一台看起来平平无奇的机器。恩尼格玛:一台打字机大小的密码机,正面一块插线板,机内三个(后期海军型四个)可换位的旋轮,每个旋轮二十六个触点。每敲一个键,旋轮转一格,电流穿过旋轮与插线板,点亮面板上一盏灯——灯下的字母就是密文。
它的规则每天换一次:旋轮选哪三台、排什么次序、起点在哪、插线板插哪十对线,由一本密钥簿规定,午夜全部作废重来。
图灵分到八号棚,管海军恩尼格玛——最难的一支。德军潜艇在大西洋上猎杀补给船队,护航指令全靠无线电,而无线电全被加密。1940 年上半年,海军密文基本读不出来;船队在盲航。
破译有两条腿。一条是机器:用电气线路把「不可能的情形」物理地排除掉,这台机器后来叫炸弹机,核心设计出自图灵。另一条是数学:在密文里找统计规律,先筛掉大批错误猜测,省下机器的时间——这套方法叫班巴里姆斯,也是图灵的手笔。
1940 年 3 月,第一台炸弹机开动。1941 年 6 月,一艘德国气象船连人带密钥簿被俘;海军密文的大门从此开了一条缝。1941 年 10 月,图灵与同事越级直接致信丘吉尔要资源,丘吉尔批了四个字:即日行动。
下一页先算一笔账:这台密码机的密钥量到底有多大,为什么它一度被看成不可穿透。
把恩尼格玛每天的全部可能性数一遍。分三层。
第一层,旋轮怎么选怎么排。陆军型备有五台旋轮,每天选三台、排次序:5 × 4 × 3 = 60 种。
第二层,旋轮起点。每台旋轮 26 个起始位,三台共 263 = 17 576 种。
第三层,插线板。板上有 26 个孔,每天插 10 根线,每根把两个字母互换。数法:先从 26 个字母里排定全部顺序(26!),取前 20 个两两配对——配对不分先后(除以 10!),每对内两个字母不分左右(除以 210),剩下 6 个自留、顺序无关(除以 6!):
26! ÷ ( 6! × 10! × 210 ) = 150 738 274 937 250
约 1.5 × 1014 种插法——单这一层就远超其余两层之和。
三层相乘:
60 × 17 576 × 150 738 274 937 250 ≈ 1.59 × 1020
一千五百亿亿。哪怕一天之内用一百万台机器同时试,每台每秒试一万种,也要试上五百年(1.59×1020 ÷ 106 ÷ 104 ÷ 86 400 ≈ 184 天——若只按每天 86400 秒逐日穷举;换成「一天内密钥就换新」的作战节奏,穷举彻底无望)。
结论:硬算死路一条。破译不能靠蛮力,只能靠规律——机器是死的,死的东西就有规律。下一页找这份规律。
密钥量是天文数字,但恩尼格玛有结构性弱点。第一个弱点是:任何字母永远不会被加密成它自己。
原因在反射轮:电流进得去就得出来,走过的路是一条折返线,字母经这条路走不到自己头上。这条铁律每天有效,密钥簿改不了它。
它立刻有用。德军电文有固定格式——气象报告的开头、问候语、某些场合连「元首」的敬语都一字不差。把猜出的明文片段(破译行话叫柳条)对齐到密文的某个位置上,逐字母检查:只要有一个位置「密文字母=明文字母」,这个对齐位置立刻作废。
算一下威力。一段 n 个字母的柳条落在错误位置上,每个字母撞上「自加密」的概率约 1/26,整段不撞的概率约 (25/26)n ≈ e−n/26。代入:
n = 26:不撞概率 ≈ e−1 ≈ 0.368,即约 63% 的错误位置被排除
n = 52:不撞概率 ≈ e−2 ≈ 0.135,即约 87% 被排除
这只是单靠这一条规律的成绩。更妙的是,柳条内部的字母配对会连成链:位置甲处「明文字母 X 加密成密文字母 Y」,位置乙处又出现「X 加密成 Y」或「Y 加密成 X」——若干条这样的等式首尾相接,围成一个环。
在错误的旋轮位置上,环会逼出「某字母加密成自己」——与反射轮矛盾,位置即刻出局;在正确的位置上,环完全自洽。图灵的炸弹机把这条判据做成了电路:让电流沿环走,通即是错,断即是疑,疑者再查。下一页看机器怎么筛剩下的 17 576 个位置。
炸弹机一天能筛掉的旋轮位置有限,而海军密文的旋轮组合多(八选三:8 × 7 × 6 = 336 种,是陆军的五倍多)。先把「哪三台旋轮、什么次序」猜个八九不离十,机器才有活干。干这个的数学方法叫班巴里姆斯。
它的原料是指标系统里泄露的信息:操作员拍发密钥的方式有规律,两段密文的旋轮路径若在若干处重合,密文字母会以特定方式互相咬合。把「某对密文来自同一旋轮组合」的候选与「随便一对」对照,数重合的次数:真候选的重合率略高。
高多少怎么记?图灵发明了一个单位:班。一份证据若把某候选的可能性提高十倍,记 1 班;提高一倍,约 3.0 分班(分班为班的十分之一):
10·log10(10) = 1.00 班 10·log10(2) ≈ 3.01 分班
多份证据可以相加:今天这份指标给 0.4 班,明天那份给 0.7 班,累计 1.1 班——可能性提高约十二倍(101.1 ≈ 12.6)。班班累加,弱线索攒成强结论;攒到值得动用炸弹机为止。
这套办法在今天有标准名字:贝叶斯更新的对数计分,信息论里叫似然比。1940 年还没有信息论这个词——图灵凭战场的需要,把统计学推到了它日后才被命名的位置。
两条腿合起来的流程:班巴里姆斯筛旋轮组合 → 柳条定对齐位置 → 炸弹机筛旋轮起点与插线板 → 复原全天密钥。每一步都在替下一步省时间。
密钥量 1.59×1020,看着像墙。第二幕做的事,是把它一块一块拆下来。
拆法不是找更大的锤子,是找墙上的缝:反射轮的「字母不自加密」是一条铁律,把它变成排除法;插线板的「成对互换」是结构,把它接进电路;操作员的习惯、格式的死板、指标系统的设计,全是缝。缝在数学上都是不等式、都是概率——凡是死的,都可算。
这正是暗线的战场版:想清楚,写下来。把「破译」先写成一串可以检验的判断:这段柳条排不排得上?这个候选重合了几次?这个位置通不通电?每一个判断都能落在纸面、落到电路。天才的直觉当然在场——选出哪段柳条、认出哪个格式是「柳条」,靠眼力——但眼力只负责开头,接力棒交出去之后,剩下的全部是可写下的步骤。
还有一层。第一幕证明了机器有算不动的事;第二幕展示了机器能算动的事可以多么庞大。两者的分界不在「难不难」,在「有没有明确的判断标准」。有标准,天文数字也是算术;没有标准,一道小学题也是玄学。
布莱切利园不是从零开始。1932 年,波兰数学家雷杰夫斯基凭截获的密钥指示与一支工业间谍得来的钥匙表,纯用排列的循环结构理论上破开了恩尼格玛;波兰人造过同名的「炸弹」旋轮筛机与齐加尔斯基穿孔片。1939 年 7 月 24 日,华沙近郊的一次会议上,波兰把复制品、方法与穿孔片全部移交给英法。
图灵的炸弹机站在这个起点上,但走了更远:波兰方法吃的是指示系统的弱点,德军一改指示系统波兰法即失效;图灵把重心移到柳条与统计上,吃的是密码机本身与电文习惯的规律——后者改不掉。这个重心移动,是 1940 年后破译事业得以持续的真正原因。
两条战线要分清。布莱切利园里另有「巨像」计算机,1944 年起运行,破的是德军高层用的「洛伦兹」电传密码,设计者为弗劳尔斯,部门主持者为纽曼——图灵 1942 年后已转向语音加密与曼彻斯特的下一站。巨像常被误记成「破恩尼格玛的电子计算机」,不是;它属于另一套密码、另一群人。
战果的账目归航运与军需。1941 年海军密文恢复可读后,护航船队得以绕开「狼群」阵位;1943 年 5 月,大西洋之战的转折点到来,当月同盟国商船损失降到开战以来的低点。历史学家普遍把持续可读的海军情报列为转折的关键成分之一。
破译的成绩守口如瓶。为防德军察觉,情报的使用要编排成「偶然」——侦察机恰好在附近、船队恰好改航。赢,还不能让对手知道是怎么赢的。
一、墙的尺寸。60 种旋轮组合 × 17 576 个起点 × 1.5×1014 种插线 ≈ 1.59×1020。穷举无望,破译必须另辟蹊径。
二、缝有两类。结构性缝(字母不自加密、插接板成对互换)与习惯性缝(格式化柳条、指标系统规律)。凡死板的东西都留缝。
三、两台机器。炸弹机用电路排除不可能;班巴里姆斯用统计给候选称重。一个管「哪来的」,一个管「值不值得」——运筹的雏形。
四、接力与守密。波兰的移交、威尔奇曼的对角线板、弗劳尔斯与纽曼的另一条战线,加上「赢了不能声张」的使用纪律,构成整幅图景。个人的才华站在一张协作网的节点上。
下一幕,战争结束。那个证明了机器有界限、又用机器拆过铜墙铁壁的人,要回头面对一个更缠人的问题:机器,到底能不能思考?
战争一结束,图灵带着两份资历去找工作:「计算机器之父」级别的原理工作,与一场打赢了大西洋的密码战——后者谁也不能写进履历。
1945 年 10 月,他进了国家物理实验室,年底交出 ACE 设计报告。报告八十余页,把「存储程序计算机」从整机结构写到逻辑门;许多评语是:这是给五年后的人写的东西。审批机构要的是马上能造的机器,双方越谈越僵。1947 年他请长假离开,1948 年转到曼彻斯特大学,那里纽曼刚建起计算实验室,一台原型机正在组装。
在曼彻斯特,图灵做了当时最稀缺的行当:给一台世界上还不熟练的机器写使用方法。他为曼彻斯特机编写了第一本程序员手册;他不写「怎么按按钮」,写的是机器里每个动作的逻辑。
他还拿机器取乐。1948 年前后他写下第一个国际象棋程序——按他的估算,机器若真跑起来是位「烂棋手」;没有机器可跑,他就自己扮演机器,一步一查表,与同事对弈,输了。下棋程序的概念实验就这样在纸上走完了一局。
1951 年,他当选皇家学会会员——三十九岁,因〈论可计算数〉的工作。同年起他开始参加广播节目,谈「机器会不会思考」;话题之大,听众多到电台自己也没料到。
1950 年 10 月,哲学期刊《心智》刊出他的论文〈计算机器与智能〉。开篇一句话立下了这一幕的问题:「机器能思考吗?」——他不急着回答,先把问题改成一道可以判的题。下一页看这道题。
「机器能思考吗」难在哪?难在「思考」没有公认的定义——争论可以永远进行,谁也拿不出判据。图灵的办法:换题。设计一场游戏,让「思考」的争议退场,只留可观察的行为。
游戏规则:提问者与两名看不见的答卷人笔谈,一名是人,一名是机器;几分钟后提问者指认谁是机器。若机器频繁地骗过提问者,就承认它通过了考验。
为什么笔谈?声音、长相、语速全都被拿掉,只剩语言——这恰是「会想」的最小可观察面。图灵点明:这题目脱胎于一种当时的室内游戏(模仿男女主角的问答游戏),故称模仿游戏。
把判据量化。提问者若全凭猜,指对率 50%。图灵估计:几分钟的笔谈后,普通提问者指对的把握不会超过七成。七成意味着什么?算一笔:假设 20 个回合的问答、判断按二项分布:
20 问全凭猜:判对 14 次以上的概率 ≈ 0.058
不到 6%。也就是说,「指对 14/20」这件事,在「机器毫无智能」的假设下已是小概率事件——它出现了,就有理由怀疑假设。模仿游戏因此不是玄谈,是一场带显著性水平的统计检验。
(20 问中判对至少 14 次的概率,按 B(20, 1/2) 累加 k = 14…20 得 0.0577;计算式 2−20 Σ C(20, k)。)
图灵对结果的预测出奇克制:到世纪末,「机器」一词的用法会变——人们谈论机器思考时不再觉得自相矛盾。他没有说机器已经会想。他只是把一道无法开审的案子,改写成了可以举证的案子。
论文里最超前的一段,是图灵对「机器学习」的设想。他说:与其让工程师一步不落地写出成人水平的程序——那要写穿地球——不如造一台「儿童机」,它的程序只有几条空泛的规则,然后让它受「教育」:答对了给甜头,答错了给惩罚,规则表随之修改。
这个设想可以做一个最小的实算。设一个只会预测「下一个符号是 0 还是 1」的儿童机,数据源有惯性:前一位是 0,下一位 70% 还是 0;前一位是 1,下一位 70% 还是 1。且 0 与 1 出现频率各半。
第一种策略:死记总频率。总频率各半,那就永远猜 0——长期正确率 50%,白忙。
第二种策略:查上一格。加一张两行的统计表,数「上一位是 0 时下一位是几」的经验频率。理论正确率:
0.5 × 0.7 + 0.5 × 0.7 = 0.7
从 50% 到 70%——机器没有加一条硬件,只是多学了一张表。给甜头、给惩罚的机制,数学上干的就是「把表里的频数往该去的方向挪一格」。
图灵在同一节里写了一句常被引用的话:「与其试图写一个模拟成人心灵的程序,不如试试写一个模拟儿童心灵的。」他还画出了进阶:儿童机之上要有「奖惩规则」与「归纳机器」两个模块——今天的话说,一个管奖励信号,一个管从经验里抽规律。
1950 年没有算力做这件事。他把这件事留在了纸面上,位置放得极准:它就是此后七十年里那门学科的全部日程表。
论文的主体,是图灵替读者列出的九条反对意见——他自己替对手把话说足,再逐一回应。这里拆三条最硬的。
第一回合:数学的界限。反对者说:第一幕的界碑还在——哥德尔式的论证表明,任何一致的形式系统都有判不了的命题,机器不就是形式系统吗?图灵的回应分两层:其一,「机器有上限」与「机器超过人的某项成就」并不冲突——上限在多远处,证明并不给出;其二,同样的论证若成立,对人脑同样成立:人的证明能力也是有限的,人也会在某个命题前停步。他指出这一回应「只是确定机器能力的下界」。
第二回合:意识。反对者说:机器也许答得对,但它没有感受,谈不上「想」。图灵把这一条引向著名的收敛:照此标准,人人唯有对自己才有资格谈「有感受」。他拒绝接受这个结局,转而立约:本论文不谈感受,只谈可观察行为——模仿游戏正是为此设计。
第三回合:机器不会发明。反对者引洛夫莱斯对分析机的评语「分析机不会自己发明任何东西」。图灵的回应干脆:机器能做的不过是人给它的指令;可人「发明」的东西,又何尝不是来自出生以来的输入?他把这道题折回统计:所谓原创,是确定性输入之外的变奏——而儿童机受的教育正是变化着的输入。他还指出一个事实层面的漏洞:「造机器的」与「机器做的事」之间隔着巨量组合,指令的作者无法预见全部后果。
九条里其余六条(神学、鸵鸟、连续性、非形式行为、能力清单、心灵感应),或引热奈、或举实例,逐一拆解。整篇论文的姿态始终如一:不宣告胜利,只清出战场。
「机器能思考吗」吵了几十年,吵的是定义。图灵进场,先做的事是把题目换掉:不问「它有没有心灵」,问「它在一场公平的问答里,能不能让人认不出来」。
这道换题是暗线最锋利的一次应用。「会思考」写不下来,就不硬写;把它的可观察面——语言应答——写下来,写成一判输赢的游戏。定义悬空的地方,用判据垫底。这不是回避哲学,这是给哲学递一把尺子。
同样的手筋在这幕里出现了三次:「学习」写成「规则表随奖惩修改」;「发明」写成「输入的变奏」;「智能」写成「统计上骗过提问者」。每一次都是同一个方向:把大词折成小步骤,把争论折成计算。
也要看到这条线的尽头。换题之后的胜利只是那道题的胜利:机器可以骗过提问者,不等于机器「有感受」——图灵从头就没打算赢这一条。他划的界线清醒得很:写得下的归机器与数学,写不下的,悬着。悬着,不等于不存在;只是不许冒充已经解决。
机器智能的种子不是一颗。1943 年,图灵在纽约与香农长谈数次;两人的通信在战前已开始。1948 年,维纳的《控制论》出版,把「动物与机器中的控制与通信」并成一个题目。1956 年夏天,达特茅斯的一次暑期会,正式把「人工智能」立为名目。图灵 1950 年的论文在这些事件之前——它是被引用得最早、也最完整的那一份。
名目的身后事也一并说清。1966 年起,计算机学界以图灵为名设立最高年度奖(图灵奖);半个世纪后,以神经网络与搜索树为骨干的系统在棋类与语言任务上接连越过图灵当年设想的门槛,「机器的表现让提问者认不出」从思想实验变成了工程实测。
图灵本人没有看到这些。1950 年之后,他的兴趣移向一个冷门得多的题目:生物身上的花纹从哪里来。同事不解:放着堂堂的机器智能不谈,去数斑马的条纹?他的回答记在 1952 年论文的标题里——《形态发生的化学基础》。这一题目的数学,留给第五幕。
这一幕结束在 1952 年年初。他四十一岁,皇家学会会员,两个领域各留下一份奠基文献。而一场刑事指控即将落到他头上,理由与他的任何工作无关——那是第五幕的黑暗段落。
一、题目被换掉了。「会不会思考」换成「能否在笔谈中让人认不出」——定义的争吵退场,行为的举证进场。哲学史上罕有如此轻巧的一次立法。
二、判据是统计的。全凭猜的对率五成;超过七成即成小概率事件。「智能」第一次拿到了显著性水平。
三、学习被写成一张会改的表。儿童机、奖惩、归纳三件套,从 50% 到 70% 的实算示范了「长本事」的最小形式。这份日程表后来被逐一兑现。
四、九声反驳被一一接住,其中最硬的两条(数学上限、意识)图灵并未强胜——他划清界线:只谈可观察行为,其余悬置。诚实的边界感,恰是这篇论文不朽的另一半。
下一幕回到第一幕的界碑前:既然机器有算不动的事,那么这些「算不动」到底锁死了什么?判定问题的最终判决书,要一张一张翻开。
第一幕在 p.9 立下界碑:沿对角线取反的一行行为,不在任何机器的清单上。本幕把这半成品写成两份完整的判决书:停机问题无解、判定问题无解。两份判决书构成了本册明线的骨架。
故事先补一段。1938 年夏,图灵在普林斯顿完成博士论文〈基于序数的逻辑系统〉。论文直面哥德尔留下的局面:既然一致的形式系统必有不可证命题,能否不断造更强的系统,一层套一层?图灵引入「序数逻辑」——系统按超穷序数排列——并证明:无论叠到哪一层,总还有命题在上层之外。「换更强的系统」这条路本身有尽头。
论文里还有一个日后被反复引用的概念:直觉与机智。他说,数学工作里那种「跳出系统看一步」的本事,也许永远无法完全化成机器规则——这话出自给「机器」下定义的人,分量不轻。
1939 年战争把他带走,这篇论文搁下多年。战后有同行问他为何不再深入数理逻辑,他的回答直接:战争期间做的事,比它要紧。逻辑的完整版留给别人续写;本幕把它最要紧的三页续完。
下一页先热身:把 p.3 那台「加一」机器一步不落地走一遍——亲眼看一眼「查表」到底长什么样。
任务:纸带上是二进制 1011(十进制 11),把整条带子上的数加一,得 1100(十进制 12)。
策略:从最右格出发向左扫;扫过的 1 全改成 0(进位),遇到第一个 0 就改成 1 停机;若扫穿带子也没遇到 0,在最左补一个 1。状态表三行:
状态甲,见 1 → 写 0,左移,留甲
状态甲,见 0 → 写 1,停
状态甲,见空 → 写 1,停
执行(带子下方标读写头位置,★ 为当前格):
初始 1 0 1 1★(读 1)→ 写 0,左移
第 1 步后 1 0 1 0★(读 1)→ 写 0,左移
第 2 步后 1 0 0 0★(读 0)→ 写 1,停
停机时带上是 1100。验算:1011 的值 = 8+0+2+1 = 11;1100 的值 = 8+4+0+0 = 12;11+1 = 12。
全程三步。机器没有「知道」11 和 12:它只是查了三次表。第三行状态(见空补 1)在本例中没用到,但必须写在表里——否则输入 111(7)时机器就会扫穿带子无表可查。「完备」是状态表的美德:一切情形都有着落。
再看一遍这台机器的构成:三个符号(1、0、空)、一个状态、三行规则。这是图灵机规格的极端。复杂计算不过是用更多的状态与更多的行,把这张表写长——原理从未变过。下一页,用同样的「查表」语言提出那个大问题。
命题:不存在一台机器,能对任意「机器+输入」判定它会不会停。
反证。假设判定机 H 存在:给它〈机器 M〉与输入 x,它考察之后输出两个结论之一:「会停」或「不会停」。
用它造一台捣乱机 D,规定:读入〈机器 M〉,先问 H:「M 对〈M 自己这个输入〉会停吗?」——若 H 答「会停」,D 就原地打转永不停;若 H 答「不会停」,D 就立刻停。
现在把 D 喂给 D 自己,问那个要命的问题:D 对〈D〉会停吗?逐支检查:
若 H 说「会停」 → 按构造,D 此刻开始死循环 → 实际「不会停」→ H 判错了
若 H 说「不会停」 → 按构造,D 立刻停 → 实际「会停」→ H 判错了
两支都逼出「H 判错」。可 H 的定义是永远判对。矛盾。所以 H 不存在——判定任意机器停机的机器,造不出来。
注意证明的结构:没有一处用到大数或复杂计算,全靠「把判定结果喂回机器自身」这一个动作——自我指涉拧了一圈,把逻辑拧断。它就是 p.9 对角线论证的实装版:把机器排成清单,「D 对第 i 台的输入取反」,D 恰好是那翻转出来的一行。
还要听清这个定理不说什么。它不说「某台机器算不出某道题」——它说:任何声称能判一切停机的机器,都会被 D 将一军。界限不在工程里,在逻辑里。
希尔伯特的判定问题问的是:有没有一套死板程序,对任何数学命题在有限步内判定「可证明」与否?停机问题与它之间隔着一步,这一步这样走。
关键观察:任何「机器 M 对输入 x 会不会停」,本身就是一条清清楚楚的算术命题——「存在某个步数 n,机器在恰第 n 步进入停机状态」。机器有限、输入有限,这句话不含任何模糊成分。
于是做归约:假如判定程序 E 存在——任何命题都能判「可证与否」——那么把上句算术命题喂给 E,看它判不判「可证」。若数学的一致性保证「真的能停」当且仅当该命题可证(按算术的常规公理,事实如此),E 的判定就等于停机的判定。
链条推到底:
E 存在 → 停机可判 → 与判决书一矛盾 → E 不存在
判定问题无解。希尔伯特 1928 年的期待,1936 年被一位二十四岁的人用一条纸带谢幕。这不是「暂时没找到办法」,是「办法在原则上不存在」。
此事的重音响在数学的地基上。数学命题全体中,藏着一些「事实如此、但按这套程序永远问不出结果」的成员。哥德尔在 1931 年从证明一侧挖开同一堵墙(真而不可证的命题存在);图灵从计算一侧挖开它(判不了停机的机器行为存在)。两人从两面碰到了同一堵墙。
墙归墙,地基没有塌。可判定的范围依然广博:本册第二幕用到的每一道统计判断、每一张状态表,都在可判定的一侧。界限的存在,不取消界限之内的一切——它只是告诉人:许诺之前,先看题目的户口。
「有些事机器干不成」,这话人人会说。把它变成定理,需要三步,每一步都是暗线的手笔。
第一步,想清楚。「干不成」的含义被拆开:不是「干得慢」,不是「还没找到办法」,是「有限步之内、按明确规则、永远得不出结果」。三个限定词一个不能少。
第二步,写下来。「有限步、按规则」写成图灵机;「一切机器」写成描述数的清单;「判定」写成一台输出「是/否」的机器。模糊的词汇全部退场,剩下的每件东西都能摆在纸上。
第三步,交给步骤自己咬自己。判定机被喂入它自己的号,结论拧出矛盾。定理就这样成立——像一台机器执行自己的状态表,一步不多,一步不少。
回看五幕,这条线从未换过:定义计算(一张表)、定义证据(一个对数单位)、定义智能(一场问答)、定义界限(一份反证)。图灵没有一套专门的「方法」——他只是每次都把想清楚的东西写到底。写到底的地方,直觉与规则的分工自动显形:直觉负责开题,规则负责逼死结论。
而他给「直觉」留的那句话,值得抄在最后:直觉与机智的界限,也许永远无法完全化成规则。写下这条话的人,一生都在写规则——他知道尺子的长短,因为他造过尺子。
停机问题的界碑立起后,两侧各长出一片学问。
左翼:原则上算不出。最直观的例子是「忙碌海狸」函数:在所有只用 n 个状态、运行后必停的机器里,找停机前写得最多的那台,它写的格数记 BB(n)。前几个值:
BB(1) = 1 BB(2) = 4 BB(3) = 6 BB(4) = 13
BB(5) = 47 176 870(2024 年经分布式协作确证)
这个数列增长快于任何可计算函数——若它能被某台机器算出,停机问题就能解:想知道某台 n 态机器会不会停,跑它 BB(n)+1 步即可。所以右边的数字永远没有机器能一路算下去。六个状态之后的 BB(6),至今只是天文数字级的下界。
右翼:原则上算得出,实际上算不快。判定问题之外的战场:同一道题,有的算法要 n 步,有的要 2n 步——2100 ≈ 1.27×1030,宇宙的原子总数约 1080,指数级增长让「可计算」三字形同虚设。「多项式时间」由此成为划界的新尺:复杂度理论(含著名的 P 与 NP 之问,1971 年库克提出)研究的就是这张新地图。它是图灵界限的精细版:在「能算」内部,再分快慢。
还有一个图灵留下的问题至今未决:物理世界会不会超出图灵机——真实的量子过程、真实的连续量,能不能算出纸带机器算不出的东西。论题本身无法证明,这正是它称为「论题」而非「定理」的原因。
一、查表是计算的原形。三个符号、一个状态、三行规则,加一机器三步完成 1011→1100。复杂与简单之间隔着的只是表的长度。
二、停机问题无解。判定机 H 若存在,捣乱机 D 把它的判定喂回自身,逻辑拧断。界限在原则里,不在工程里。
三、判定问题无解。停机的每一步都可写成算术命题,判定程序若在,停机即判——与判决书一相撞。希尔伯特的期待就此谢幕。
四、界限的两翼各自成形:忙碌海狸在「算不出」一侧疯长,复杂度理论在「算得出但不快」一侧划出新尺。1936 年那条纸带,最终长成了整个计算机科学的底图。
下一幕,本册回到它最安静的段落:花纹、身后事,以及一个被亏欠的人怎样被历史补记。
1951 年起,图灵的办公室里出现了新客人:水螅、球形的藻类、成排的花序照片。同事以为他在休息。1952 年,哲学与生物两种期刊之外的《皇家学会哲学汇刊》刊出他的论文:〈形态发生的化学基础〉——一个数学家,在生命的发育问题上落子。
题目来自一个极普通的观察。胚胎是一团圆滚滚的细胞球,凭什么长成有头尾、有条纹、有手指的形状?对称什么时候破掉、图案什么时候长出来?当时的生物学有观察、有猜想,没有机制。
图灵的答案冷峻得漂亮:不需要图纸。只要两种药剂——一种「活化剂」刺激细胞分化、自己也促自己多产;一种「抑制剂」压制活化剂、跑得比它快得多——那么一团本来均匀的细胞,会在微小的涨落里自发长出稳定的条纹或斑点。数学上,这叫均匀态失稳;生物学家后来叫它反应–扩散机制。
快慢是关键。抑制扩散得快,把峰与峰之间的地带压住,于是图案的「间距」被快慢之比决定:抑制跑得越远,斑带越稀。这个粗略的判据,本册将在 p.35—p.37 用可以手算的方式演示。
为了让猜想落地,他用曼彻斯特的机器做了数值实验——那是电子计算机第一次跑生物学模型。手算与机器算交叉核对,论文里的曲线有相当部分是机器吐出来的。
而这幕有两层。一层是这篇安静的论文;另一层是同一年的另一件事:1952 年 3 月,法院判他有罪——罪名与他的一切工作无关。他失去安全许可,接受激素治疗。此后两年他仍在工作,1954 年 6 月初,他在家中去世,四十一岁。验尸的结论是自尽。这些事记在 p.39;先看花纹的数学。
先立设定。一排细胞,两种药剂:活化剂 a 促进自己与抑制剂 b 的生成;b 压制 a。扩散系数:慢的 Da,快的 Db,取 Da = 0.02、Db = 0.3。
扩散是「摊开」的过程:走 t 步后,一团药剂的痕迹半径约 √(2Dt) 格。代入:
活化剂 100 步:√(2×0.02×100) = √4 = 2 格
抑制剂 100 步:√(2×0.3×100) = √60 ≈ 7.7 格
快慢之比 √(0.3/0.02) = √15 ≈ 3.9 倍
于是机制成形:某处 a 恰好多了一点 → 此处 a、b 都增多 → b 跑得远,把周围一大圈的 a 压下去 → 远处不可能再起峰;而峰中心 a 靠自我促进站住 → 峰稳住了。峰与峰的间隔,由 b 的势力半径决定。
直觉核验一遍。若两者扩散一样快,增多会同步摊平,涨落消失,均匀态稳固——必须「快慢拉开」才有花纹。若抑制跑得过快过强,峰自己也被压熄,均匀态同样稳固。花纹只在中间地带出现——这也是为什么胚胎不到处长花纹:参数落到区间外,图案自动缺席。
最后记住这两个数:近处影响约 2 格、远处压制约 5 格(取 b 势力半径的圆整值)。下一页把它们放进一个可以逐格手算的模型,看花纹真的长出来。
把机制做成逐格可算的模型(活化–抑制元胞规则,1984 年由杨给出):24 个格子围成一环,每格两种状态——亮(分化的斑)或暗。规则只问两笔账:近处 2 格内的亮格均量,与远处 5 格内的亮格均量。近多则点亮,否则熄灭。
起步随手撒:约三成格子亮。执行规则——两步之后定格:
定格:····XXXX····XXXX····XXXX
(三段各 4 格的斑带,起点在第 5、12、19 格,间隔恰为 7)
逐格抽查一处。看第 4 格(暗):近处 2 格内亮格是第 5、6 两格,均量 2/5;远处 5 格内的亮格含第 5—8 及环上相关格,均量更高——远处压过近处,维持熄灭。再看第 6 格(亮):近处均量占优(正处斑带中央),维持点亮。两笔账都自洽。
改参数再跑,看间距怎么动:把近窗与远窗改小(1 格与 3 格),同法起步,斑带变密;改大(2 格与 6 格),斑带更稀。规律与 p.35 的 √(2Dt) 完全同向:抑制的势力半径越大,斑带越稀。
这个模型的两条腿值得点名。「近处促进」是活化剂,自增进的局部性;「远处抑制」是扩散快的抑制剂。二者缺一:只促进,全亮成一片;只抑制,全暗。花纹是两种势力拉出的手风琴。
最后一步检验对称性:24 格与间隔 7 并不整除(24 = 7×3 + 3)——花纹不在乎完美周期,三段斑带各留 3 格的「余数空档」。真实动物的斑纹同样如此:排布由机制决定,不必凑成漂亮的整除。
模型跑通了,接着问:生物身上找得到它吗?图灵自己在论文末段给出的应用清单是:水螅的再生(一团组织能重长出整只)、某些原生动物的轴对称、花瓣的排布;他晚年手稿里反复出现的则是叶序——向日葵种盘上的螺旋数总是斐波那契数。
半个世纪后,清单开始兑现。2012 年,发育生物学家在小鼠腭部褶皱的形成里确证:以「促生信号+其抑制剂」构成的回路,正是反应–扩散式的机制,且人为阻断抑制剂,褶皱的间距随之改变——间距由快慢之比控制,这一预言被直接检验。
条纹与斑点之争也有一句干净的注脚:同参数的机制在二维上按边界形状给出条纹或斑点——直边(如某些鱼类的纵向条纹)压出条纹,开阔面(如斑点皮肤)出斑点。形状参与决定图案,这正是「均匀态失稳」理论最优雅的推论之一。
还要交代理论的边界,免得它被夸大。发育的真实机制是多路的:梯度、细胞迁移、机械应力都参与塑形;反应–扩散是其中被确证的一条通路,不是唯一的总开关。图灵论文里那两个虚构的「药剂」在不同的发育场合对应不同的分子(如信号蛋白与它们的拮抗剂)。理论的正确姿势是:机制成立,载体多样。
把五幕收拢看一眼:纸带、密码、问答、界碑、花纹——五个题目,一种做法。第五幕的做法与第一幕如出一辙:把「生命为何有形」这个巨大的疑问,拆成两个扩散系数与一张逐格可查的规则表。想清楚,写下来——写下来的东西,机器可以跑,后人可以验,怀疑者可以推翻重来。
暗线走到最后一段,有一处必须停下来的地方:写下来的人,没有等到回声。
他的密码战,保密三十年——生前无人知道大西洋上那些「偶然」的改航里有多少是他的数学。他的机器智能论文,同行视为聪明但出格的思辨,日程表上的条目要等算力长出才有处兑现。他的形态发生论文,引用者寥寥,分子生物学还没有走到能认出「信号蛋白与拮抗剂」的年代。
三份工作,三种等待。密码等到 1974 年(当事人回忆录出版),智能等到算力(世纪末之后),花纹等到实验(2012 年的直接检验)。他一件也没等到。
但暗线在这一幕要说的不是苦情,是一个冷静的事实:「写下来」自带邮资。写下来的东西不依赖写它的人在场:状态表会自己执行,方程会自己等待,规则表会被逐格复核。一个人的名字可以被亏欠,一个可检验的结构不会——它只欠时间。
他留下的话里有一句,与这层意思最贴。〈计算机器与智能〉的结尾,他写道:能看到的前方很短,而那里有太多值得做的事。这句话不悲伤,也不豪迈,是一个把事情写下来的人,对还没写完的部分的交代。
把身后的事实按年份排直。
1954 年 6 月 7 日,图灵在威尔姆斯洛的家中去世,四十一岁;验尸结论为氰化物中毒、自尽。此前两年:1952 年 3 月因同性恋行为被判罪,选择接受激素治疗,安全许可被吊销,情报系统的门对他关闭。生前,他的战功因保密无人知晓;身后,判决记录仍然立在那里。
补记按同样的年份排。1966 年,计算机学界设立以他命名的最高年度奖。1974 年,密码战的部分史料解禁,他的名字开始回到大西洋之战的叙述里。1983 年,权威传记出版,他的生平第一次被完整写出。
2009 年 9 月,首相在请愿之后公开道歉,承认「他被亏欠」。2013 年 12 月,王室赦免令签署。2017 年,赦免范围扩大到依同样条款获罪者。2021 年 6 月 23 日——他的生日,英格兰银行发行的 50 镑纸币上印上了他的脸:数学家图灵,与女王同在一面纸币上。
纪念物之外,更持久的纪念是结构性的:今天每一台通用计算机,按第一幕的定义都是图灵机的工程后代;「可计算」的每一次精细测量——从编译器到复杂度——都在那条纸带的延长线上。图灵奖评语里最常见的那类成就,追根究底都是在回答他的问题。
亏欠被补记,结构仍在生长。本册以他的两句收尾:一句在本页——他被亏欠;一句在 p.38——他说前方还有太多值得做的事。两句都属实。
一、花纹不需要图纸。慢的活化剂与快的抑制剂,两个扩散系数决定一切:快慢比拉到中间地带,条纹与斑点自己长出来。24 格环上两步定格的三段斑带,是这份机制最小的实算凭证。
二、机制在生命里找到了载体。腭褶的间距随抑制剂可调、形状压出条纹、开阔面出斑点——理论的每一步都可被实验追问,这正是它比玄想强壮的地方。
三、身后的事排成了直线:判罪、逝世、道歉、赦免、纪念。被亏欠的得到补记;更持久的补偿是结构本身——它不欠任何人的时间。
四、五幕一种做法:计算写成状态表,证据写成对数单位,智能写成问答判据,界限写成反证,花纹写成两个速率。把想清楚的写下来,写不下来的悬置——这套做法留下的地图,到今天还在扩边。
全册说完。纸带上的那个符号仍在:一格一格,查表而行。所有机器都从这张最省的桌子里走出来——包括正在读这一页的这一件。
把一生的节点排成一行。
1912 生于伦敦迈达维尔,6 月 23 日
1926 入谢尔伯恩学校;开学日独自骑行报到
1930 挚友莫科姆病逝
1931 入剑桥国王学院
1934 数学荣誉学位考试一甲
1935 当选国王学院院士(二十二岁)
1936 〈论可计算数〉投稿;秋,赴普林斯顿
1938 获博士学位(导师丘奇);秋,回剑桥
1939 9 月 4 日入布莱切利园
1940 炸弹机启用(3 月)
1941 与同事联名致信丘吉尔(10 月)
1942 赴美三月,研语音加密
1945 入国家物理实验室,交 ACE 报告
1948 转曼彻斯特大学;写下首个下棋程序
1950 〈计算机器与智能〉刊出(10 月)
1951 当选皇家学会会员;〈形态发生的化学基础〉投稿(11 月)
1952 3 月被判罪;论文刊出(6 月)
1954 6 月 7 日逝世于威尔姆斯洛
十八行之后,补四行身后:
1966 图灵奖设立 1974 密码战史料部分解禁
2009 首相公开道歉 2013 王室赦免
2017 「图灵法」扩大赦免范围 2021 头像登上 50 镑纸币(6 月 23 日)
寿数四十二年。十六个生前节点里,有九个在一处乡间庄园与几间大学办公室之间往返;身后七十年,纪念物从一座奖杯长成一张纸币。
小读者的读法:一台机器。记住那条纸带就够——一格一符、查表而行。玩两遍 p.44 的手跑游戏,玩一遍 p.45 的对角线小表,能亲眼看见「照规则办事」的力量,也亲眼看见它的围墙。
中学生的读法:一道界。抓两个证明:停机问题的反证(p.29)与判定问题的归约(p.30)。它们只用「假设存在—自我指涉—矛盾」三步,不仰仗任何高等工具;把它们各自推演一遍,胜过读十篇介绍。
成年读者的读法:一个人。一位把想清楚的事情写到底的人:写了机器的能事,也写了机器的极限;拆过铜墙铁壁,也数过斑马的条纹。他留下的界线至今完好,他承受的不公已被逐条补记(p.39)。
三层可以叠读。纸带是底,界限是墙,人是把两者都量过一遍的人。任何一层读顺了,另外两层会自己跟上来。
一、P 与 NP。「能算」内部的新地图(p.32):找到答案容易,核对答案也容易——找到与核对之间隔着什么?1971 年提出,至今悬而未决,是本领域最著名的一道悬题。
二、物理超不超出图灵机。真实的量子过程、真实的连续量,会不会做出纸带机器原则上做不出的事(p.32)?量子计算给了新的切口,论题本身仍不可证。
三、复杂度门槛。图灵的儿童机设想(p.22)里藏着一条线:规则太简单的系统学不了东西。门槛画在哪里?今天它以新的名字被反复提起——大模型的学习能力把这条线推到了众目睽睽之下,而线本身仍未量出。
三个问题共享一个出身:都诞生于「把想清楚的写下来」之后——先有明确的框架,才有可讨论的悬而未决。图灵留问题的方式与解题如出一辙:把题目写到任何人都能接手的程度。
器材:纸条一条(画上八个空格)、铅笔、手指。要跑的机器是一台「交替打印机」,状态表两行:
状态甲,见空 → 写 1,右移,转为乙
状态乙,见空 → 写 0,右移,转为甲
任务一:从最左空格起步,手跑六步。每步做三件事——看当前格、按表写字、挪一格换状态。跑完纸上应是 1 0 1 0 1 0,读写头停在第七格,状态回到甲。验证它:奇数格全是 1,偶数格全是 0。
任务二:回答一个问题——这台机器会停吗?规则里没有「停」这个动作(两行里都没有写停),而纸带无限长。答案:永不停止,纸上无限延伸 1 0 1 0……。在图灵的术语里,这叫「不停机」。p.29 的反证表明:没有机器能一眼看穿所有机器停不停——但眼前这台,看一眼表就能断定。可见「判定」的难度全在「一切机器」四个字上。
任务三:用 p.28 的加一机器跑一遍 1101。从最右格起步:读 1 写 0 左移;读 0 写 1 停。两步结束,纸上 1110。验算:1101 是 13,1110 是 14,13+1 = 14。再跑 111(7):三步全进位、扫穿带子、按第三行规则补 1 停——1000,十进制 8。
跑完三题,图灵机的全部生活就体验完了:看一格、查一次表、做一件事。所有的计算机——从洗衣机到机房里的服务器——跑的都是这套动作,只是表更长、纸更宽。
任务一:把 p.9 的反证亲手走一遍。下面是四台机器的停机小表(行=机器,列=输入 1—4):
第 1 台:1 0 1 1
第 2 台:0 1 0 0
第 3 台:1 1 0 0
第 4 台:0 0 1 1
取对角线(第 1 行第 1 列、第 2 行第 2 列……)得 1、1、0、1,逐格取反得 0、0、1、0。现在问:这行结果是不是清单里哪一台?逐一比对四台的四列——每台至少一列与它对不上,而那恰好是对角线位置。结论:这行不在清单上。清单再长也躲不开这个结论。
任务二:手跑一个花纹。12 个格子围成一环,从这样的起步出发(亮格记 X):
· · X · · · · X · · X ·
规则用 p.36 的两笔账(近窗 2 格内亮格均量、远窗 5 格内亮格均量,近多则亮)。提示两点:起步亮格间距恰为 4;每个亮格的近窗内均量是 1/5,远窗内均量是 3/11——远处占优,所以「已经亮着的格子」也会先被熄灭。跑两步后按规则自查每个格子,可发现三颗星全部维持熄灭、全环归暗——起步太稀,机制拉不出峰。这正演示了 p.35 的另一半:参数不在中间地带,花纹缺席。
任务三(挑战):把起步换成 · X · X · X · · X · · X,同法手跑。答案:约两三步内亮格向等距位置聚拢,定格为间隔 4 的星列——间距仍由远窗主导,与 p.36 的规律一致。
图灵机 纸带+读写头+有限状态+状态表构成的假想机器;「可计算」的定义装置(p.7)。
状态表 规定「每个状态下看见每个符号做什么」的表;机器的全部行为(p.7、p.28)。
描述数 把状态表编码成的整数;每台机器一个号(p.8)。
通用机 读「描述数+输入」并执行被描述机器的那台机器;一机能模拟一切机(p.8)。
停机问题 判定任意机器对任意输入会不会停的问题;答案:不存在这样的判定机(p.29)。
判定问题 希尔伯特之问:判定任意数学命题可证与否的死板程序;答案:无(p.30)。
柳条 破译行话,指凭电文格式猜出的明文片段;用于对齐与排除(p.15)。
班 图灵定义的证据重量单位:十倍优势记 1 班,班可累加(p.16)。
模仿游戏 〈计算机器与智能〉设计的问答判据:机器能否在笔谈中不暴露(p.21)。
反应–扩散 快慢两种药剂的扩散与相互作用自发产生花纹的机制(p.35—p.37)。
莫科姆(1911—1930) 谢尔伯恩的同窗挚友,一起做实验谈星空;他的早逝把「心灵与机器」的问题推给图灵一生(p.4)。
纽曼(1897—1984) 剑桥教授,把判定问题带进课堂的人;战后主持曼彻斯特计算实验室(p.4、p.20)。
希尔伯特(1862—1943) 提出判定问题的数学家;他相信一切都可判定——界碑立起之日,此问落幕(p.6、p.30)。
哥德尔(1906—1978) 不完备定理的证明者;从证明一侧挖开图灵从计算一侧挖开的同一堵墙(p.11、p.30)。
丘奇(1903—1995) λ 演算的建立者、图灵的博士导师;两套工具殊途同归,论题以两人共名(p.6、p.11)。
波斯特(1897—1954) 把「按规则执行」化成工人式模型;第三套等价工具(p.11)。
雷杰夫斯基(1905—1980) 波兰数学家,1932 年理论上破开恩尼格玛;1939 年移交方法与复制品(p.18)。
威尔奇曼(1906—1985) 炸弹机对角线板的设计者;布莱切利园同事(p.13 注)。
弗劳尔斯(1905—1998) 「巨像」计算机的总设计师;另一条战线(洛伦兹密码)的工程担当(p.18)。
香农(1916—2001) 信息论建立者;1943 年与图灵在纽约长谈机器与棋(p.25)。
1936 年那条纸带之后,可计算性理论沿三个方向生长。
其一,等价模型的家谱。λ 演算(丘奇,1930 年代)→ 递归函数(哥德尔、埃尔布朗、克莱因)→ 波斯特机(1936/1944)→ 寄存器机与兰姆达图……工具越造越多,算力全部重合。「可计算」因此被公认为客观的界——界不随记号移动。
其二,不可解度的分层。停机问题只是第一块界碑。把「问某台机器会不会停」的难度量化,就得到不可解度的谱系:有些问题比停机更难(能解它就能解一切停机问题),彼此不可互相推导。界限不是一堵墙,是一片陡坡,坡上有无穷多级。
其三,复杂度的地图。在「可算」内部按耗时分级:多项式时间、指数时间、空间界限……P 与 NP 之问(p.43)是这张地图上最大的悬案。1971 年之后,密码学与它直接挂钩:今天的网络加密,安全性的底气全部来自「某些可计算的事情实际做不动」——界碑的精细版在保护每一次付款。
一句话收拢:图灵给出的是地形图的第一笔——哪里是海(不可计算),哪里是陆地(可计算)。后世的工作是测绘:海有多深,陆有多陡。
〈计算机器与智能〉之后,机器智能走了七十年,三个阶段可辨。
第一阶段:规则的海。1950—1980 年代,主流做法是把知识一条条写成规则。成果真实(专家系统上过生产一线),天花板同样真实:规则写不尽世界的例外。图灵在 p.22 已预演了这一层的问题——他选择的不是写全成人,而是养儿童。
第二阶段:统计的回潮。1990 年代起,数据驱动的统计学习接管主线;神经网络从边缘回到中央。「奖励—修改规则表」的儿童机设想,以反向传播与强化学习的形态兑现。1997 年,机器在国际象棋上胜过人类冠军;图灵纸上走完的那局棋,机器用了四十九年接棒。
第三阶段:大模型的年代。2010 年代末起,以海量文本训练的语言模型把 p.21 那场笔谈变成了日常可复现的实验:「几分钟能不能认出来」真的成了可以重复测量的量。模仿游戏没有过时——它变成了仪器。
同时要带着图灵自己的分寸读这三阶段。他从头划清的界线(p.23、p.24)没有移动:可观察的行为可以测,内在的感受悬置。机器越能干,这条界线越值得记着——它当年是谦逊,如今是护栏。
本册的三层各有入口。小学低年级:只读故事页,配 p.44 的手跑游戏——一支铅笔一张纸条就能玩,规则的「笨」正是它的魅力,孩子会自己发现「机器不用聪明也能干活」。
小学高年级到初中:加读数学页的 p.28、p.29。停机问题的反证不需要任何公式,家长可以陪孩子分角色演:一人当判定机,一人当捣乱机,把 p.29 的两支矛盾演出来——演完定理就长在身上了。
高中及以上:全册可读。p.30 的归约、p.32 的忙碌海狸与 P/NP、p.35—p.37 的花纹模型,是大学初年级内容的完整预告;注疏层给出的文献路径(p.2 注起)可供检索。
三处提示给家长。其一,p.4 的寄养与挚友之死、p.39 的判罪与逝世,孩子若问起,如实讲即可——一位被历史亏欠又被历史补记的人,本身就是诚实教育的一课。其二,p.21 的模仿游戏容易被听成「机器已经会想」,请把 p.23、p.24 的界线一并讲掉:可测的是行为,悬置的是感受。其三,p.36 的花纹游戏可以换成实体:一枚硬币标记亮格、一枚标记暗格,全家轮流当「规则」,比屏幕更有体感。
读完这一册,值得留下一句话给孩子:把想清楚的事情写下来,是普通人也握有的超能力——图灵一生用的就是这一种。
一、「图灵机是一种真实的机器。」它至今是一台假想机器——定义「计算」用的概念装置。真实的计算机是它的工程后代,不是它本人(p.7)。
二、「停机问题说机器算不了难题。」它与难不难无关:再简单的一台机器,其停机与否也可能没有统一算法可判。界限在「一切机器」这个全称上,不在单道题上(p.29)。
三、「图灵测试证明机器有智能。」模仿游戏只是一场可检验的问答,通过与否不等于「有感受」——图灵本人明说只谈可观察行为(p.21—p.24)。
四、「炸弹机是图灵一个人造的。」它的判据思想出自他,机械设计有工程团队,对角线板出自威尔奇曼,且站在波兰同行的移交之上——这是一张协作网的节点(p.18)。
五、「花纹理论说动物花纹全由它决定。」反应–扩散是被确证的一条通路,不是唯一总开关;梯度、机械应力等机制同样参与(p.37)。
五条误区有一致的解药:把「谁说的」换回「在哪一页、依据什么」。这本册子每一处重要断言都留了页码与文献——这正是本册主角一生的工作方式。
《数学家的故事》第四辑 第 39 册
图灵 · 图灵机与可计算
体例:五幕 · 52 页 · 三层可读(故事/数学/注疏)
插画:40 幅(留白线体)
数值:全册关键数值实算复核
本册为「格物致知」系列数学通识读物之一,面向全龄读者。
故事层无需预备知识;数学层对应高中至大学初年级;注疏层供检索与延伸。
格式 · 格物致知 · JUST FOR FUN