计算机系统开创性经典文献选读与解析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 游戏中的机器

只有当“机器”这个词的意义确定下来后,在第1节中提出的问题才能明确下来。自然的是,我们应该希望允许一切技术被用在我们的机器上。我们也希望允许这种可能:一个或一队工程师制造出一个可以工作的机器,但是却不能令人满意地描述机器的工作方式,因为他们主要使用实验(experimental)的方法来设计它。最后,我们希望从机器的定义中排除以通常方式出生的人。要构造一种定义来同时满足这三个条件是困难的。有人可能会要求这些工程师都是同一性别,但这实际上也不会令人满意,因为通过一个人的一个皮肤细胞养育一个完整的个体不是完全不可能的,这将是值得最高奖赏的生物科技的功绩,但我们不认为这是“建造一台能够思考的机器”的案例。这促使我们放弃允许一切技术的那个要求,我们之所以这样,是鉴于目前“能思考的机器”的研究兴趣是由一种特殊的通常被称为“电子计算机”或“数字计算机”的机器唤起的,因此,我们仅仅允许“数字计算机”参加我们的游戏。

艾伦·图灵是严谨务实的,在使用概念之前对概念做出清晰的界定,在这里他对“机器”的含义做了界定。

(1)在一个现实的机器上,不可能同时使用人类的一切技术或大多数技术,艾伦·图灵在本文中没有把DNA计算、量子计算等技术作为基础,而是将“电子计算机”或“数字计算机”作为基础。

(2)能制造机器,不代表能清晰准确地描述机器,通过实验的方法制造的机器与采用递归函数等数学方式构思的机器是不同的。

(3)为了方便讨论,艾伦·图灵将以通常方式出生的人排除在机器的定义之外。

关于人与机器之间的关系,存在多种不同甚至截然相反的观点。例如,法国科学家拉·梅特里(1709~1751)认为“人是机器”,并出版了名著《人是机器》,中译版由商务印书馆出版。拉·梅特里在《人是机器》中有这样一段表述:“人是一架如此复杂的机器,要想一开始便对它有一个明确的完整的概念,也就是说,一开始便想给它下一个定义,这样的事是不可能的。就是因为这个缘故,那些伟大的哲学家们先天地、也就是说想借助于精神的羽翼做出来的研究,结果证明都是枉费心机。因此除了后天地,是别无他法可想的;也就是说,只有设法,或者说,通过从人体的器官把心灵解剖分析出来,这样我们才有可能——我不说这样便无可争辩地发现了人性本身,但至少是——在这个问题上接近最大程度的或然性。”

定义“人”是困难的,定义“机器”或“计算机器”也是困难的。拉·梅特里在他的书中,反复提到“经验和观察”。这里需要提醒注意的是,数学不是自然科学,因为数学是先验的,也就是当你确定公理之后,所有的数学结论就已经确定了,不需要做实验就可以通过逻辑推理来得到它们。但是自然科学是经验的,因为自然科学基于实验,必须通过实验才能归纳出原理,而且原理是可能被新的事实推翻的。

拉·梅特里的《人是机器》是18世纪法国第一部以公开的无神论形式出现的系统的机械唯物主义的著作,书中列举了大量的医学、解剖学、生理学的论据来论证“人是机器”,说明人和其他动物一样也是机器一般的物质实体,所谓灵魂只是肉体的产物,从而抨击灵魂不朽的宗教教义。拉·梅特里曾做过军医,而他自己却不幸患病。他根据对自己病情的观察,获得这样的信念:人的精神活动取决于人的机体组织;思想只不过是大脑中机械活动的结果,当体力上变得更虚弱时,精神功能也会衰退。全书的主题是讨论宗教神学、形而上学所主张的心灵实体问题,在当时反对封建制度和宗教神学的斗争中起到了积极的作用。

