计算机与人脑(学生版)
上QQ阅读APP看书,第一时间看更新

信息时代的英雄

冯·诺伊曼(John von Neumann)是20世纪最出名的数学家之一,这可能主要是由于他在电子计算机方面的开创性工作。为此,许多人甚至给他戴上“计算机之父”的桂冠。虽然计算机的研究已足以使他永垂不朽,但是单凭这方面来衡量他一生的工作就未免失之过偏,计算机方面只不过是他工作的一小部分。他在纯粹数学、应用数学、计算数学等许多分支都有重大的也往往是开创性的贡献。

冯·诺伊曼的一生也可以借用“科学元典丛书”中《控制论》《人有人的用处》的作者维纳(Norbert Wiener, 1894—1964)的三本传记的书名来概括:两本是维纳的自传:《昔日神童》《我是一位数学家》,一本是别人写的维纳传记《信息时代的隐匿英雄》。冯·诺伊曼的一生是天才的一生,而且前半生的贡献主要是在数学领域,他对数学的贡献有着不可忽视的影响。第二次世界大战爆发后,他参与了原子弹的研制以及电子计算机的研发,后者直接影响了当代社会的发展。冯·诺伊曼无疑是信息时代的英雄。

一、 家世——匈牙利的犹太人

冯·诺伊曼1903年12月28日出生于匈牙利布达佩斯。当时匈牙利是奥匈帝国的一个组成部分。他的家族是犹太裔,父亲马克斯(Max von Neumann,1870—1929)是银行家,1913年被奥地利皇帝封为贵族,于是其姓氏中出现了冯(von)字。这样,匈牙利、犹太人、银行家、贵族就成为冯·诺伊曼身世的主题词。

中国人对匈牙利也许并不陌生,它使我们联想到匈奴。匈牙利人是否为匈奴后裔,史学家仍然有争议,可是有一点很明显,匈牙利虽然地处欧洲大陆的中心,但与欧洲三大主流族群——拉丁族、条顿族(即日耳曼族)、斯拉夫族都毫无亲缘关系,语言也不属于印欧语系。匈牙利人的姓名写法也同中国人一样,是姓在前、名在后,其他大部分欧洲人姓名写法则颠倒过来。

中国读者熟悉匈奴的历史。公元1世纪到5世纪,匈奴的一支由中国的北方一直打到欧洲。东汉窦宪伐匈奴,匈奴西徙。他们一溜烟跑了上万里。虽然是汉朝的手下败将,到欧洲可神气了一番。偌大的罗马帝国,连同周围的蛮族,被匈奴打得七零八落。后来的匈奴首领叫阿提拉(Attila,约406—453),被欧洲人称为“上帝之鞭”。阿提拉去世后不久,西罗马帝国灭亡,匈奴人也不知上哪儿去了。

公元500年到1000年,这段历史就不那么清楚了。只是这500年的末期,里海北岸的马扎尔(Magyar)人,移居到欧洲中部,在现在的匈牙利附近定居下来。

公元1000年左右,马扎尔人信仰基督教,这和当时许多中欧、东欧、北欧的民族,如德国人、俄国人、瑞典人、波兰人一样。

从那时起,匈牙利的大平原以及北部、西部的丘陵就成为四邻滋扰之地。13世纪,蒙古人来过,幸而没有西进。接着就是土耳其占了匈牙利许多土地,直到18世纪初才全部撤出。16世纪初,奥地利的哈布斯堡王朝也占领了匈牙利的一部分,在18世纪初,把整个匈牙利据为己有。那时候,奥地利可是欧洲的四强(英、法、俄、奥)之一。19世纪中逐渐衰败,其强国地位最后被统一的德国所取代。

