We can only see a short distance ahead, but we can see plenty there that needs to be done.

– Alan M. Turing

这篇文章是图灵提出“图灵测试”的原文,发表于 1950 年。题词是原文的最后一句话。

作者: Alan M. Turing

来源: Mind, New Series, Vol. 59, No. 236 (Oct., 1950), pp. 433-460


1. 模仿游戏

“机器能思考吗?” 为了回答这个问题,按说须得弄清“机器”与“思考”的定义。于是需要尽可能完备地体现这些单词的通常用法,但这个途径是危险的。如果“机器”与“思考”的意义要通过考察它们的通常用法得到,那相当于说“机器能思考吗”这个问题的意义和答案是要用盖洛普民意测验这样的方法得到。这岂不荒唐。与其寻找那样的定义,我这里提出另一个紧密相关的问题来代替,并且是用相对而言不那么模棱两可的语言表述的。

问题的新形式可以用一个我们称之为“模仿游戏”的游戏来描述。这个游戏由三个人玩,一个男的 (A),一个女的 (B),以及一个问询者 (C),问询者可以是男的或女的。问询者呆在一个房间里,与另外两个人分开。对问询者而言,游戏的目标是要确定另两个参与者哪个是男的,哪个是女的。他知道另两个人分别有个标签 X 和 Y,而游戏结束时他要说“X 是男的 Y 是女的”或者“X 是女的 Y 是男的”。问询者可以像下面这样对 A 和 B 提问:

C:可否请 X 告诉我你头发的长度?

现在假定 X 是 A,则 A 必须回答。A 在游戏中的目标是让 C 错误判断。所以他的答案可能是这样的:

A:我留的是短发,最长的发丝大概有 9 英寸长。

为了避免问询者通过语调获得信息,答案是写出来的,或者更好的是用键盘打出来的。理想的安排是让两个房间通过电传打印机沟通。或者,问题和答案可以通过中间的一个人来传话。第三个人 (B) 的目的是要帮助问询者。她的最佳策略很可能是给出真实答案。比如她可以在答案里说“我是那个女的,别信另外那个人!”,但是,注意到那个男的 (A) 也可能会这么说。

现在我们问,“如果一个机器代替了 A 的角色,会怎么样?” 问询者错判的几率是否会与跟人玩时一样?这些问题替代了最初的“机器能思考吗”。

2. 对新问题的批评

除了问“这个新问题的答案是什么”之外,人们还会问,“这个新问题是否值得探究?” 我们马上探讨后面的问题,避免无限的诘难。

新问题的优势是在人的生理和智力能力方面划清了界线。没有工程师或化学家宣称能造出与人类皮肤不可区分的材料。也许有一天能造出,但就算这样,通过罩上人造肌体让一个“思考机器”更像人,是不得要领的。我们对问题的设置就是要阻止问询者看见、听见或触碰另外的参与者。其它优势可通过示例看出:

Q:请以福斯桥 (Forth Bridge) 为题材写一首十四行诗。

A:别算上我。我从来没写过诗。

Q:34957 加 70764 是多少?

A:(过了大约 30 秒) 105621。

Q:你下棋吗?

A:下。

Q:我在 K1 位置放了 K,没有别的棋子。你在 K6 位置放了 K,在 R1 位置放了 R。该你走,你怎么走?

A:(过了大约 15 秒) R-R8 将。

这种问答形式似乎适合用来展示几乎任何我们愿意包含进来的人类探索领域。我们不会因为机器不能在选美大赛中夺目而惩罚它,也不会因为一个人跑不过飞机而惩罚他。我们为游戏设置的条件让这些能力缺失不相干。“证人”可以自夸他们的魅力、力量,或者英雄气概——如果他们认为这么做是明智的,但问询者不能要求实际展示。

也许有人会批评游戏的设置对机器太不利。如果一个人要假装是一台机器,他当然可以故意表现得很差。但在算术问题上的迟缓和差错会出卖他。机器是否会给出一些应该被认为是思考的东西,但与人的行为很不同?这个反驳很强,但至少我们可以说,如果,不管怎样,能造出一台机器满意地演好这个模仿游戏,我们就没必要为这个反驳所困扰了。

3. 游戏里的机器

需要弄清“机器”这个词的意义才能让我们在第一节提的问题明确起来。自然而然,我们希望允许使用任何工程技术。我们也允许工程师们造出机器的同时并不能准确描述建造所用的原理这种可能性,因为有些方法可能主要是实验性的。最后,我们不允许把通常方式生出的人作为机器。要给出满足这三条的精确定义不容易。比如,有人可能要求建造机器的工程师团队是同一性别 (因此不能交配生殖),但这也不够,因为说不定可以从一个人的皮肤的一个细胞培育出一个完整个体。这样做在生物技术上是值得称颂的极高成就,但我们倾向于不认为这是在“建造思考机器”。这促使我们抛弃允许任何技术这个要求。当前对“思考机器”的兴趣主要来自电子计算机或曰数字计算机,因此我们只允许数字计算机参与游戏。

初看这似乎是个很强的限制。我想说,实际上并不强。为了说明这点,需要先讲讲这类计算机的性质。

也可以这么说,只有当数字计算机不能在这个游戏中给出良好表现的情况下 (与我的信念相反),才能认为把机器作为数字计算机的同义语的做法不好。

已经有一些数字计算机可以工作了,所以可能有人会说,“干嘛不现在就试验?满足游戏的条件不难。可以使用一定数量的问询者,然后可以给出正确判断的统计数字。” 简短的答案是,我们不是在问是否所有数字计算机都能在游戏中表现好,也不是是否当前的电脑能表现好,而是,是否存在可以设想的计算机能表现好。当然这只是个简短答案,后面我们会换一个角度来看这个问题。