与拉·梅特里类似,马文·明斯基(Marvin Lee Minsky,1969年图灵奖获得者)也认为“大脑不过是肉做的机器而已”。但莫里斯·威尔克斯(Maurice Vincent Wilkes,1967年图灵奖得主)认为“动物和机器使用完全不同的材料,是按十分不同的原理构成的”。

为什么有人可能会要求这些工程师都是同一性别呢?因为不同性别的工程师之间可能通过受精怀孕的方式产生后代,需要排除发生这种情况的可能性。艾伦·图灵的思维极其缜密,他考虑到了利用体细胞而非性细胞进行繁殖的可能性。性细胞是决定性别的细胞(精子、卵子),其形态、结构、功能与体细胞有别,其染色体数目为体细胞的一半。

威尔克斯1913年6月26日生于英国。1946年5月,他获得了冯·诺依曼起草的EDVAC计算机的设计方案的一份复印件。EDVAC(Electronic Discrete Variable Automatic Computer)在宾夕法尼亚大学莫尔学院于1945年开始研制,是按存储程序式思想设计的,并能对指令进行运算和修改,因而可自动修改其自身的程序。但由于在工程上遇到困难,EDVAC迟至1952年才完成,造成“研制开始在前,完工在后”的局面,而让威尔克斯占去先机。

威尔克斯仔细研究了EDVAC的设计方案,8月又亲赴美国参加了莫尔学院举办的计算机培训班,广泛地与EDVAC的设计研制人员进行接触和讨论,进一步弄清了它的设计思想和技术细节。回国之后,威尔克斯立即以EDVAC为蓝本设计自己的计算机并组织实施,起名为EDSAC(Electronic Delay Storage Automatic Calculator)。

EDSAC采用水银延迟线作为存储器,可存储34bit字长的字512个,加法时间1.5ms,乘法时间4ms。威尔克斯还首次成功地为EDSAC设计了一个程序库,保存在纸带上,需要时送入计算机。但是EDSAC在工程实施中同样遇到困难:不是在技术上,而是资金缺乏。在关键时刻,威尔克斯成功地说服了伦敦一家面包公司Lyons的老板投资该项目,终于使计划绝处逢生。1949年5月6日,EDSAC首次试运行成功,它从纸带上读入一个生成平方表的程序并执行,正确地打印出结果。作为对投资的回报,Lyons公司取得了批量生产EDSAC的权利,这就是于1951年正式投入市场的LEO(Lyons Electronic Office)计算机,这通常被认为是世界上第一个商品化的计算机型号,因此这也成了计算机发展史上的一件趣事:第一家生产出商品化计算机的厂商原先竟是面包房。Lyons公司后来成为英国著名的“国际计算机有限公司”(ICL)的一部分。

除了能生成平方表,EDSAC在试运行期间就完成了一系列重大任务,向世人展示了计算机的巨大潜力。著名的统计学家罗纳德·艾尔默·费希尔(Ronald Aylmer Fisher)写了一个二阶非线性微分方程,程序员编出程序后,输入EDSAC很快就给出了解,这令费希尔叹为观止。

EDSAC还为剑桥大学著名的生物学家约翰·肯德鲁(John Kendrew)分析了成百上千张有关分子结构的X射线衍射图像的照片,肯德鲁因为这方面的成就而荣获1962年诺贝尔化学奖,他多次提到EDSAC在他的研究工作中所发挥的无可比拟的作用。射电天文学的主要创始人、因发明综合孔径射电望远镜而荣获1974年诺贝尔物理学奖的马丁·赖尔(Martin Ryle),也是在EDSAC上对获得的天文照片进行分析和综合从而取得成果的。

在设计与制造EDSAC的过程中,威尔克斯绝不是简单地模仿和照搬EDVAC的设计,而是创造和发明了许多新的技术和概念。诸如“变址”(威尔克斯当时称为“浮动地址”)、“宏指令”(威尔克斯当时称为“综合指令”)、微程序设计、子例程及子例程库、高速缓冲存储器(Cache)等。所有这些都对现代计算机的体系结构和程序设计技术产生了深远的影响。