普鲁士后来迅速崛起。普奥战争、普法战争以及普鲁士最终统一德国,并把日耳曼诸国的老大——奥地利排除在外,这一切改变了欧洲的命运,改变了奥地利的命运,也改变了匈牙利的命运。所有这些都发生在奥地利皇帝弗兰茨·约瑟夫(Franz Joseph,1830—1916, 1848—1916在位)的身上。他18岁当了皇帝,在位近70年。尽管如此,一般人并不知道他是何许人也,可是很多人听说过他的皇后——美丽、善良而又薄命的茜茜(Sissy,即Elizabeth,1837—1898)公主。茜茜公主在提高匈牙利的地位上也起了重要作用。

1867年奥地利和匈牙利成为理论上平起平坐的二元的奥匈帝国,不过奥地利皇帝兼任匈牙利国王。奥地利仍是老大,匈牙利可算是老二,这时的匈牙利比现在大多了,包括现在的斯洛伐克到克罗地亚。此后50年匈牙利迎来了它的繁荣时期,匈牙利的犹太人也有机会脱颖而出。

说起犹太人,需要长篇的历史叙述他们的不幸遭遇。19世纪中期,欧洲犹太人由西向东逐步获得“解放”,也就是不再限制他们住在一定的犹太定居区中,以及可以受一定的教育。不过在东欧,特别是俄国,排犹事件屡有发生。19世纪末到20世纪初,如何对付犹太人使当局大伤脑筋。1906年俄国的财政大臣说,犹太人太机灵,以至于常常超越限制他们的任何法律。于是当局采取“三三制”的方法:让犹太人皈依东正教,把13犹太人驱逐出境,把另外犹太人杀死。其他国家做法大同小异,只是没有俄国那么残酷。被驱赶的犹太人到哪里去呢? 哪里是犹太人的天堂呢? 一个是美国纽约,一个就是匈牙利的布达佩斯。

布达佩斯成为“欧洲的耶路撒冷”看来是挺奇怪的事。实际上,在不同文化中生存是绝对不容易的事。匈牙利的犹太人尤其如此。在中欧,只有匈牙利人抵抗住周围欧洲的文明,顽强地使匈牙利文化坚持下来,而处在匈牙利人包围之中的犹太人要在这种双重压力下生存则更加艰难。随着匈牙利地位的提升,匈牙利大地主大贵族仍然占有大量的土地,而工业发展为犹太人提供了经商致富的机会,他们成为城市的资产阶级,经营银行、工商业、外贸、各种制造业。富起来的犹太人子弟可以受到很好的教育,成为精英阶层。这样一来,连保守的奥地利皇帝也不得不对他们另眼相看。在一个封建贵族占统治地位的国家,他们靠贵族头衔与有钱人达成妥协,整个19世纪不到100家犹太人受封为贵族,而20世纪的前13年间已有220家受封,冯·诺伊曼的父亲就是其中之一。

匈牙利人,特别是其中占5%的犹太人并没有浪费1867年到1918年这50年的大好时机。这样一个小国家50年间产生出高比例的文化名人,而其中绝大多数都是犹太人。

这简直是一个奇迹,1900年前后涌现了一大批有国际声望的大科学家:“超音速航空之父”冯·卡门(T.von Karman, 1881—1963),原子弹的首倡者齐拉(L.Sz-ilard,1898—1964),“氢弹之父”特勒(Edward Teller,1908—2003)。当然,20世纪最显赫的科学界荣誉莫过于诺贝尔奖了,百年之中,匈牙利裔的科学家有6人获奖(作为对比,华裔科学家及日裔科学家各有6人获奖),他们是“全息术之父”伽博(Dennis Gabor,1900—1979,1971年获物理学奖),冯·诺伊曼的好友维格纳(Eugene Wigner,1902—1995,1963年获物理学奖), 因研究维生素C而出名的圣·乔奇(Szent-Györgyi von Nagyrapolt,1893—1986,1937年获生理学或医学奖),发现示踪原子方法的海维希(Georg von Hevesy, 1885—1966, 1943年获化学奖),弄清耳朵(具体讲是耳蜗)为什么能听到声音的贝凯西(Georg von Békésy, 1899—1972,1961年获生理学或医学奖),以及耳科学的创立者之一巴拉尼(Robert Bárány,1876—1936,1914年获生理学或医学奖)。