4. 数字计算机

对于数字计算机背后的想法,我们可以说,这些机器是为了执行任何人类计算人员能进行的操作。人类计算员遵守固定规则;他不能在任何细节上偏离规则。我们可以假定这些规则写在一本书里,而不同的任务对应不同的书。当执行计算时,他拥有取之不尽的草稿纸。他也可以借助一台桌面计算机来做加法和乘法,但这不重要。

如果用上面的阐释作为定义,我们有循环论证的危险。为了避免这一点,我们给出达成结果的方法概要。可以认为数字计算机一般由三个部分组成:

(i) 存储部件 (ii) 执行单元 (iii) 控制部件

存储部件用来保存信息,对应于人类计算员的稿纸,这稿纸可用于计算,或者用于记录规则。由于人类计算员可以在大脑里计算,一部分他的记忆也算是存储单元的一部分。

执行单元是执行计算中涉及的各种操作的部分。这些操作对于不同的机器会不同。一般,可以执行像“3540675445 乘以 7076345687”这种相当长的操作,但有些机器只能执行像“写下 0”这样的简单操作。

我们提到“规则手册”在机器里是存储单元的一部分。这被称为“指令表”。控制单元保证这些规则按照正确的顺序执行。控制单元的建造保证了这一点。

存储单元里的信息通常被打散成较小的块。比如,在一台机器里,一块可能由十个十进制位组成。通过系统化的方法为存储部件的位置赋值。典型的指令就像“把位置 6809 处的数字与位置 4302 处的数字相加,然后把结果放在第二个位置。”

不用说,这些指令在机器里不会用英语表达。指令可能被编码成像 6809430217 这样。这里,17 说的是要执行各种操作里的哪一个。在这里,指的是“把 … 位置处的 … 与 … 相加,然后 …” 这个指令占据了十个十进制位,因此刚好构成一块信息。控制单元一般按照指令的存储位置取出指令,但有时候也有“现在执行 5606 位置处的指令,然后从那里继续”这样的,或者“如果 4505 位置包含 0,则执行 6707 位置的指令,否则继续。”这样的指令很重要,因为这让重复某些操作直到某些条件得到满足为止成为可能,且在重复的过程中不刷新指令。举个家庭中的例子。母亲让汤米在上学途中顺便问问皮匠把她的鞋做好没。她可以每天都提醒一遍,或者,她可以在门厅上贴个便条提醒汤米问鞋匠,并且如果回家时带着鞋子,就把便条撕掉。

读者要接受数字计算机可以被造出来这一点;事实上已经造出来了,并且他们能很好地模仿人类计算员的行动。

我们描述的对于人类计算员的规则手册当然只是个方便的设想。现实中的计算员用脑子记住要做什么。如果有人想造一台机器模仿人类计算员的某些复杂操作,则必须问这个计算员他是怎么做的,然后把答案翻译成指令表。指令表的构造通常被说成“编程”。“为一台机器编程以执行操作 A”的意思是把恰当的指令表放入机器以让它执行 A。

数字计算机的一个有趣变型是“带有随机单元的数字计算机。” 他们的操作包括扔骰子,或者等价的电子过程;比如,指令可以是“扔骰子然后把得到的数字放到 1000 处”。有时这样的机器被认为有自由意志 (虽然我自己不会采用这个说法)。一般不可能通过观察一台机器来判断它是否包含随机单元,因为类似的效果可以通过基于圆周率的数字做出选择来实现。

现实中的多数数字计算机只有有限的存储空间。无限存储容量的想法并没有理论上的困难。当然,在任何时候只有有限部分被使用。类似地,只有有限部分被构造,但我们可以想象,当有需求时,可以不断添加。这样的计算机有特别的理论兴趣,我们称之为无限容量计算机。

数字计算机的想法挺老了。Charles Babbage 于 1828 到 1839 年间在剑桥大学担任卢卡斯教席,他计划了这样一台机器,称为分析引擎,但并未完成。尽管他有了所有的实质想法,他的机器在那时候还看不出什么有吸引力的前景。若能造出,那个机器的速度肯定会比人快,但比曼切斯特机会慢 100 倍,而后者本身是现代计算机中较慢的。存储是基于机械的,使用了轮子和卡片。

Babbage 的分析引擎完全基于机械这回事破除了一个迷信。现代计算机是用电的,而神经系统也是由电信号传递;有人把这回事看得很重。Babbage 的机器不是基于电路,而在某种意义上所有的数字计算机都是等价的,因此使用电这一点没有理论上的重要性。当然,当快速传递信号一般需要用电,因此在计算机和神经系统里用电不奇怪。在神经系统里化学现象至少与电一样重要。在某些计算机里,存储系统主要是声学的。对电的使用只是个表层相似性。如果要找相似性,我们应该去找功能的数学类比。

5. 数字计算机的通用性

上节讲的数字计算机可被归类为“离散状态机”。它们以突跳的方式从一个明确的状态往另一个转换。这些状态是如此不同,可以忽略混淆的可能性。严格地说,不存在这样的机器;任何事物都是连续变化的。但许多机器可以被设想为离散状态机。比如可以认为电灯开关只有开和关两种状态。当然存在中间状态,但对多数目的那都不重要。

6. 对主要问题的相反看法

7. 学习型机器

对未来我们看不太远,但能看到有许多事等着我们去做。