此限制第一眼看上去过于严格,我会试图说明事实并非如此。要做到这一点,必须简要说明这些计算机的性质(nature)和特点(properties)。

为什么说“此限制第一眼看上去过于严格”?是因为有的人会提出,能思考的机器为什么是电子计算机或数字计算机呢?DNA计算机、量子计算机、模拟计算机是否也可以呢?

或许也可以这样说:如果最终发现数字计算机在游戏中不能表现出色(与我所认为的相反),将机器等同于数字计算机,与我们对“思考”所制定的标准一样,将不会令人满意。

艾伦·图灵对“思考”和“机器”均做了定义。

有人问艾伦·图灵自己的观点到底是什么?在上面这段话中的括号中,艾伦·图灵给出了明确的态度或断言:机器可以通过图灵测试,更具体地,数字计算机可以通过图灵测试,或者直接回答原问题,机器可以思考。

如果数字计算机不能通过图灵测试,有的人会说,这并不意味着所有机器不能通过图灵测试,DNA计算机、量子计算机、模拟计算机或许可以通过图灵测试。

目前已经有许多数字计算机处于正常工作状态,人们可能要问:“为什么不尝试直接做实验?这样很容易就能满足游戏的条件。让许多提问者同时参加游戏,然后统计出判断正确的概率。”对这个问题的简要回答是,我们并不是要问是不是所有的数字计算机都能在游戏中表现良好,也不是要问现在可用的计算机是否在游戏中表现良好,而是要问是否存在可想象(imaginable)的计算机在游戏中表现良好。这仅仅是一个简要回答,我们稍后将以一个不同的角度看待这个问题。

“为什么不尝试直接做实验?”,这个问题背后是实证主义的思想。

艾伦·图灵在这里做的是一个关于存在性的思维实验。就像伽利略关于自由落体的思维实验一样,这是一个思维实验,而不是一个现实实验。思维实验是指使用想象力去进行的实验,所做的都是在现实中无法做到(或现实未做到)的实验。

伽利略做了这样一个思维实验:亚里士多德认为,越重的物体越快,伽利略通过思维实验认为亚里士多德的认识是错误的。假设有一个重量为8的物体,另一个重量为4的物体。那么,重量为8的物体应该比重量为4的这个物体下落快。如果我们把两个物体用绳子牵在一起,由于速度慢的那个物体对速度快的物体的牵连,二者连在一起,速度应该介于二者单独下落的速度之间。但是,换一个角度考虑,重量分别为8和4的两个物体连在一起,可以被视为一个重量为12的物体,那么,根据亚里士多德的观点,这个新物体的速度应该比分开的两个物体都快!这与我们刚才得到的结论(速度介于二者之间)是矛盾的。伽利略如果真的做实验的话,就算二者同时下落,也非常不容易观察,并且还会被人辩驳说“明明有差距只是没有观察到”,伽利略用他巧妙的思维实验解决了这个问题。

证明(Proof)与证实(Verification)是有重要区别的。不要求所有的数字计算机都能在游戏中表现良好,即使99%的数字计算机表现不合格,只要有一台数字计算机表现合格就可以。不要求现在的数字计算机在游戏中表现良好,10年以后或者100年以后的数字计算机在游戏中表现良好即可。这样的思想与艾伦·图灵1936年发表的《论可计算数及其在判定性问题中的应用》中关于可计算性的思想是一致的:存储空间是无限的,时间是无限的,在这个意义上讨论可计算性。有不少人认为只要存储空间是无限的,时间是无限的,总是能够算完,这是错误的。实际上即使假设存储空间是无限的,时间是无限的,仍有很多的问题是不可计算的;何况在现实中存储空间和计算时间的限制是很大的,不可计算的问题更多。以存储空间和时间均是无限为前提的可计算性,称为图灵可计算性;以存储空间和时间均是有限为前提的可计算性,称为现实可计算性。图灵机不可计算的,一定是现实不可计算的;但是,图灵机可计算的,却可能是现实不可计算的。