当然匈牙利也产生了许多其他文化名人。最著名的有诗人裴多菲(Sandor Petöfi,1823—1849),他的诗“生命诚可贵,爱情价更高……”在中国脍炙人口,不过他是老一代的人物了。新一代的人物有作家克斯特勒(Arthur Koestler,1905—1983),他还特别研究天才创造性劳动;西方马克思主义的奠基人卢卡奇(George Lukács,1885—1971);经济学家卡尔多(Nicholas Kal-dor,1908—1986)。有意思的是,匈牙利人的发明往往和一般老百姓的生活密切相关,一个是鲁比克(Ernö Rubik,1944— )发明的魔方,在20世纪80年代风行全世界,圆珠笔也是匈牙利人拜罗(Laszlo Biro,1900—1985)发明的,在英国,拜罗不仅是商标的名字,而且还成了圆珠笔的代名词。

国际政治、经济界也逐渐有匈牙利裔人涌现。著名的“金融大鳄”索罗斯(George Soros,1930— ),是匈牙利犹太人,我们不应该忘记他也是捐款最多的慈善家之一。当然,曾任法国总统的萨科齐(Nicolas Sarkozy,1955— )也是匈牙利人。至于数学家就更多了,比如古典分析大师费耶(Lipot Fejer, 1880—1959),波利亚(George Pólya, 1887—1985)、赛格(Gabor Szёgo,1895—1985),泛函分析的缔造者之一里斯(Frigyes Riesz,1880—1956),他的弟弟迈克尔·里斯(Marcel Riesz,1886—1969)也是数学分析专家,哈尔(Alfréd Haar,1885—1933)则因哈尔测度而知名,拉多(Tibor Radò,1895—1965)则率先解决了极小曲面的问题。此外数论专家爱尔特希(Paul Erdös,1913—1996),瑞尼(Alfréd Renyi,1921—1970)也都是国际知名的一流的数学家。后来匈牙利仍然一代一代产生出大数学家,如阿贝尔奖获得者拉克斯(Peter Lax,1926— )以及曾任国际数学联盟主席的洛瓦斯(László Lovász, 1948— )。不管怎么说,冯·诺伊曼是他们中间的佼佼者。

二、 天才的成长(1903—1921)

冯·诺伊曼出生时,父亲马克斯已是一位富有的犹太银行家。1913年,还荣获贵族封号,这成了他们姓中von(冯)的来源。约翰是马克斯三个儿子中的长子,他的弟弟迈克尔(Michael von Neumann)和尼古拉斯(Nicholas von Neumann)分别于1907年和1911年出生。他一出世就受到各方面的关心和照顾。他从小就接受家庭教师的教育,很快就掌握了德语和法语。他的父亲十分关心儿子的成长,很早就注意到他智力不同寻常: 他有惊人的记忆力、理解力、心算能力、语言能力以及创造才能,的的确确是一个全面的天才。他不只小时是神童,而且许多“超人的”能力一直保持到成年。

他有过目不忘的能力,只要看一眼电话号码本,他就能把人名、住址、电话号码记得牢牢的。以至于后来在纽约曼哈顿区,他也根本不用厚厚的电话号码本。当然这也许是机械记忆,不足为奇。可是,他还能把整段、整章的小说背诵得一字不差。

他6岁就会心算8位数除8位数,后来对于公式的运算也能很快在头脑中进行。可是,早在一百多年前,数学家早就不把计算尤其是心算才能当成什么了不起的事了。大数学家庞加勒就常常以自己做加法总要出错而“自豪”。数学才能更多地表现在抽象概念理解力、逻辑推理思维能力,以及解决问题的能力等方面。而在这些方面,冯·诺伊曼也早就显示出非凡的能力。8岁时,他在别的小孩刚上小学学加减乘除的时候就已经掌握了微积分,到12岁,他已能读懂法国大数学家波雷尔(E.Borel,1871—1956)的专门著作《函数论》了。

