John von Neumann

[von Neumann] John von Neumann (1903--1957) 是這個世紀最傳奇的數學人物之一。 他是原籍匈牙利的美國人。 在他三十多年的學術生涯之中,其工作範圍幾乎函蓋了當時所有的數學, 還獨自開創了三、四種全新的數學學派。不談他的數學, 在關於計算機的貢獻方面,他與當時的工程師共同開創了今日電子計算機的設計, 並創造了自動機理論 (automata)。

關於他的奇聞軼事中,最常見的就是他那驚人的記憶力和推理速度。 據說他在剛到紐約的時候,真的表演過翻看電話號碼簿, 就能在半小時內記得幾千人的電話。 他寫的板書很大,而且速度又快,所以一個黑板立刻就被他寫滿。 因此,在他演講的時候,總是一邊寫、一邊擦。 然後,他會不斷地指著黑板的某處,說,根據前三次寫在這個位置的式子, 或許再加上前五次寫在那個位置的式子,可以得到以下的結論,如此這般。 所以,有些數學家就說 von Neumann 是個「用板擦證明」數學定理的人。 就連當時最聰明的數學家和物理學家,都認為 von Neumann 的腦袋可能不是人類。

von Neumann 的心念速度是如此之快, 快到在他的有生之年,沒有一台電子計算機的速度超過了他自己的心算速度。 雖然如此,他還是熱衷於電腦的設計和發展。 或許他知道,雖然電腦算不贏他,但是對旁人而言還是很重要的工具。 而且,他當然知道,假以時日,計算機的速度總會超過他自己的速度。

Von Neumann 逃避納粹到達美國之後,就進了 Princeton 的高等研究院 (愛因斯坦也在那裡)。 那是個學術研究氣氛最純的地方,而他在那裡是個快樂的 Johnny。 大家都喜歡他,甚至「容忍」他製造了一台電子計算機, 用以實驗他的設計理念。 這台電腦,有些人稱之為 IAS computer (Institute of Advance Study,就是高等研究院的名字), 也有人稱之為 von Neumann computer。 在 1952 年的落成典禮上,他還訂製了一個模擬機器的冰雕來慶祝。 以下就是這台 IAS Computer 的照片。

