




馮·諾伊曼是一個全面的天才。他不僅是20世紀偉大的數學家,而且在現代科學的許多領域也都有著杰出的貢獻。他所發表的一百五十多篇論文,內容遍及集合論、邏輯、拓撲群、測度論、遍歷論、算子論和量子物理、經濟學、氣象、軍事、計算機、博弈論、核武器等領域。而單單計算機的研究已足以使他永垂史冊,他也因此被稱為“計算機之父”。
他的大腦就是一臺驚人的計算機
1903年12月28日,約翰·馮·諾伊曼(John Von Neumann)出生于匈牙利布達佩斯一個傳統的猶太家庭。父親是位非常成功的銀行家,1913年從奧匈帝國皇帝那里得到了一個爵位,于是姓氏“諾伊曼”前面可以加上個“馮”(Von)字,那是對貴族的尊稱。
馮·諾伊曼在很小的時候就展現出無與倫比的記憶力。他只需看一遍電話簿,就能將整頁的姓名和電話號碼記住,可謂過目不忘。馮·諾伊曼把這當成一項游戲,一直到他成年,還不斷地把這種本事“表演”給朋友們。一次,馮·諾伊曼跟朋友說:“我能背誦《雙城記》(英國作家狄更斯的長篇小說)?!比思揖吞袅藥渍伦髟囼?,他果然背誦如流。超常的記憶力使得他興趣極其廣泛,除了科學,他還喜歡歷史與哲學,從而知識淵博,宛如百科全書。同時,他還通曉七種外語。
童年的馮·諾伊曼最喜歡的學科是數學。六歲時,他就能憑心算做八位數的乘、除法;八歲時,他自己學會了“微積分”;十二歲時,他就能讀懂法國數學家鮑萊爾的《函數論》(這本是大學數學系三年級的課程)。中學快畢業時,馮·諾伊曼與數學老師費克特合作撰文,討論某種極小多項式的零點及超限直徑問題,這篇論文刊登在《德國數學協會》雜志上,當時馮·諾伊曼還不到十七歲。
十八歲那年,馮·諾伊曼考進了布達佩斯大學學習數學。但父親希望他學習化學,認為那將來能賺錢。不愿意違拗父親意愿的馮·諾伊曼,又考進了瑞士蘇黎世的聯邦工業大學,攻讀化學專業。二十三歲時,馮·諾伊曼不僅在蘇黎世獲得化學工程學士學位,同年也獲得了布達佩斯大學的數學博士學位。其實,他并沒有在布達佩斯大學上課聽講,只是在每學期期末趕回學校,就通過了所有課程的考試。
20世紀20年代中期,德國大數學家希爾伯特帶領歐洲的數學家們取得了一個又一個的輝煌成就。作為希爾伯特的助手,二十出頭的馮·諾伊曼迅速超越同儕,發表了關于集合論的劃時代研究論文。1926年,在希爾伯特的幫助下,馮·諾伊曼來到了哥廷根。
那時,哥廷根是量子力學的研究中心之一,先是1925年海森堡創立矩陣力學,繼之1926年薛定諤創立波動力學。在數學研究方面得心應手之時,馮·諾伊曼注意到當時比較熱門的“量子力學”。他引入希爾伯特空間及其算子的理論,一舉證明了海森堡和薛定諤的研究其實是同一回事。然后,他把數學“公理化”的想法與“量子力學”結合起來,發明了獨特的“公理化量子力學”。這不僅為物理學提供了新的計算模型,也為純粹數學的發展賦予了強大的動力。后來被稱為“馮·諾伊曼代數”的算子理論,即發源于此。
在德國,大學的教授職位有數額限制,如果教授不退休,講師就不能遞補,因此馮·諾伊曼覺得雖然自己的工作足以出人頭地,可是想當教授不免阻力重重。于是,他接受聘請,成為美國普林斯頓大學的客座講師,于1930年來到了美國。
三年后,恰逢普林斯頓高等研究院成立,馮·諾伊曼應聘擔任研究院的教授。當時,該研究院只聘任了包括愛因斯坦在內的六位教授,他是其中最年輕的一位,時年三十歲。后來,由于納粹德國迫害猶太血統的科學家,再加上二戰爆發,馮·諾伊曼無法再回歐洲工作,因此在美國終身定居。他在普林斯頓大學一直工作到1955年夏,然后去華盛頓原子能委員會任職。
參與計算機研制源自一次邂逅
二戰爆發時,馮·諾伊曼的研究方向產生了大轉變。如果說在這之前,他的工作主要是純粹數學,那么從此之后,他主要搞的是應用數學。作為天才數學家,馮·諾伊曼從純粹數學走向應用數學,從而比那些前輩數學家發揮出更直接的社會作用。
1943年,馮·諾伊曼應美國政府國防部之邀,以顧問身份參與研制原子彈的“曼哈頓計劃”,成為奧本海默中央實驗室中身居要職的數學家。他經常飛往位于新墨西哥州洛斯阿拉莫斯的原子彈秘密基地工作,主導完成了在原子彈爆炸設計中的關鍵計算。他對原子彈的最大貢獻,就是提出了一個引發核燃料爆炸的內爆方法,這個方法將研制出原子彈的時間縮短了大約一年。
不過,計算內爆方法必須解大量非線性方程式,最初大部分計算是靠紙和筆進行。1944年4月,基地理論部配備了IBM(美國國際商用機器公司)穿孔卡片臺式計算機,大大提高了計算效率。人工計算兩組十位數的乘法大約要五分鐘,新機器可以在十到十五秒內完成,這引起了馮·諾伊曼的關注。他從1944年夏天起,就到貝爾實驗室考察用繼電器制造的復數計算機;又去訪問哈佛大學,考察Mark I(世界上第一臺數字式自動計算機)是否能為原子彈的研究派上用處。這兩種機器做兩組十位數的乘法大約用一秒鐘,但在解復雜的方程時,優勢并不明顯。他痛感這些計算工具速度太慢,因此不斷思考,如何對現行的計算機做改進,以滿足實際需要。
事實上,馮·諾伊曼只是分身來研究計算機的。正如他在1943年7月寫給友人的信中所說:“我不知道自己應該一女侍二夫還是一女侍三夫。”所謂“一女侍二夫”,是指他同時在美國陸軍軍械局和海軍軍械局任職;而“一女侍三夫”則是指他又受邀做洛斯阿拉莫斯基地的顧問,從計算內爆方法開始關注和研究電子計算機。
雖然馮·諾伊曼在原子彈的研制方面有重要貢獻,但他畢竟是個配角。而他正式參與研制電子計算機,源自一次不經意的邂逅。
1936年 9月,英國數學家、計算機理論家、“人工智能之父”阿蘭·圖靈,應邀來到普林斯頓高等研究院學習,曾成為馮·諾伊曼的研究助手。圖靈帶來的關于一種萬能計算機器“圖靈機”的設想,在當時已經引起了馮·諾伊曼的興趣。不過,這種興趣并沒有直接引導他去研制計算機,因為不久后二戰爆發了。
1944年夏天,曼哈頓工程進入收尾階段。8月的一天,美國東部的馬里蘭州阿伯丁火車站站臺上,馮·諾伊曼和一位年輕的軍官不期而遇,這位軍官就是ENIAC(電子數字積分計算機)研制小組成員哥爾斯廷。當時,馮·諾伊曼在候車,正好哥爾斯廷也在站臺上等候去費城的火車,雖然他與馮·諾伊曼素未謀面,卻立刻認出了這位大數學家。出于對馮·諾伊曼的景仰,哥爾斯廷走上前,向他做自我介紹,并開始攀談。馮·諾伊曼熱情友好,毫無架子,很快,哥爾斯廷就大膽地談起自己的工作來。
當哥爾斯廷說他正從事一項科研,研制一臺每秒鐘能進行三百三十三次乘法運算的電子計算機時,馮·諾伊曼頓時萌生興趣,連連追問,之前輕松的交談氛圍一掃而空。哥爾斯廷被嚴肅的馮·諾伊曼問得汗流浹背,用他后來在其著作《計算機:從帕斯卡到馮·諾伊曼》里所描述的話說,就是這“簡直像一場數學博士論文的答辯”。臨告別時,在哥爾斯廷的極力邀請下,馮·諾伊曼答應,過幾天去訪問賓夕法尼亞大學,參觀正在建造中的ENIAC。
幾天后,一直牽掛著ENIAC的馮·諾伊曼,急匆匆趕往賓夕法尼亞大學的莫爾學院,參觀尚未竣工的ENIAC。他提出的第一個問題就是機器的邏輯結構。哥爾斯廷的同事艾克特心中暗暗佩服:“不愧是位天才的科學家,一下就點到問題的要害!”
經了解,馮·諾伊曼發現,用ENIAC計算他給出的方程要比哈佛的Mark I快得多,但是它的啟動卻慢很多。他很快發現癥結所在:ENIAC缺乏程序存儲能力,用布線接板進行控制,搭接時間長,其總的計算速度也就被這一工作抵消了。還有,這個計算機還存在著耗電多、費用高的缺點,據說ENIAC一開動,整個費城市的所有燈光頓時黯然失色。
在這研制的關鍵時刻,馮·諾伊曼的出現,一下子改變了ENIAC“半夢半醒”的局面。而對馮·諾伊曼來說,這次邂逅打開了他的心結,因為他一直希望能有機會研制符合他要求的電子計算機。因此,在看過ENIAC后,從1944年9月起,馮·諾伊曼就成為ENIAC研制小組的實際顧問,時常與莫齊利和艾克特等一同研究問題。
“電子計算機要做就做到最好”
在這里,馮·諾伊曼的天才得到了淋漓盡致的發揮。他明確指出,電子計算機要做就做到最好。因此,必須大刀闊斧修改原有的設計。而且,馮·諾伊曼還是一位“財神爺”,研究經費不夠,他自身有足夠的影響力去爭取。在他的參與下,整個研制工作取得了突破性的進展,軍方也信心倍增,一口氣追加了十萬美元的研究經費。
加入ENIAC團隊后,馮·諾伊曼拋開美國政府高級科學顧問和著名科學家的身份,和ENIAC研制小組成員一起,為改進ENIAC傾注了大量心血。無法出席會議時,他就以信函的方式提出自己的意見。馮·諾伊曼連續開了多次會議,其中1945年春天的四次正式會議尤其具有意義,會議記錄甚至以《與馮·諾伊曼的會議》為標題。
通常,馮·諾伊曼在黑板前來回踱步,以提問帶動討論,然后接納大家的想法,消化琢磨后再將其寫在黑板上。馮·諾伊曼的超凡才智令人生畏,他宣布的任何事情很少有人反駁。但有一天,女程序操作員詹寧斯因為和馮·諾伊曼看法不同,與他起了爭執,會議室中的男性全都以難以置信的眼光看著詹寧斯。但馮·諾伊曼偏著頭沉吟半晌后,同意了詹寧斯的看法。
馮·諾伊曼深知計算機程序設計基本原則的重要性,他明白要設計出簡潔的指令集,嚴謹的邏輯和精確的表達缺一不可。經過反復討論和不斷的思想碰撞,馮·諾伊曼終于提出了一個新的改進方案,一是用二進位制代替十進位制,進一步提高電子元件的運算速度;二是存儲程序,即把程序放在計算機內部的存儲器中。這個改進方案被稱為EDVAC,是“離散變量自動電子計算機”的英文簡稱。該方案還明確規定了電子計算機必須由運算器、控制器、存儲器、輸入設備和輸出設備五大部分構成的基本結構形式。
1945年6月,馮·諾伊曼提議為EDVAC起草一個邏輯框架報告。該報告題為《關于離散變量自動電子計算機的草案》,約一百頁,提出了在數字計算機內部的存儲器中存放程序的概念。這成為所有現代電子計算機的范式,被稱為“馮·諾伊曼結構”,按這一結構建造的電腦稱為“存儲程序計算機”,又稱為“通用計算機”。EDVAC方案可謂計算機發展史上的劃時代文獻,它向世界宣告:電子計算機時代開始了。
EDVAC方案只署了馮·諾伊曼一個人的名字,下有美國陸軍軍械部與賓夕法尼亞大學的合同編號,于1945年6月30日發布。關于方案的署名問題,艾克特和莫齊利與馮·諾伊曼產生了矛盾。他們認為,馮·諾伊曼是半道來的,方案上只署他自己的名字,而把辛辛苦苦做了一大半研制工作的他們拋到了腦后,實在有些意難平。況且馮·諾伊曼文章提出的存儲程序,莫齊利和艾克特也早有類似的想法,并在研制中不斷地摸索,馮·諾伊曼只是把它深化、概念化、系統化而已。而馮·諾伊曼撇開研制小組的其他成員,把研制情況公之于世,仿佛是他的獨創。不過,艾克特和莫齊利由于要遵守美國的有關保密法規,不能發表有關項目的任何內容。馮·諾伊曼因不能算作ENIAC小組的正式成員且身份特殊,算作參與者同時又是不受保密法限制的旁觀者,所以盡可寫文章發表。
名副其實的“計算機之父”
然而,馮·諾伊曼的設想最終也沒能在ENIAC上實現,因為那時ENIAC的總體設計和主體建造工程已經完成。直到1952年,按照EDVAC方案造出的計算機才姍姍來到人間。EDVAC的運算速度雖與ENIAC相似,但它總體效率大大提高,電耗也大大降低,實現了又一個突破。EDVAC甫一問世,就被應用在阿伯丁陸軍武器試驗場,一直被用到1962年才退役。
二戰結束后,艾克特和莫齊利從莫爾學院離開不久,馮·諾伊曼也離開了EDVAC研制小組。當時美國好幾所大學都想挖走馮·諾伊曼,但他還是選擇留在普林斯頓高等研究院。退役的哥爾斯廷也追隨他來到了這里,和伯克斯成為馮·諾伊曼的重要助手。從1946年到1951年,他們三人就計算機研究共同發表了多篇原創性論文。
回到普林斯頓高等研究院,美國海軍決定撥給馮·諾伊曼一筆資金,讓他去設計一臺能夠準確預測、預報天氣的計算機。于是,在馮·諾伊曼的牽頭下,1946年3月,開始研制名為“完全自動通用數字電子計算機”,它以高等研究院的縮寫IAS命名,是現代通用機的原型。馮·諾伊曼放下芥蒂,力邀艾克特來當技術總負責,但因艾克特已下決心與莫齊利一同創辦公司,未能應邀前來。馮·諾伊曼又請麻省理工學院參與過ENIAC研制的朱利安·比格羅前來主持;而追隨馮·諾伊曼來到普林斯頓大學的哥爾斯廷,則做他的副手。
1946年6月,設計方案出來后,馮·諾伊曼把副本送給洛斯阿拉莫斯實驗室、伊利安諾大學等著名的科研機構,為日后給這些機構構造用于科學計算的電腦做準備。經過六年的努力,IAS在1952年6月10日正式建成,是同期計算機中外形最小而運算能力最強的。在調試階段,IAS在每天二十四小時連軸轉的情況下,可以不間斷運行六十天。IAS雖然在預測天氣方面還不夠準確,但對當時氫彈設計中的大量關鍵數據進行了處理,為氫彈的研制立下了汗馬功勞。
不少人把馮·諾伊曼稱為“計算機之父”,而他本人并不接受這個稱號,他曾清楚地宣稱,他不是電子計算機的發明人。確實,人類第一臺電腦研制中途他才參與,多少有些遺憾。但是,他剛好在那個機器程序存儲問題無法解決的關鍵時刻出現,這使得馮·諾伊曼的天才才能被運用到極致,并且他還創造了所有現代電子計算機的范式。直到今天,大大小小數以萬計的計算機,都沒能夠跳出“馮·諾伊曼結構”的掌心。在這個意義上,馮·諾伊曼是當之無愧的“電子計算機之父”。
其實,馮·諾伊曼在純粹數學的研究領域很寬,但真正的大天才從不畫地為牢,固守研究界限。1940年以后,馮·諾伊曼將研究轉向應用數學。如果說他的純粹數學成就屬于數學界,那么他在力學、經濟學、數值分析和電子計算機方面的工作則屬于全人類。
在生命的最后階段,馮·諾伊曼還在將計算機與人腦進行比較:大腦在進行多位數求和時要慢得多,但是大腦還有許多其他能力,如視覺認知、想象、橫向思考能力和確定關注對象等,這是計算機所不具備的。馮·諾伊曼尚未完成的講稿,在他去世后以《計算機與人腦》為題出版。
1957年2月8日,馮·諾伊曼在華盛頓辭世,一顆明亮耀眼的科學巨星隕落。然而,正如拿破侖所說,“天才人物就像流星一樣,注定要燃燒自己,照亮他所在的時代”。
(責任編輯/侯文杰)