1914年,也就是第一次世界大战爆发那年,他进入路德教会中学学习。这所学校是布达佩斯最好的三所中学之一,学生中近一半是犹太人。没几天,富有责任心的数学老师拉兹(Ladislas Ratz)就告诉马克斯,小约翰的数学才能过人,建议请大学教师个别辅导以全面发展他的天才。经拉兹的介绍,年轻数学家费凯特(M. Fekete,1886—1957)定期到冯·诺伊曼家里进行辅导。中学快毕业时,冯·诺伊曼和费凯特合作,对布达佩斯大学费耶教授的一个分析定理加以推广,这项研究使冯·诺伊曼完成了第一篇学术论文,当时他还不到17岁。后来费凯特一直局限在古典分析这个狭窄领域里进行研究,而冯·诺伊曼很快深入最新的数学——20世纪的数学——集合论、测度论、泛函分析等新分支中去。早在中学时,他已经开始自学这些课程。

除了数学课之外,冯·诺伊曼还跟同学一起学习其余课程,一起参加各种活动。他功课很好,但也不是门门得A,制图课他就只得B。他体育也不太好,他不太喜欢户外运动,只是在冬天偶尔出去滑雪。他喜欢聊天,维格纳比他高一级,他们经常在一起谈数学,一谈起来就没完没了。他喜欢下棋,但也不是老赢。他和大家相处得很好,但和谁也没有过分亲密的关系。这一方面由于他感情不轻易外露,另一方面也由于他有许多额外的精神需要,除了数学,他如饥似渴地读历史。他从小就喜欢历史,小时候就啃德国历史学家翁肯(Wilhelm On-cken,1835—1905)编写的45卷《通史》;他熟知千年拜占庭的历史,他对美国历史也非常熟悉,有一次去杜克大学开会,他们经过美国南北战争的战场,他对于这场战争的细枝末节都说得一清二楚,使美国人都惊叹不已。他对历史的超人洞察力,对他后来的战略思想至关重要。他还通过阅读文学作品学习语言,年老后,他还能背诵《双城记》中前十几页。而在这些方面,没有游伴能完全满足他,这也许就是所谓“天才的孤独”吧!

1918年年底,奥地利哈布斯堡王朝覆灭,第一次世界大战以同盟国的失败而告终。1919年3月,贝拉·库恩(Bela Kun)建立起苏维埃革命政府,首先采取的政策就是没收银行。革命爆发后还不到一个星期,冯·诺伊曼全家就逃离匈牙利。1919年8月,霍尔蒂在外国军队的干预下,推翻革命政府,建立独裁政权。他们歧视犹太人,歧视知识分子,镇压左翼同情者。冯·诺伊曼一家从国外回来,他继续上学,父亲继续开银行,可是大战以前的好时光一去不复返了。1921年,冯·诺伊曼参加中学毕业会考,同时获得了厄特沃什(Eötvös)奖。后来,他又在匈牙利的数学竞赛中轻而易举地得到第一名。

有天才的人未必有成就,有成就的人未必有天才。幸运的是,冯·诺伊曼兼具天才和成就于一身。他没有像罗素那样在家自由放任,也没有像维纳那样越级跳班受到许多额外功课的压力。冯·诺伊曼按部就班上中学,在课余吸收了大量的知识。他有如此超强的自学能力,以至于任何书本知识、任何考试对他来说都是小菜一碟。

三、 大学时代(1921—1926)

中学毕业后自然要上大学。父亲知道冯·诺伊曼有志于学数学,但是出于未来就业上的原因劝他放弃,匈牙利只需要几位数学家就够了。有钱的犹太人都会培养自己的子弟上大学,但匈牙利的大学资源相对有限,要获得最好的教育,非得去国外的一流大学不可。作为父子妥协的结果,冯·诺伊曼答应到国外攻读化学。布达佩斯大学欢迎他去,入学要的“清白记录”也不成问题。但是,他深知匈牙利并非久留之地,只有德国、瑞士等地才是真正的科学乐园。因此,从1921年中学毕业之后,德国成为他成长的主要地方。

