1942年8月,莫齐利写出《高速电子管计算机装置的使用》的备忘录,即ENIAC的初始方案。思想敏捷的哥尔斯廷马上意识到方案的巨大价值,立即向他的上司汇报,获得支持,成立了研制小组。
小组的成员是:负责电子计算机总设计方案的是物理学家莫齐利;芬兰人艾克特担任总工程师,负责解决制造中一系列困难复杂的工程技术问题;年轻的哥尔斯廷不仅在数学上能提出有用的建议,而且是精干的科研管理人才;另外还有年轻的逻辑学家勃克斯参加。正当研制工作停滞不前、研制者大伤脑筋时,冯?诺依曼恰逢其时,投身到新型计算机设计的行列中。
艾克特还说:“冯?诺依曼是否真正的天才,从他来以后提的第一个问题就可判断出来。”这年8月初,冯?诺依曼来到莫尔学院,参观了尚未竣工的被称为ENIAC的电子计算机,他第一个问题就问起机器的逻辑结构。艾克特心中暗暗佩服:“不愧是位天才的科学家,一下就点到问题的要害!”这以后,冯?诺依曼就成为莫尔学院的实际顾问。
当时“爱尼亚克”(ENIAC)”已研制到一半,正处于在程序存储问题上摇摆不定的紧急关头,天才数学家诺依曼的出现,一下子改变了当时半梦半醒的局面。而对诺依曼来说,这次邂逅也打开了他的心结。原来,二战爆发后,诺依曼作为美国政府的高级科学顾问,在最高的科学技术决策层中有很强的影响力。在他参与的“曼哈顿计划”中,原子核裂变的各项数据非常繁杂,如果用人工来计算,即便聪慧如诺依曼,有1000个也不顶事。而那些半自动和电动的计算机器,也快不了多少。他痛感现有的计算工具速度太慢,使一些重大科研项目的进度受到严重的影响。因此,他一听说弹道实验室有个“PX计划”,要搞一台每秒能做333次乘法运算的电子计算机时,简直喜不胜喜。在看过“爱尼亚克”后的9月份,他就成了摩尔学院的常客,与莫齐利和艾克特一同研究的问题。
奠定冯? 诺依曼结构
“爱尼亚克”出现的程序存储问题,对于诺依曼来说,真是“天将降大任于斯人也”!他的天才得到淋漓尽致的发挥,明确指出:那种半梦半醒的折衷方案不可取,要做就做到最好,一定要彻底实现程序由外存储向内存储的转化,所有程序指令必须用内在记忆的方式存储在磁带上,以电子的速度运行。必须大刀阔斧修改原有设计。诺依曼还是财神爷,经费不够,他有足够的影响力去争取。在诺依曼的影响下,整个研制工作取得了突破性的进展,军方也信心倍增,一口气追加了10万美元的投资。
而诺依曼自己也倾注了大量的心血,抛开美国政府高级科学顾问和著名科学家的身份,和大伙一起,一头钻进“爱尼亚克”研制小组,甚至当他因其他要事无法出席时,一定会以信函的方式提出自己的意见。在此,诺依曼提出了一个新的改进方案,一是用二进制代替十进制,进一步提高电子元件的运算速度;二是存储程序(Stored Program),即把程序放在计算机内部的存储器中。后一点,解决了当时计算机内外联系不便的毛病。
此前,曾有过一用计算机就需要数十名精兵强将手忙脚乱地连接各种导线,否则计算机只能干瞪眼不干活。而诺依曼妙手回春,给原本健忘的计算机开了一副灵丹妙药。他的改进方案称为“爱达法克”(EDVAC),是“离散变量自动电子计算机”(Electronic Discrete Variable Computer)的简称。
1945年6月,他将自己的思想撰写成文,题为《关于离散变量自动电子计算机的草案》,长达101页,提出了在数字计算机内部的存储器中存放程序的概念(Stored Program Concept)。这是所有现代电子计算机的范式,被称为“冯?诺依曼结构”,按这一结构建造的电脑称为存储程序计算机(Stored Program Computer),又称为通用计算机。长达101页的EDVAC方案是计算机发展史上的一个划时代的文献,它向世界宣告:电子计算机时代开始了。而为这个方案做出贡献的天才科学家冯?诺依曼则被人们誉为“电子计算机之父”。
和爱因斯坦等但这篇文章的出现却使得“爱尼亚克”的研制者——艾克特和莫齐利与诺依曼闹翻了。原来这篇掀起了世界的计算机热潮,成为划时代文献的报告,只单独署了诺依曼的大名。诺依曼是半道插进来的,却把辛辛苦苦做了一大半研制工作的艾克特和莫齐利抛到了脑后。这不能不让艾克特和莫齐利心存不满。
再说,诺依曼文章提出的存储程序,莫齐利和艾克特也早有类似的想法,并在研制中不断地在摸索,诺依曼只是把它深化、概念化、系统化而已。应该说,艾克特和莫齐利是“爱尼亚克”真正研制者(这一点举世公认),他俩是第一台电脑的产妇,而诺依曼是第一台电脑的助产士。现在,诺依曼事先不打任何招呼,撇开研制小组的其他所有成员,把研制情况公诸于世,好像是他的独创一样。而艾克特和莫齐利由于要遵守美国的有关保密法规,不能发表有关项目的任何内容。诺依曼却不同,他不能算“爱尼亚克”小组的正式成员,而且身份特殊,算作参与者同时又是不受保密法限制的旁观者,所以尽可写文章发表。
造计算机就像母鸡下蛋
由于种种原因,诺依曼的设想没能在“爱尼亚克”上实现,因为那时“爱尼亚克”总体设计和主体建造工程已经完成。直到1952年“爱达法克”(EDVAC)才姗姗来到人间。早在三年前,也即1949年5月6日,第一台存储程序的“诺依曼机器”由英国剑桥大学的莫里斯?威尔克斯研制成功,名为“爱达赛克”(EDSAC),是英文Electronic Delay Storage Automatic Calculator的简称。威尔克斯仅用了一个晚上就将《关于离散变量自动电子计算机的草案》通读,并做了详尽的笔记。仿照诺依曼提出的“离散变量自动电子计算器”(EDVAC),威尔克斯把他的设计的机器命名为“机电存储自动电子计算器”(Electronic Delay Storage Automatic Calculator),简称“爱达赛克”(EDSAC),表明他的基本设计思想来自诺依曼。
凭他的天才和敏锐,诺依曼在电脑初创期,高屋建瓴地提出了现代计算机的理论基础,规范了电脑的发展方向。诺依曼还是一个卓越的科研组织者。当艾克特和莫齐利与摩尔学院分道扬镳后不久,诺依曼也离开他提出的“爱达法克”(EDVAC)研制小组,回到普林斯顿高等研究院,在那里研制名为“高等研究院电脑”,又称“阿艾斯机”(IAS)。当时有人对在20世纪最伟大的物理学家爱因斯坦所在的圣地,兴师动众斥巨资搞电脑,很不以为然。但诺依曼力排众议,认为电脑将会把普林斯顿大学的象牙塔推进一个新时代。当他看到高等研究院里才智不凡的青年人陷于繁烦低级的数学运算时,曾痛心疾首地说:“这种浪抛才智的行为简直形同犯罪。”
在他牵头下,1946年3月,“阿艾斯机”开始研制,由普林斯顿大学出实验场地,由美国陆军军械部弹道实验室和国家原子能委员会投资。诺依曼不存芥蒂,力邀艾克特来作技术总负责,但因艾克特已下决心与莫齐利一同创办公司,未能如愿。诺依曼退而求其次,请麻省理工学院的也曾参与过“爱尼亚克”研制的朱利安?比格罗前来主持。此时已脱下军装的哥尔斯廷也追随诺依曼来到普林斯顿大学,做他的副手。
1946年6月,设计方案出来后,诺依曼把副本送给洛斯?阿拉莫斯实验室、伊利安诺大学、橡树岭国家实验室、阿贡国家实验室和国防部的思想库兰德公司等著名的科研机构,为日后给这些机构构造用于科学计算的电脑做准备。经过6年的努力,“阿艾斯机”在1952年6月10日正式建成,它只有2300个电子管,长6英尺、高8英尺、宽2英尺,是同期中外型最小的、而运算能力最强的,在调试阶段,做过一次著名的试验,每日24小时连轴转不间断运行60天,对当时氢弹设计中的大量关键数据进行处理,为氢弹的研制立下汗马功劳。
“阿艾斯机”后来又复制十多台供上述多家机构使用,这些机构又在“阿艾斯机”的基础上,又各自研制新型电脑,如“奥达法克”(ORDVAC)、“伊利亚克”(ILLIAC)、“乔尼亚克”(JOHNNAC)、“曼尼亚克”(MANIAC)和“爱维达克”(AVIDAC)等。其中有一台“阿艾斯机”还漂洋过海,到澳大利亚的悉尼安家落户,名叫“西利亚克”(SIUIAC)。凝聚着诺依曼心血的“阿艾斯机”简直就是一只孵了一窝小鸡的母鸡。
大师辈出的时代
1951年,IBM开始决定开发商用电脑,聘请诺依曼担任公司的科学顾问,1952年12月,IBM第一台存储程序计算机研制完成,也就是通常意义上的电脑,起名IBM 701。此后,IBM公司承建的“诺克”(NORC,美国海军军械研究计算机的简称)也问世了,诺依曼参加了典礼,并发表讲话,他说电脑的设计和建造都要考虑需要、造价和商业利润诸如此类的事,这些事都是很现实的,在百分之九十九的情况都必须遵循时,还有百分之一的情况,可算作例外。那就是把这些顾虑抛在脑后,用尽全力来研制最高级的电脑,从而臻至一种艺术的状态。诺依曼提出的“艺术状态的电脑”一直被理解为不惜一切代价造出来的高级电脑,或许诺依曼也是这个意思。如果他能看到沃兹尼克的“苹果2型”个人电脑的话,诺伊曼肯定会赞叹不已,也肯定会和设计者结成忘年交。只可惜,早在1957年,这位天才的数学家就去世了,而那时沃兹尼克刚刚咿咿学语。
诺依曼后来还与经济学家摩根斯坦(O Morgenstern)合写过一本名著,《博弈论与经济行为》。此书与控制论有许多相通之处,很令人佩服。1943年,他们俩发起一次讨论会,邀请一些数学家、生理学家、心理学家和工程技术专家等,在普林斯顿大学讨论各门学科的交叉性问题。1943年维纳和墨西哥生理学家罗森布鲁特以及阿伯丁军械试验场的工程师别格罗合写了《行为、目的和目的论》一文,提出了后来成为控制论基本概念的“反馈”(feedback)。在这篇开创性的论文,维纳肯定了人类的神经系统的智能活动可以同技术装置间建立一种模拟关系。
1947年,维纳去法国参加一次数学会议,途经英国,拜访了图灵,与他讨论了控制论的基本思想,还参观了剑桥大学心理研究所。这次英国之行,使维纳强烈意识到控制论的建立已成为一种国际性的声势。于是就有了1948年《控制论》和问世。
控制论与电脑之间究竟是一种怎样的关系?两者之间不存在什么谁决定谁的问题。
从1955年开始,诺依曼把精力投入到电脑和人脑的结构对比研究上,心理学和生理学非他所长,因而诺依曼是从逻辑和统计数学的角度切入的。相似方面好说,可以举出一大摞,但关键是相异方面,冯?诺依曼特别强调:差异不仅存在于大小尺寸、速度等明显之处,而且更深入、更根本的方面表现在功能和控制的原理、总体的组织原理等等;人脑的“逻辑深度”和“算术深度”要比电脑小得多,但同样容积的神经元比电子元件能完成更多的运算,同时处理更多的信息,记忆容量也大得惊人,神经元运算的精度低而综合的可靠性高等。这些观点诺依曼生前未曾发表,1958年他去世一年后以《电脑和人脑》的名字出版。
人脑与电脑之间
诺依曼没有参加1956年达特茅思学院那次精英的聚会,但他开创了人工智能研究中心两大学派之一数学学派,另一学派是心理学派。前者侧重电脑和人脑在解决同一问题时共同的算法,不太关心哪一个更聪明之类的问题;后者很调强人脑比电脑聪明,主张把人脑解决问题的方法变成电脑的程序即启发式程序,依靠它来解决问题,如与维纳合作过的罗森布鲁特就很典型,他研制过“类人电脑”,这个“类”字很能说明问题。简单说来,数学学派的观点可以概括为“人脑类似电脑”,而心理学派则说:“但电脑不是人脑”。
我们知道因为灵魂的关系,教会一直对人机之间关系问题很敏感,否则梅特利不会东躲西逃。后来当图灵提出“图灵测试”时,首先就反驳的神学方面的异议,教会人士说上帝只把不朽的灵魂给予人类,而没有给予别的动物和机器,故而人是万物之灵长。图灵说这种观点不值一驳。当控制论问世时,也是教会人士开始咒骂,说它是“淫荡的唯物论的产物,它剥夺了上帝赐给的灵魂”。事情在1963年发生变化,英国剑桥大学的有关专家和神学家们合作,通过一台叫“水星”(Mecury)的电脑,通过对某些词汇和短语出现频率,对《圣经》风格进行鉴定,结果判定《新约?使徒行传》中历来有争议的15节使徒书,圣保罗只写了其中的四节。这下在教会中掀起一场空前的风波。
“存储程序”的概念是诺依曼首先提出来的,这是肯定无疑的。至于最初的创意,当然与图灵、维纳以及负责实际工程制造的莫齐利和艾克特都有关,诺依曼是位谦逊的天才,据跟随他多年的一位助手富兰克尔说,诺依曼从未对他提起过“存储程序是他发明的一句半点的话。实际上,“存储程序”的概念凝聚了那个时代先驱者们共同的智慧,然后由诺依曼以非凡的洞察力把它表述出来,从而奠定了电脑的整个基础。尽管到目前为止我们所有的电脑都叫“诺依曼机器”,但从“存储程序”概念出现的那一天起,人们就在苦苦思考如何超越这一范式了。1947年,图灵提出自动生成程序,实际上就或多或少体现出这种探索精神。诺依曼晚年致力于人工智能的研究,也有明显想自我超越的意向。
自60年代起,人们从两个大方向开始努力,一是创建新的程序设计语言即所谓的“非诺依曼语言”;二是从电脑元件方面,提出了发明与人脑神经网络相类似的新型超大规模集成电路,即“分子芯片”。前者侧重软件,后者侧重硬件。
诺依曼曾精辟指出:人类的语言不是数学的语言。明斯基曾自信地说,只要人类拥有一百亿分之一米分辨率的大脑扫描仪,就可以一清二楚地了解神经元。但问题时,即使人类知道了每一个神经元,并不意味着对整个大脑透彻的了解。生命是极其复杂的,可不能机械地解释它。
在诺依曼生命的最后几年,他一直是核能、核武器和洲际导弹的主要顾问。由于他早年的经历,他抱定了右翼观点。1957年的《生活》上刊登了他生前的观点,该文针对建立对苏联的防御体系,引用了他的话:“如果你问为什么不在明天轰炸他们,我会说为什么不在今天;如果你说在5点,我会说为什么不在1点。”1954年夏天,诺依曼摔坏了右肩,手术时才发现他已患有骨癌。在他治疗期间,他还依然参加每周三次的原子能委员会会议,甚至在他临终前,国防部长,陆、海、空三军参谋长还聚集在他的病榻前开会。当诺依曼在晚年,有学生问起做事的秘诀时,他只是说:“简单”(simple),在这种时候,简单真是一种美。