[von Neumann's IAS machine]

在 ENIAC 這個巨大工程的背後, 除了兩位偉大的工程師 Mauchly 和 Eckert 之外, 還有一位數學家 Goldstine 負責邏輯和程式的設計。 1945 年春, Goldstine 因為不勝壓力而到普林斯頓的鄉間做短期靜養。 當他要回費城的時候,在火車站遇到 von Neumann。 他們談話的氣氛,原本只是說說天氣很好, 後來 Goldstine 提到 ENIAC 計畫, 那種氣氛就變得像博士班口試一樣。 von Neumann 馬上就深入詢問了邏輯設計的細節,而且在三天後就親臨現場, 參觀了 ENIAC 的工程。本來 ENIAC 是個國防機密,但是 von Neumann 參與了更機密的勾當:原子彈,所以輕易就參與了 ENIAC 的工作群。

ENIAC 以十進位做資料儲存,每個數有四十位固定小數點的有效數字。 在做乘法的時候,其實使用了平行計算的設計。 最要命的是,只有資料儲存在機器裡面,程式並不在裡面。 要改變 ENIAC 的程式,必須以人工重接電路板之間的線路,耗時兩小時以上。 關於這些,von Neumann 都不以為然。 他和一些人合作,連續寫出兩份報告書, 為以後的電子計算機,提出設計藍圖 (那時候 ENIAC 已經來不及修改了)。 這份藍圖的某些特點,廣被接受,而且實行至今:

英國的 EDSAC 是第一個符合這個藍圖的電腦。 von Neumann 自己的 IAS,並沒有趕上第一,甚至第二也可能沒有, 因為美國的私人公司,也已經急著開始設計、製造自己的電腦了。 他們的基本設計藍圖,基本上就是 von Neumann 的藍圖。

IAS 電腦的設計和經費,大約是在 1948 年確定的。 von Neumann 運用政治手腕,說服了高等研究院同意他在一個純理論的天堂中, 製造一台髒亂吵鬧的電子計算機。他還巧妙地聯合了產官學界一起參與, 其中負責記憶體之設計的,就是 RCA 公司。RCA 以其在視訊器材上的經驗, 利用電視映象管的陰極射線殘留性質,設計了第一批的電子記憶體。 但是這套技術現在已經被淘汰了。

IAS 電腦從 1952 年啟用,von Neumann 邀請了許多科學家來一起試用這台計算機。 其中最成功的應該屬數值天氣預測 (numerical weather prediction); 不論在科學與實用價值上,都極受矚目。 當時的主持人是大氣科學家 Jule Charney, 他後來到 MIT 開創了一流的數值天氣預測研究中心。 著名的蝴蝶現象與動態系統,都是在那個中心流傳出來的。

其實在 1952 年後,von Neumann 已經進入美國政府的決策單位, 在學術研究方面稍微放慢了腳步。 他的主要身份相當於我們這裡說的核能委員會主委,在美國華府有一間辦公室。 他知道在普林斯頓和高等研究院,計算機科學都很難真的獲得同仁們全心全意的支持, 所以已經決定將 IAS 電腦從高等研究院遷出來,送給鄰近的普林斯頓大學。 而他自己要去加州大學洛杉磯分校 (UCLA),繼續計算機科學的研究。 可惜在他離開華府的公職之前,就於 1957 年因骨癌逝世,享年 54 歲。 以他這樣特殊聰明的人來說,已經不算是天忌英才了。

普林斯頓大學雖然接收了 IAS 作為一個免費的禮物, 卻發現這名嬌客非常難養。 技術人員建議學校每年準備兩萬美元來伺候她, 普林斯頓很大方地籌劃了三萬美元的預算。 但是第一年就花了十二萬美元。 因此,在 von Neumann 嚥氣之後,他們就趕快找個藉口把 IAS 關了。 但是,因為這短暫的一段因緣, 普林斯頓卻在這段期間造就了好幾個後來在計算機科學界舉足輕重的角色, 包括 John Hopcroft、Peter Denning、Jeff Ullman、Al Aho、Brian Kernighan、 Don KnuthJohn McCarthy, 都是這段時間在普林斯頓的研究生或者年輕助理教授。 不過,他們也都像 von Neumann 一樣感受到學校同仁對計算機科學的不友善態度, 何況 von Neumann 一死,留在這裡就更沒意思了。 所以這些了不起的開創性人物,在五年內全走光了,沒有一個留在普林斯頓的。

von Neumann 對今日的電子計算機設計,有決定性的影響。 但是他也有看錯的時候。 例如他不認為像 FORTRAN 這樣的高階語言是必要的。 他認為直接用機器碼來寫程式就好了。 von Neumann 有一個博士班學生,因為用機器碼太煩了, 著手設計組合語言。von Neumann 知道了以後大為惱火, 認為他不該把寶貴的時間浪費在這種無用的工具上。

von Neumann 在學術上,當然有他堅持和嚴肅的一面。但是在日常生活中, 他是個和藹、容易相處的人。在他的周圍總是充滿了歡笑。 為他製造 IAS computer 的電機工程師,說了以下這個故事: 大約在 1950 年的夏天,這位工程師獨自開車從費城到普林斯頓去見 von Neumann, 那是他們第一次的會面,地點就約在 von Neumann 的家裡。 因為工程師的老爺車沿途拋錨了好幾次,他都必須自己動手把它修好再上路。 所以到了 von Neumann 家的時候,滿身油污。但是 von Neumann 還是跟他握手, 請他到客廳裡,坐在他潔白的沙發上。 在他進門的時候,一隻狗也溜了進來。 他看到 von Neumann 任由那隻狗帶著泥巴的爪子,踩在雪白的長毛地毯上, 覺得很可惜。但是也想,既然 von Neumann 連一條狗都可以這樣縱容, 當然也不會介意他的髒褲子坐在白沙發上。 會談愉快地結束,von Neumann 決定請這位工程師負責 IAS computer 的製造。 然後他就要告別了。這時候,von Neumann 突然說, 「您不要帶走您的狗嗎?」

課外讀物:
[1] 比較偏重計算機的傳記 http://ei.cs.vt.edu/~history/VonNeumann.html
[2] 比較偏重數學的傳記 http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Von_Neumann.html
[3] 時代雜誌 (Time Magazine) 1999/03/29 的專題報導 (100 scientists and thinkers of the 20th century) http://www.time.com/time/magazine/0,9263,7601990329,00.html 裡面有許多主題,其中幾篇跟計概有關的,包括
John von Neumann: Computing's Cold Warrior
Who Built The First Computer?
Paul Erdos: The Oddball's Oddball
Robert Noyce: Microchip
[4] Howard Rheingold 寫的書,電子版:Tools For Thought http://www.rheingold.com/texts/tft/index.html

[ 發表感想或意見 ] ‧ [ 讀者推薦課外讀物 ]

BCC16 Home Up Chap 0 Chap 1 Chap 2 Chap 3 Chap 4 Chap 5 Chap 6 Chap 7 Chap 8 Chap 9 Chap A Chap B Chap C Chap D Chap E Chap F Copyright Pool User
製作人、
修改記錄
單維彰 (99/10/07) --- 00/03/25, 00/06/06, 00/11/24