1921年到1925年,冯·诺伊曼在布达佩斯大学注册数学博士研究生,但他从来没有在那听课,只是学期末参加考试。从1921年到1923年,他主要在柏林大学学习化学,而从1923年到1925年主要在瑞士著名的联邦工业学院上课。虽然1925年他在联邦工业学院拿到化学工程文凭,但是他主要听的还是数理方面的课程(如1922年他在柏林听过爱因斯坦统计物理学的课),并同各地数学家交往。当时,他主要受施密特(E. Schmidt, 1876—1959)和外尔(H.Wey1,1885—1955)的影响。他们都是希尔伯特的学生,他们的早期工作都受到希尔伯特思想的巨大影响。施密特把希尔伯特的积分方程理论抽象化,后来,这成为希尔伯特空间概念的来源。外尔则是希尔伯特的谱理论的继承人,同希尔伯特一样,外尔对当时新兴的理论物理学极有兴趣,而且致力于把数学应用于解决相对论、量子论及古典物理的问题。冯·诺伊曼的早期工作反映了希尔伯特和外尔的共同之处,他们都相信数学在发现物理学的普遍规律方面作用极大,反过来,物理学也是启发最好的数学思想的源泉。

冯·诺伊曼还直接受到希尔伯特的巨大影响。在大学时期,他有时到格丁根去拜访希尔伯特,这两位相差四十多岁的数学家,常常一起在希尔伯特的花园或书房交谈好几个小时。希尔伯特对数学及物理学的公理化思想,以及他当时对数学基础以及对物理学的兴趣都大大影响了冯·诺伊曼并决定了他早期工作的方向。

在1921年到1926年,冯·诺伊曼并没有放弃数学,相反,他在布达佩斯大学申请做博士生,这个时期主要研究方向是数理逻辑。1926年春天,他取得布达佩斯大学博士学位,论文题目是《集合论的公理化》。实际上,他在上大学时期就已经对数学基础进行了系统的研究,并发表了几篇论文。

冯·诺伊曼吸收希尔伯特的公理化思想,致力于把集合论的基本概念弄清楚并加以公理化。小小年纪,他就已经深入思考当时这类头等重要的问题了。

冯·诺伊曼喜欢公理化的道路,这预示了他今后从事数学研究的主要方法。在这方面,早在1908年策梅洛(E.Zermelo,1871—1953)已经提出了一个公理系统,这个系统基本上不错,经过弗兰克尔(A.Fraenkel, 1891—1965)等人改进以后成为著名的ZF系统,这是集合论中最常用的公理系统。年轻的冯·诺伊曼很欣赏公理化这条路,但是他对策梅洛的公理系统进行了一些根本上的修改。他把论文送到《数学杂志》发表,当时该杂志的编辑施密特要弗兰克尔审稿。当时冯·诺伊曼还是名不见经传的年轻人,可是弗兰克尔从文章中就看出作者身手不凡。审稿者当时不能完全理解这篇文章,于是邀请冯·诺伊曼到马堡大学来。他们讨论了许多问题。因为原来那篇文章不好懂,弗兰克尔建议他写一篇短文来阐述自己的方法和结果,这就是《集合论的一种公理化》,1925年发表在弗兰克尔担任编辑的《纯粹与应用数学杂志》上。而原来的论文《集合论的公理化》一直到1928年才发表。这些论文也是他1926年在布达佩斯大学的博士论文的基础。

当时,关于数学基础的论战非常热闹,冯·诺伊曼坚决支持希尔伯特的形式主义路线,反对逻辑主义和直觉主义。1930年,在德国哥尼斯堡的会议上,冯·诺伊曼对形式主义做了系统总结报告。希尔伯特提出了证明算术及分析的无矛盾性的计划,冯·诺伊曼完成了在特殊情形下的算术无矛盾性的证明,但分析的无矛盾性的证明总是不成功。冯·诺伊曼那时每天工作到深夜,上床睡觉之后还常常半夜醒来。有一次他梦见他有办法克服全部困难,于是起身写下来。不过最后他还是发现有一个漏洞补不起来。他后来开玩笑说: “数学是多么走运呵,因为我第三个晚上没有做梦。”冯·诺伊曼关于数理逻辑的工作对以后计算机及自动机理论有着不可忽视的影响。

