科学奇人吴允曾(附二篇文章)
有一位跨越多个专业的奇人、卓有贡献的数理逻辑学家和计算机科学家,就是吴允曾教授。吴允曾从哲学而数学,从数理逻辑而计算机,这并不是单纯的专业转移,而是将几个领域结合起来。没有留学经历的他,却能将自己的学问传播到海外去。
吴允曾祖父吴昌绶,清末举人,曾辅佐詹天佑任职铁路工程的“总文案”。吴允曾随祖父成长多受熏陶,家学渊源得益深邃。“二战”后生活艰辛,奔走生计,吴允曾幸得世交长辈教育家傅增湘帮助,在傅先生指导下参与完成《全蜀两宋文钞》古籍校勘。
新中国成立后,吴允曾全力投身科教,在哲学与数理逻辑尤其是在与计算机科学的结合中多有建树,得到金岳霖、张东荪、王宪钧、胡世华等大家教益。作为哲学家出身的学者,他总是直截了当地表达自己的观点,
吴允曾在《计算机发展简史》的“序言”中说:“在早期,英国人曾在计算机技术的发展上作出过重要的贡献,英国的科学家们在计算机的总体设计和程序设计方面提出过许多重要概念,其中一些已经被普遍采用,变址寄存器、微程序、设计和虚拟存储等都是英国人先提出来的。”“西方国家出版的讲计算机发展史的书籍和论文中往往对苏联的发展史讲得过于简略,总的说来,苏联目前的计算机技术的发展水平是逊于西方的,特别是在元件和外部设备方面比较落后,但是在基础研究方面并非如此。美国在计算机工程方面比苏联领先,但苏联在基础研究方面至少比美国领先五年。今天苏联在基础研究方面也是很强的。”像图灵、冯·诺依曼的功绩,第一台计算机的问题,吴允曾都是以事例来支持自己的观点,不隐讳,不偏向,态度谦虚。至少,当今计算机教师们不仅能从吴允曾先生的文字中学到历史知识,还能学到表达方法。
晚年的吴允曾不顾高龄病体,奔波海外,应邀到数十所知名大学和科研单位讲学、研讨,结识了华裔教授王浩和诸多国家的知名教授,吴允曾的学识在海外受到高度的评价和推崇。
1987年吴允曾去世,师友、同事、学生三百余人与他告别,其中一副挽联是:“深研数理逻辑,潜心软件钩玄,为国增辉,先生易簧悲何既;矢志中华腾飞,献身科教事业,鞠躬尽瘁,绍志光前待后人。”
吴允曾逝世两年后的1989 年2 月,世界计算机大会前主席、丹麦人比约纳教授为吴允曾教授写了纪念词:“吴教授认识到哲学和数理逻辑是形成计算机科学的基础,他具有卓识而且有力地提倡语言学作为信息学中内在成分的重要性,即计算机科学与语言学、思维科学和组织科学间的良好结合。”
吴允曾先生为陈厚云和王行刚的《计算机发展简史》(1985年)写序,阅其文字,如吴先生当面将计算机的前因后果娓娓道来:“这是一部计算机发展史,它侧重讲述计算机技术的发展,特别是这门技术在一些发达国家是怎样发展起来的历史。较详细地讲了一些国家的政府和私营企业在这方面的政策和方针,以及他们走过的弯路,这部书对外国的历史讲的较多,不仅介绍了他们成功的经验,也介绍了他们失败的教训;前者之中有一些值得我们吸取,后者则需要引以为戒,这就是作者的目的。”
他就计算机界的几个热门问题(其实多是与知识产权有关的问题),言简意赅地指出“该书都作了符合历史事实的叙述,廓清了一些长期以来以讹传讹的说法”。相信吴先生积极地参与了讨论和搜寻原始材料。难怪丁石荪说,吴允曾讨论问题条理极其分明,分析透彻,还有惊人的记忆力。
1965年5 月24 日,吴允曾发表了《机器与思维》从题目和内容可以看出他们考虑问题的深度,计算机领域需要这样的视角。
吴允曾,教授,字闻诗,1918 年4 月4 日生于浙江杭州。1937年毕业于北京八中,1940 年秋就读于燕京大学哲学系,抗战后在北京复学并毕业。1951 年在燕京大学任哲学系助教,1952 年先后在北京大学哲学系、数学系和计算机专业任助教和讲师,1979 年任北京大学计算机科学技术系教授。1987 年5 月21日逝世。
附:吴允曾文章二篇
一、《计算机发展简史》序言(1984年)
注:该书为上世纪,我国出版的唯一一册“计算机发展简史”。
陈厚云、王行刚编,科学出版社1985年12月出版
这是一部计算机发展史,它侧重讲述计算机技术的发展,特别是这门技术在一些发达国家是怎样发展起来的历史。较详细地讲了一些国家的政府和私营企业在这方面的政策和方针,以及他们走过的弯路,这部书对外国的历史讲的较多,不仅介绍了他们成功的经验,也介绍了他们失败的教训;前者之中有一些值得我们吸取,后者则需要引以为戒,这就是作者的目的。
计算机技术是在本世纪三十年代后期与四十年代前期(也就是第二次世界大战期间)在德国、英国和美国这三个国家发展起来的。当时,是战争时期,各国对这一首先应用于军事领域的新技术均严加保密,基本上是彼此独立地发展起来的(其中美国和英国是盟国,在战争后期曾有过一些交流)。最先制成全自动的机电式数字计算机的是德国人朱斯(Zuse 现译楚泽)。他在1939年制成了Z-1计算机,据说,由于可靠性很差,没有投入应用。后来,他在1941年制成了Z-3。这台机器由德国空军用了三年(1944年在一次美军飞机对柏林的空袭中被炸毁)。因之第一台自动的机电式数字计算机是由德国人制成的,而不是象有些书上说的,是1944年由美国人制成的(指由艾肯设计的而由美国国际商业机器公司制造出来的MARK-1)。
历史上第一台全自动的电子数字计算机是1943年英国人制成的Colossus(巨人),这是一台专用计算机,是用来破译密码的。战争期间共生产了十台,据说,在对德战争中,这种密码破译机曾起过重要作用。英国政府对之一直保密,在很长时间里,知道的人很少,直到七十年代才解密。在一些书中(特别是美国人写的书中)长期以来对德国和英国的早期发展史讲得很少,甚至根本没有提到。
美国人在1946年制成了ENIAC,这是第一台全自动的通用的电子数字计算机。关于它的发明人是哪些人的问题是有争议的,长期以来许多文献中认为这台机器的主要设计人是莫克利和艾克特。六十年代中期在美国发生了一场涉及ENIAC专利权的诉讼,争执的焦点是莫克利能否在提出ENIAC的设计思想以前,看到过美籍保加利亚学者阿塔纳索夫的笔记本,现在我们知道,阿塔纳索夫在1940年曾设计了一台通用电子计算机,由于缺乏经费(据说他仅申请到600美元!),只完成了运算器部分。阿塔纳索夫1966年在美国一个法院出庭作证时说,莫克利在1941年曾借阅过他的包含有那项设计思想的笔记本。此案拖延了很长时间,七十年代中期美国的有关法院作出判决,撤销了ENIAC的专利权,也就是否定了莫克利的发明权。
在ENIAC完成以后,冯·诺依曼和ENIAC设计组的人一起提出了一种新的设计方案,即EDVAC的方案(包含这一设计的备忘录是)冯·诺依曼执笔的,这是一种存储程序型的机器。后来西方国家的文献中习惯称这种机器为“冯·诺依曼机器”)。关于这种设计思想的发明权应归之于谁,近年也是有不同说法的。有人说,在冯·诺依曼参加ENIAC小组的工作以前,这个小组已提出过存储程序型机器的设计,并在1944年3月向美国陆军部提出过建议(冯·诺依曼是1944年8月起参加这个小组工作的)。另外,英国泰因河畔新堡大学的兰德尔,在七十年代曾专门研究了图灵机[一种理想计算机,是英国数学家图灵在三十年代提出的]对早期计算机的设计思想有无影响的问题。据兰德尔说,有理由认为象EDVAC那样的存储程序型机器是直接受了图灵机的影响的。兰德尔曾引述做过冯·诺依曼助手的富兰克尔的话说:根据他的记忆,冯·诺依曼在世时从未说过,最早提出存储程序型机器的设计思想的是他自己;而倒是不止一次地说过:现代计算机的设计思想来源于图灵。
对上述几个问题,本书都根据近年来一些人做的专门研究,作了符合历史事实的叙述,廓清了一些长期以来以讹传讹的说法。
就现状而言,美国在计算机技术这一领域中在世界上居于领先地位,但在早期,英国人曾在计算机技术的发展上作出过重要的贡献,英国的科学家们在计算机的总体设计和程序设计方面提出过许多重要概念,其中一些已经被普遍采用,变址寄存器、微程序、设计和虚拟存储(又名“一级存储”)等都是英国人先提出来的。特别是图灵,他在计算机的总体设计和程序设计方面曾提出过不少新颖的思想,只是由于有些当时限于技术条件未被采用,或者是有关的资料长期没有公开发表,当时没有产生影响,而在以后的年月里又陆续被重新发现。
一般所说的图灵机是指图灵在1934年提出的理想计算机,而实际上他还提出过另一种图灵机,那就是他在1945年提出的一种实际计算机的设计思想(参看Carpenter等人写的“另一种图灵机”,载在”The computer journal”1977年8月号),我们不妨将前者简称为TM36,将后者简称为TM45。
还有,西方国家出版的讲计算机发展史的书籍和论文中往往对苏联的发展史讲的过于简略,总的说来,苏联目前的计算机技术的发展水平是逊于西方的,特别是在元件和外部设备方面比较落后。但是在基础研究方面并非如此。1960年时美国计算机协会(ACM)派了一个考察组去苏联考察了两个月,后来这个考察组的组长卡尔第三在一篇考察报告中说:美国在计算机工程方面比苏联领先,但苏联在基础研究方面至少比美国领先五年(卡尔第三的报告载在“Computer of ACM”1960年卷中)。今天苏联在基础研究方面也是很强的,我们可以就当前这方面最活跃的领域之一的复杂性理论来看一下。当前,计算机复杂性理论中的重要概念NP完全性是美国计算机科学家库克和苏联的一位学者差不多同时提出来的。描述复杂性理论则是苏联数学家科洛莫哥罗夫和美籍阿根廷学者柴丁彼此独立地在六十年代中期创立的(科洛莫哥罗夫的论文发表在先,是1965年发表的)
本书对日本、苏联与西欧国家的计算机发展史均有专章论列,是本书的又一特色。
以上是我读了原稿后的一些感想,写出来供读者参考。
这本书是根据中国科学院领导同志建议编写的,第一章、第二章执笔人有中国科学院数学研究所袁向东、李文林同志、中国科学院“自然辩证法通讯”杂志社金观涛、刘青峰同志、中国科学院自然科学史研究所杜石然等同志,第六章由清华大学魏宏森、林尧瑞同志执笔,其余各章都是由中国科学院计算技术研究所陈厚云、王行刚同志编写。第一章至第七章,从1979年起到1983年先后在“自然辩证法通讯”上刊登,最后,由陈厚云、王行刚同志进行统一整理、修改补充,形成一部比较完整的计算机发展史稿。
1984年5月1日 于北京大学
二、机器与思维(1965年)
二十世纪四十年代出现了自动电子计算机。这种工具是用来进行数值计算的。后来人们发现这种机器还能够进行逻辑运算①。于是逐渐应用它来进行一些数值计算以外的工作,如翻译与证明定理等。这样就出现了下列的一些问题:计算机在模拟人的思维过程方面有没有限度?如果有的话,这一界限在哪里?这些问题不仅是工程技术的问题,而且是哲学问题。
在本文中,我主要谈谈计算机在模拟数学思维(即计算与证明)时的一些问题,并附带涉及其他一些问题。
一
如所周知,电子计算机在进行一项计算时,只能依照一个事先编好的方案来进行。也就是说,要事先确定了先做哪一步,后做哪一步,然后机器才能够依照这个顺序一步一步地去做。没有这样一个事先编好的方案,计算机是什么也做不了的。这样的方案,在计算技术的术语中称作“程序”。在早期程序是由人编的。而编程序是一项很繁重的工作。近十年来,则有了使机器编程序的方法。当一个计算问题给定时,先由数学工作者编出一个计算方案,然后由电子计算机把这一方案变成机器上的程序。电子计算机在进行这一工作时,自然必须依据一个程序来做。这一程序称作“编译程序”。这样的程序要由人预先编好。这是一种很复杂的程序,通常是由几千条指令组成的。
至于电子计算机何以能够完成这项工作,则只需指出,它编程序的过程(即所谓“程序自动化”)实际上是把用一种语言写成的指令翻译成用另一种语言写成的指令。现在的做法是,先用一种特定的符号语言(称作“算法语言”)②写出计算方案,然后再由电子计算机将它译成由机器的指令构成的程序。因之程序自动化可以看作是符号语言之间的机器翻译,即由算法语言到机器语言的翻译。
从以上所说的可以看出,计算的自动化已有了很大的进展。近年来把编程序的工作也自动化了。但我们必须注意一个重要事实,即程序自动化只是部分的自动化。如所周知,编程序的工作可以分为两部分:第一部分是选择合适的计算方法并作出计算方案;第二部分则是将这一计算方案译成用机器语言表达的程序。程序自动化只是把第二部分自动化了。至于第一部分则仍旧要由人来做。目前看不出来如何能够使机器象人一样有效率地来选择计算方法和制定计算方案。
由于电子计算机只能依照事先编好的程序来进行工作,而在编程序的工作中总有一部分需要由人来做,这就说明了计算的自动化是有限度的。在计算这一领域中,认为将来可能出现可以完全代替人脑的机器的说法,是完全没有根据的。
二
现在,我们来谈数学证明机械化的可能性。这一可能性是一些数理逻辑学者最先提出来的。根据数学基础研究的结果,我们知道,在有些数学理论如初等代数与初等几何中,可以用一个机械方法来判定一个命题是否是一条定理,这样的理论称作“可判定的”。对于这些数学分支来说,理论上是可以造出一个判定机器的。但有的判定方法可能计算步骤太繁,以至于现代计算机上无法应用。有的人所找到的初等代数与初等几何的判定方法就是如此。
近几年来,在数学证明的机械化方面已有了一些进展。主要是用计算机证明了数理逻辑与初等几何的一部分定理。曾有人用计算机在九分钟内证明了罗素与怀悌海合著的《数学原理》一书中三百五十条定理。
一般的数学理论,都可以表示在谓词演算中,就是说,一门数学可以用数理逻辑的语言来表达。谓词演算的定理证明的机械化,是数学证明机械化的关键。
目前用机器证明谓词演算的定理所采用的方法之一,是用艾尔勃朗的一个定理。根据这一定理,我们用一个方法将任一谓词公式不断地展成一个命题公式,若原来的谓词公式是一条定理,则在有穷步内可以得到一个必真的命题公式(所谓命题公式,就是表达由“如果……则”、“或者”、“并且”等连接词连接起来,而不包含“所有”、“有些”等量词的命题的公式。谓词公式则是包含有量词的公式。)。这一定理提供了一个证明谓词演算的定理的方法。由于命题演算是可判定的,所以对每一步得到的展开式都有方法判定其真假。但如果原来的谓词公式不是定理,则每一步得到的都不是一必真公式,然而以后又不知道能不能得到,从而在有穷步内将不能得出确定的结果。
值得注意的是,目前已经能利用机器证明的只是数理逻辑与初等几何的一部分定理,而对于数理逻辑中一些比较复杂的命题的证明,目前已经找到的几种算法都是无能为力的。这是因为需要计算机进行的运算太多,计算的时间太长,从而在实际上是不能用的。最后,象数学计算一样,在编制证明程序时,需要先由人作出证明方案,完全不要数学工作者参与是不可能的。这说明在证明定理方面,机器不可能完全代替人,更不用说什么比人更聪明的机器了。
三
国外那些夸大电子计算机的性能、宣扬将来可能出现比人更聪明的机器的人喜欢谈“学习机”。他们说,虽然通常的计算机只能依照事先编好的程序来工作,但具有学习能力的机器则不同,它能够“学习”。
我们现在来看一下“学习机”的一个具体例子。一九六二年在慕尼黑召开的关于信息加工的国际会议上,有的数学家报告了一种学习机。这种机器是用来“学习”辨别哪些俄文句子是有意义的,而哪些是没有意义的。对于这部机器而言,每个句子都具有下列形式:主词,动词,受词。这个机器中存有一部一百个词的俄文字典,其中有七十个名词和二十个动词。首先使机器不断地利用给定的一百个词造出一些句子(机器在开始阶段构造出来的将是一些没有意义的字组),机器每造出一个句子后,就打印出一个问题,问那个句子是否有意义。这时程序设计师必须给以正确的回答。机器就这样不断地造句,不断地打印出来,问是否有意义。据这位数学家说,机器逐渐就“学会”辨别哪些句子是有意义的。
所谓学习机,大致就是这样的机器。前些年,还有人制成一种能走迷宫的机器。这是一种模拟动物的学习过程的机器。看起来,使机器模拟动物或人类的某些比较简单的学习过程是可能的,但绝不能使机器能模拟人类的一切学习过程。至于机器通过学习变得比人更聪明的可能性就更谈不到了。
四
以上我们主要是从技术方面说明,那些认为计算机将来可能完全代替人脑的说法是完全没有根据的。但这不仅是技术问题,而且是世界观问题。现在我们简单说明一下,这种说法在认识论上的错误。
从马克思主义哲学的观点来看,这一说法的主要错误在于把机械的、生物的以至心理的性质混为一谈,否认物质存在的各种形式的质的特殊性,而把一切都归结为机械的。毛泽东同志在《矛盾论》中说:“对于物质的每一种运动形式,必须注意它和其他各种运动形式的共同点。但是,尤其重要的,成为我们认识事物的基础的东西,则是必须注意它的特殊点,就是说,注意它和其他运动形式的质的区别。”侈谈机器将来可能完全代替人脑的人就是抹杀了计算机的操作与人的思维之间的质的区别。计算机是电子的系统,它所能进行的操作是机械的,思维则是最复杂的物质——人脑的产物。利用计算机来模拟人的一些较简单的思维过程是可能的,并且还需要注意,人的思维的产生不仅在生理方面同高级神经系统的发展密不可分,而且同劳动也是紧密相联的,就是说,思维不仅是自然的产物,而且是社会的产物。利用计算机来模拟人的一些较简单的思维过程是可能的,但不能因此就说计算机的操作与人脑的活动是没有区别的。
那种认为计算机可以完全代替人脑,或者认为“机器能思维”的说法也还与美国的一个心理学流派——行为主义者有关。行为主义否认人的意识的实在性,而把心理现象都归结为有机体所受刺激的生理反应。这是一种机械论的观点,是荒谬的。
那些侈谈机器可能代替人脑甚至可能比人更聪明的人,在人与物的关系问题上也犯了严重错误。毛泽东同志在《论持久战》一文中指出:“武器是战争的重要的因素,但不是决定的因素,决定的因素是人不是物。”虽然毛泽东同志在这里是就军事问题讲的,但这里却包含了一条带有普遍性的原理。飞机要人驾驶,火炮要人操纵,同样的,电子计算机是由人设计出来,并且归根到底需要人制定计算方案,才能进行计算。将来不可能有只有武器而没有士兵的军队,只有机器而完全没有工人的工厂,也不可能有从始至终不需要数学工作者参与的自动计算机!
“人是机器”的说法,关于比人更聪明的机器人的幻想,并不是什么新的东西,在历史上曾不止一次地出现过。但近年来随着电子计算机的产生而出现的有关机器可能代替人脑以至比人更聪明的说法,却是有其特殊的政治社会背景的。这种思潮是和目前帝国主义贬低人的作用,夸大技术作用的整个反动思潮相联系的。帝国主义妄图凭借它们所掌握的科学技术,对世界革命人民进行讹诈和欺骗,因而极力夸大自动控制技术的作用。这种思潮的另一来源则是资本主义国家的一部分科学家中间,近年来出现的一种对于人类前途的悲观主义的论调。这种论调说什么由于技术的发达,人类可能在一次未来的战争中毁灭,或机器可能奴役人类等等。这些说法自然都是毫无科学根据的。
总之,机器可能完全代替人脑以至比人更聪明的说法,在技术上是没有根据的,在哲学上是错误的,并且在政治上是反动的。
①所谓逻辑运算,就是象判定两个数是否相等这一类的运算。
②所谓算法语言,是一种专用来表达数学中各种各样的解题算法的符号语言。它是由一些数学中习用的记法,再加上一些逻辑概念构成的。这是一种介乎普通数学文献中的语言与机器指令所构成的语言之间的东西。这种语言不止一种。(1965年05月24日《》第5版 人民数据库资料)