四、 研发计算机(1944—1955)

尽管冯·诺伊曼在原子弹的研制方面有重要贡献,但毕竟只是个配角。一个偶然的机会把他引向20世纪后半期最重要的科学与技术——研究电子计算机。在这一领域他再一次发挥独创精神,成为计算机科学、计算机技术、数值分析的开创者之一。

1944年夏天,哥德斯坦(Herman Goldstine,1913—2004)从阿伯丁医院出来到火车站等去费城的火车,正巧碰上了冯·诺伊曼。哥德斯坦早就听说过这个世界闻名的大数学家。他怀着年轻人会见大人物那种惴惴不安的心情走近冯·诺伊曼作自我介绍,开始攀谈起来。冯·诺伊曼热情友好,毫无架子,很快就使他不觉得拘束,大胆地谈起自己的工作来。当冯·诺伊曼知道他正在搞每秒能算333次乘法的电子计算机时,谈话气氛一下子变了。冯·诺伊曼严肃而认真地询问,使哥德斯坦觉得好像又经历了一次博士论文答辩。当然,冯·诺伊曼从中看到了具有头等重要意义的大事。

早在第一次世界大战时期,美国已有马里兰州、阿伯丁试验场弹道实验室研究火炮的弹道计算。这是武器研发最重要的课题之一。但美国缺少能快速处理大量数据的计算机。1943年以前,受阿伯丁试验场弹道实验室的委托,建造第一台电子计算机的工作正式在费城宾夕法尼亚大学莫尔学院启动。这就是“电子数字积分计算器”(Electronic Numerical Integrator and Calcula-tor,ENIAC)。主要研制者是工程师艾克特(J.P.Eck-ert,1919—1995)及物理学家莫克莱 (J.Mauchly, 1907—1980)。冯·诺伊曼急不可耐地想要看看这台尚未出世的机器。他很快就得到同意。艾克特说,他能够从冯·诺伊曼提的第一个问题来判断他是否是位真正的天才。1948年8月初,冯·诺伊曼来了,他一看就问起机器的逻辑结构,而这正是艾克特所谓天才的标志。从那时起,冯·诺伊曼就成为莫尔学院的常客了。他同ENIAC的首批研制者们进行认真而活跃的讨论,问题集中在ENIAC的不足之处。他们考虑研制一台新机器电子离散变量自动计算机(Electronic Discrete Variable Automatic Computer,EDVAC)。

1945年3月,冯·诺伊曼起草EDVAC设计报告初稿,其中已有计算机与神经系统的对比,这为后来的自动机研究埋下伏笔。这份报告对后来的计算机影响很大,其中主要确定计算机由计算器、控制器、存储器、输入、输出五部分组成,介绍了采用存储程序以及二进制的思想。虽然冯·诺伊曼的参与开辟了电子计算机的新时代,但这台机器却长期停留在纸面上。一直到1952年才正式建成。到此时,存储程序计算机已经造出不少台了。原来到1945年年底,ENIAC完成之后,研制人员就因为优先权问题而争吵起来,莫尔学院的研制小组于是陷于分裂。两位技术专家艾克特和莫克莱自己开公司,从事计算机研制及大规模生产。而冯·诺伊曼、哥德斯坦等回到普林斯顿高等研究院,开始新一轮合作。

五、 计算机科学及应用

电子计算机的历史意义是怎么强调也不过分的,但是与其他人不同,冯·诺伊曼对于电子计算机的贡献是全方位的,主要可分为以下几方面。

1. 电子计算机的设计

电子计算机的革命作用以及冯·诺伊曼所起的作用已是众所周知的了。冯·诺伊曼对计算机设计作了根本的改进(特别是程序内存的思想),以致现在几乎所有计算机均为冯·诺伊曼型计算机。许多人提到的非冯·诺伊曼型计算机至今还不成熟,而且也依赖于他的自动机思想。他的另一个重要思想是区分硬件和软件,虽然软件这词一直到20世纪60年代后期才出现。

早在1946年,冯·诺伊曼和哥德斯坦研究编程序的问题,他们发明所谓“流程图”来沟通数学家要计算的问题的语言和机器的语言。他们采用一些子程序,而且采用自动编程序的方法把“程序员”的语言翻译成机器语言,这样大大简化了程序员编制程序的烦琐步骤。

从某种意义上来讲,冯·诺伊曼是现代数值分析计算数学的缔造者之一。他对计算机的各种可能性进行了广泛的研究和探索,特别是对于计算机广泛使用的线性代数的计算的研究(比如求解高阶线性方程组,求特征根、矩阵求逆等),设计了计算程序,研究了误差范围。他最感兴趣的是流体力学问题。要把连续问题化成计算机能做的离散问题就必须考虑数值稳定性,也就是离散方程的解收敛于原来解的问题,以及误差的积累和传播的问题。为了解决这个问题,他做了大量奠基性的工作。由于有了计算机,还要发展适合于计算机的算法,特别值得一提的是他协助乌拉姆(Stanislaw Marein Ul-am)等人发表了蒙特卡罗(Monte-Carlo)算法(1949年首次发表),这种方法是把数值计算问题化成为统计抽样问题,通过大量抽样而计算出结果来。

冯·诺伊曼念念不忘使用计算机“摸规律”,由于他的早逝没能完成这方面的工作。费米(Enrico Fermi)、乌拉姆等人在他的影响下于1954年进行著名的非线性谐振子计算机实验。这个实验经过改进,在1967年终于得到浅水波方程的孤立子解,由此显示了计算实验的伟大启发力量。

现在对冯·诺伊曼串行计算机的最大改进是并行计算机的开发与使用,可是,最早提出并行计算观念的还是冯·诺伊曼。直到今天,我们还没有跳出这位天才的思想领域。

2. 计算机的应用

本来设计计算机是为了用来计算弹道的,但第一台电子计算机(ENIAC)问世时,第二次世界大战已经结束。这时,冯·诺伊曼就以非凡的远见卓识,为计算机找到新的用场。电子计算机第一项重大贡献是数值天气预报,这完全是冯·诺伊曼的亲自组织以及与气象学家密切合作的结果。

1946年,冯·诺伊曼刚回到普林斯顿,就把数值天气预报作为考验电子计算机的头号课题。这个选题非常合理,因为:

(1) 天气预报的基本方程组是流体动力学方程组,人们一直对它的解析解无能为力,而且只有通过计算机才能对解的性质有一些了解。

(2) 天气预报无疑有极大的实用价值。

(3) 1922年英国应用数学家理查森(Lewis Fry Richardson,1881—1953)已经提出一个合理的数学模型,只是由于计算太慢,当天的天气只能在后天或大后天才能报出来,只有快速的计算机才能完成提前预报天气的任务。

(4) 数值预报必定使大规模科学计算的问题暴露出来,从而促使冯·诺伊曼建立有效的数值方法和数值分析,其中首要的问题是误差的来源和误差的传播,它可能造成计算的不稳定性,同时误差可能放大到同数据相同的数量级,使得计算结果完全没有意义。

1948年,气象学家查尼(J.G.Charney,1917—1981)来到普林斯顿。他对流体动力学方程组进行适当简化,排除掉对应于高速声波和重力波的解,而其余的解保持不变。这样他不仅简化了方程,而且绕过引起不稳定的因素,从而把问题带入可计算的范围。1948年秋天,冯·诺伊曼和查尼等进一步研究地球表面的影响, 1949年,设计出数值实验、数值方法都用差分法的方程,计算的稳定性满足库朗等人在1928年提出的条件,初始条件取自北美上空的数据,程序由冯·诺伊曼等人设计。1950年4月用ENIAC成功地进行计算,得出精确的结果。其后把这个最简单的方程推广,加入更多的实际效应,得出简单的三维模型。1953年在普林斯顿用计算机MANIAC进行实验,已能预报风暴的发展。由于以冯·诺伊曼为首的科学家的努力,从1954年起,天气预报成为例行公事。

3. 发展数值分析(Numerical Analysis)

电子计算机使大规模数值计算成为可能,但也带来不少理论问题。首要的问题,是经大量计算后,减少(舍入)误差的积累对结果精确度的影响。计算机的算法必须误差影响小,也就是具有数值稳定性。

1946年,冯·诺伊曼和伯格曼(S.Bergman,1898—1977)及蒙哥马利(D.Montgomery,1909—1992)为美国海军部写了一份报告《高阶线性方程组求解》,但未发表。1947年,冯·诺伊曼和哥德斯坦发表《高阶矩阵数值求逆》,首先对线性方程组高斯(Carl Friedrich Gauss,1777—1855)消去法进行误差分析而开辟了数值分析这一领域。同年美国国家标准局建立国家应用数学实验室,并建立数值分析研究所。冯·诺伊曼这些开创性的工作以及一系列研究机构的建立都表明数值分析脱离开传统的数学分析而成为独立分支。在此之前,一系列的计算方法[如有限差分法、黎茨(Ritz,1878—1909)方法等]虽已发明,但是不一定适用于计算机。此后,冯·诺伊曼特别着重于研究计算机计算方法,他的工作为科学与工程计算奠定了基础。

4. 建立新算法

蒙特卡罗算法与传统的数学算法完全不同,是靠掷骰子来求近似值的。这种思想早在18世纪就有,维纳也曾有过类似想法。1945年年底,乌拉姆首先想到,后来同冯·诺伊曼多次讨论而成为一个有效的、适用于计算机的算法。用他们的话来说,这是“使用随机数来处理确定性问题的方法”。1949年,蒙特卡罗算法正式发表之后,引出大量理论研究及应用。它几乎可以用于所有的问题及领域,在高维问题(例如求高维区域的体积)有着其他方法无法比拟的优点,而且有许多问题是其他方法无法替代的。

蒙特卡罗算法的意义不仅仅在于它是一个优秀的算法,还在于它开辟了与数值计算完全不同的道路——即非决定模型和随机算法。无论是人计算还是计算机计算,错误及误差是经常存在的,而且并不像人们所想象的那样容易被消除。现在,随机算法已经是一个不可忽视的重要领域。

5. 开拓自动机理论

冯·诺伊曼晚年的兴趣在于发展一般的自动机理论,这可以看成他早期对数理逻辑的工作以及他以后对计算机研制工作的综合。其中他研究了两个最复杂的问题:一是如何用不可靠的元件来设计可靠的机器;二是如何建造自繁殖机。自动机理论是计算机的理论模型,也是改进计算机功能的必经途径。在人们对新生的计算机赞叹不已时,冯·诺伊曼已远远走到他们的前头:计算机怎样才能成为名副其实的电脑? 他没有来得及完成他一生最后一项大计划,但遗留下来的思想还在继续指导今后的工作,他把机器和人脑进行了细致的比较,明确指出人脑与计算机显著不同之处是它由不可靠元件组成可靠的机器,他预示了信息传输理论、编码理论、可靠性理论乃至模糊数学理论。他还提出两种方法去设计网络,使错误减到某固定值之下。此外,冯·诺伊曼还研究自繁殖机并且设计了两套模型,其中第二套模型是无穷方阵,在结点处是“细胞”——它具有29个可能的状态,每个细胞的状态由前一时刻的四个相邻细胞的状态决定。这样整个细胞阵列就可以由原来某种静寂(死)状态变成活状态,从而达到“活”细胞的繁衍增殖。他还考虑这种自繁殖机的“进化”问题,这里他考虑了复杂性问题——这也是现代计算机科学一大热门,同时对比生物体提出了这种自动机的临界大小问题。