馮諾依曼是計算機的奠基人,現(xiàn)在的計算機能力已經(jīng)有了極大的提升,人工智能的能力使人們開始恐懼,然而,計算機的基本框架很大程度上仍停留在馮·諾依曼逝世時的水平,基礎(chǔ)運作方式并沒有發(fā)生本質(zhì)改變。
喬治·戴森在《圖靈的大教堂:數(shù)字宇宙開啟智能時代》一書中,詳細描述了馮諾依曼如何思考、設計、制造計算機的過程,至今看來依然值得學習、深思。
馮諾依曼其人
馮諾依曼是什么人?他被父親送去學化學,卻成為了頂尖的數(shù)學家,游走于數(shù)學家、物理學家、氣象學家、天文學家、電子工程師等各種知識領(lǐng)域的頂尖天才之間,是天才中的天才。
天才有什么樣的特點?他的朋友圈是這樣膜拜的。
“無論你從哪種角度看,他似乎總屬于異類。純數(shù)學家聲稱,他是一名理論物理學家;理論物理學家將他看作應用數(shù)學方面的顧問,認為他在這方面提供了很大的幫助;應用數(shù)學家驚嘆于這樣一位純凈和象牙塔式的數(shù)學家會對應用問題如此感興趣;我懷疑,某些政界人士可能一直都把他看作實驗物理學家,甚至是工程師。”
經(jīng)濟學家保羅·薩繆爾森說:“馮·諾依曼如驚鴻掠影般走進了我們的領(lǐng)域,從那以后該領(lǐng)域就發(fā)生了翻天覆地的變化。”他偶然的進入了經(jīng)濟學領(lǐng)域,就徹底的改變了這個領(lǐng)域。
“他有一種在數(shù)學家中間也許比較罕見的能力,他能夠和物理學家交談,理解他們的語言,并且?guī)缀踉谒查g就可轉(zhuǎn)換成數(shù)學家的方案和表達式。接著,在解決這個問題之后,他又可以將它轉(zhuǎn)換回物理學家常用的表達式。”
他能夠拆解任何問題,然后將之重新組合,使答案呈現(xiàn)為顯而易見的結(jié)果。他能將大問題分解為極小的細節(jié),他還可以把極小的細節(jié)組合成具有任意指定屬性的大問題。這就是約翰尼的能耐,再無其他人可以做到。”
“約翰尼最典型的特征是對萬事萬物無止境的好奇心和難以抑制的求知欲,他迫不及待地去認識和了解任何問題,不論難易高下,”克拉拉回憶說,“凡是引他發(fā)問的東西,他都不會放過;他會生悶氣,板著臉,感覺難受,直到找到了至少讓自己滿意的正解。”
馮·諾依曼的第一版手稿可以直接發(fā)表,甚至數(shù)學證明也是如此。“如果一個主題在我的頭腦中醞釀‘成熟’,我就寫得相當流暢、迅速,”
“馮·諾依曼是最偉大的數(shù)學藝術(shù)家之一,”戈德斯坦說,“對他來說,僅僅證明出一個結(jié)果是不夠的,還必須體現(xiàn)優(yōu)雅和精致的作風。”
海軍少將劉易斯·斯特勞斯所說,“馮·諾依曼能夠抓住最困難的問題,條分縷析,于是一切都顯得簡單明了,而我們所有人都驚訝于自己為什么不能像他那樣層次分明、洞悉答案”。
他會被“不可能”的問題所吸引,預測天氣、了解大腦、解釋經(jīng)濟,以及用不可靠的部件構(gòu)建可靠的計算機。“本著簡單的益智精神考慮最重要的問題,這是他的驕傲,”克拉拉說,“就好像他在挑戰(zhàn)世界給他提出的任何難題、任何問題,然后用秒表計時,看看他能多么迅速、機敏、輕松地解決它們。”
“某些時候,我們或多或少都可以做到思路清晰,”匈牙利籍美國數(shù)學家保羅·哈爾莫斯說,“但是馮·諾依曼思路的清晰度比我們大多數(shù)人要高出幾個數(shù)量級,而且他能始終保持思路清晰。”他擁有計算和邏輯智能,“他敬佩甚至嫉妒那些擁有互補品質(zhì)的人,他們閃現(xiàn)的非理性直覺有時可以改變科學發(fā)展的方向。”
“他無法將非常優(yōu)秀的人和不太優(yōu)秀的人區(qū)分開來,”博特補充道,“我猜在他面前,他們都顯得慢很多。”
很幸運有這樣的天才把我們引入計算機時代,用數(shù)學的思維賦予計算機如此強大的通用能力。很不幸他英年早逝,帶走了天才所能創(chuàng)造的無限可能性。
馮諾依曼對計算機的思考
馮·諾依曼是匈牙利人,在二戰(zhàn)的陰云下,離開了歐洲,帶著對納粹不可原諒的仇恨、對俄國人日益加深的不信任,以及決心從此不再讓自由世界在軍事上陷入弱勢地位的想法,因為它迫使人們向希特勒妥協(xié),同時德國這個戰(zhàn)爭機器的實力也得以增強。
馮諾依曼積極參與美國軍方武器研制的過程,ENIAC是第一臺通用電子計算機,他首度參觀ENIAC的時間是1944年8月(按照戈德斯坦的說法)或9月(按照埃克特和莫齊利的說法)。戈德斯坦說:“那一瞬間改變了他的余生。”他把自己巨大熱情和天賦投入到計算機研制和運用的事業(yè)中。
1945年6月30日,《關(guān)于離散變量自動電子計算機的草案》經(jīng)油印復印,由莫爾學院限量發(fā)行,其中描述了高速存儲程序的電子數(shù)字計算機設計的輪廓,包括編碼指令的必要陳述和解釋:“必須給出該設備詳盡的細節(jié)。”這臺計算機的功能元件分為一個分層存儲器、一個控制元件、一個中央運算器,以及輸入/輸出通道,這種結(jié)構(gòu)今天仍然被稱為“馮·諾依曼體系結(jié)構(gòu)”。一個快速內(nèi)存儲器耦合一個更大的輔助存儲器,并依次與無限多的穿孔卡片或無限長度的紙帶連接,就能產(chǎn)生圖靈所規(guī)定的無限存儲空間。內(nèi)存和處理器之間單一通道的障礙被稱為“馮·諾依曼瓶頸”,馮·諾依曼一開始就曾嘗試解決這個問題,不過并未成功。
馮·諾依曼主張,“推動近似和計算數(shù)學(涉及因數(shù)為1萬或更大)發(fā)展的重要性,不僅在于人們可能因此節(jié)省1萬倍的時間,或者說,數(shù)值增大100倍卻只需要現(xiàn)在1/100的時間,而且在于人們將能夠解決目前看來完全解決不了的問題。”
他想制造一臺高速全自動通用電子計算機,這臺機器可以回答人們想問的任何問題。
很多頂尖機構(gòu)都想爭奪馮諾依曼去制造計算機,最終普林斯頓拔得頭籌。馮諾依曼在普林斯頓高等研究院搭建團隊建設MANIAC計算機。
馮·諾依曼的目標是構(gòu)建一臺以電子速度運行的通用圖靈機,其核心就是一個32×32×40位矩陣的高速隨機存取內(nèi)存——這也是迄今為止,所有數(shù)字化設備的核心所在。“隨機存取”意味著所有單個存儲單元共同構(gòu)成了計算機的內(nèi)在“靈魂”,并且可以隨時同步進行訪問。“高速”意味著內(nèi)存能夠以光速而非聲速進行存取訪問。正是這一限制的消除,才使得通用圖靈機的能力得以釋放出來。否則,它只是一個不切實際的構(gòu)想。
在那個年代,半導體技術(shù)尚未發(fā)明,各種電子元器件的可靠性都很差,難以輸出穩(wěn)定的結(jié)果。設計方面,工程思路方面,馮諾依曼依然給出了巨大的幫助。
他于1951年創(chuàng)作了《不可靠元件構(gòu)成的可靠組織》,以及于1952年創(chuàng)作了《由不可靠元件構(gòu)建可靠系統(tǒng)的概率邏輯》。
馮諾依曼依給了我們一個忠告:莫為天下先。這有助于讓高等研究院的項目處于領(lǐng)先地位。“我們團隊取得成功,并領(lǐng)先別人一大步,其中一個原因是我們設定了若干有限的目標,即我們不會生產(chǎn)任何新的組件,”畢格羅補充道,“我們會嘗試并使用那些可用于標準通信目的的組件。我們選擇的真空管為大規(guī)模生產(chǎn)且很常見的類型,這樣我們就有希望得到可靠的組件,而不必進行組件的研究。”
“約翰尼過去每周都會和我們單獨見一次,詢問我們完成了什么、如何作業(yè)、面臨什么問題、觀察到什么癥狀、診斷出什么原因,”羅森伯格說,“每一個問題恰恰都是基于他迄今為止所發(fā)掘的信息而做出的最好的提問。他的邏輯完美無缺,他從來沒有問過無關(guān)緊要或錯誤的問題。他的問題就像機關(guān)槍掃射一樣,展示了他閃電般的快速且無差錯的思維。只要大約一小時,他就讓我們每個人清楚了自己已經(jīng)完成的工作、遭遇到的問題,以及從何處尋找問題的原因。這就像用明亮的鏡子照東西,排除所有不必要的影像,只留下重要的細節(jié)。”
馮諾依曼在思考計算機的時候,就考慮到對程序員的背景要求。他沒有數(shù)學基礎(chǔ)的夫人就成為程序員先驅(qū),為核武器模擬做了大量優(yōu)秀工作。克拉拉回憶道,“他也想看看對這一領(lǐng)域經(jīng)驗很少或者完全沒有經(jīng)驗的人,會怎樣使用這種做數(shù)學的新方法。在這個實驗中,他需要一個實驗對象,最好是數(shù)學白癡,符合這一條件的理想對象無疑近在咫尺,那就是我。”
在計算機系統(tǒng)日趨完善的時候,馮諾依曼推動把計算機相關(guān)技術(shù)公開的公用領(lǐng)域,沒有應用專利進行保護,全世界都可以免費復制。在報告中,不但描述是什么,還討論了為什么。
1947年6月,戈德斯坦、伯克斯和馮·諾依曼宣誓作證:“這是我們的意圖和愿望,其中包含的可能具有專利性質(zhì)的任何材料都將在公共領(lǐng)域予以公布。”MANIAC及其程序的所有技術(shù)細節(jié)都在公共領(lǐng)域被公布,全世界都可以免費復制。一系列進展報告被公之于眾,其中包含了清晰的思想和技術(shù)細節(jié)的模型。據(jù)圖靈戰(zhàn)時的助理杰克·古德(I.JackGood)稱,“這些報告的顯著特點是他們賦予了每個設計決策明晰的理由,這一特點在后來的作品中很少見”。
馮諾依曼在計算機研制過程中起到了什么作用?再看看他的朋友圈是怎么說的。
“馮·諾依曼非常深刻地理解這一點,”畢格羅證實說,“所以,審視ENIAC或者早期一些結(jié)構(gòu)非常僵化的機器時,他比任何人都清醒地看到,這只是第一步,之后還會有很大的進步。”畢格羅說,“馮·諾依曼的貢獻是帶來了這樣不可動搖的信心:‘干吧,其他都沒什么大不了的,讓它以這樣的速度和性能運行,其余的只是一大堆廢話。’實際上,正是基于那種信念,我們憑著6個人和一份預算說干就干”。
馮·諾依曼的做法是把少數(shù)幾位工程師引入數(shù)學家的地盤,這使得這個項目擺脫了來自工程師方面的任何制約,因為一個既定的工程師團隊會對如何建造計算機抱有預先存在的想法。“我們是傳教士,”畢格羅說,“我們的使命是生產(chǎn)一臺機器,它會展示高速計算的效用。”
1976年,畢格羅總結(jié)道:“一長串不可能的偶然事件的發(fā)生,讓我們參與其中。我們大多擁有著樸素的愿望,都勤奮工作、無私奉獻。因為我們當時相信并且知道,這件事只發(fā)生在少數(shù)的地方,能參與其中是我們的幸運。我們之所以肯定,是因為馮·諾依曼清除了我們思想中的蜘蛛網(wǎng),再沒有人能做到這一點。計算能力的浪潮即將爆發(fā),它淹沒科學和其他許多領(lǐng)域的一切事物,世界將為之一新。”
馮諾依曼想用計算機做什么?
馮·諾依曼對建造計算機沒有太大的興趣,他更感興趣的是計算機能夠做什么。他想到了數(shù)理生物學、數(shù)學天文學和地球科學。
“20世紀50年代初期的某一天,我、馮·諾依曼和其他幾個人站在普林斯頓電子計算機工程大樓外面,”約瑟夫·司馬格林斯基回憶說,“約翰尼抬頭看著局部多云的天空說道:‘你們覺得我們能預測那個嗎?’”
馮·諾依曼指出:“預測天氣的數(shù)學問題屬于可以解決的一類,也應該得到解決,因為最顯眼的氣象現(xiàn)象發(fā)源于不穩(wěn)定或亞穩(wěn)定的情況,通過釋放一定的能量,可以控制或至少可以引導這些情況。”
馮·諾依曼和佐利金提出,不僅要制造計算機,還要打造遍及全球的計算機網(wǎng)絡。“有了足夠數(shù)量的這類機器(隨意地提到了100),就可以設立區(qū)域站點,這有可能實現(xiàn)世界各地的天氣預測。”
馮·諾依曼把問題劃分為三種情況:第一種為短期,天氣情況更多地取決于初始條件,而非后續(xù)的能量輸入與耗散。通過充分的觀測,以及足夠的計算,就可以做出短期預測(時間跨度大約為幾天到一周)。第二種為中期,時間超過一周,初始條件所產(chǎn)生的影響和能量輸入與耗散所產(chǎn)生的影響逐步分化,預測大氣的行為變得非常困難,甚至完全不可能。第三種為長期,“大氣很快就忘記了它初始的樣子,”湯普森說道,“其行為幾乎完全由每天的能量輸入與耗散的綜合影響來主宰。”對這些輸入與耗散有了足夠的認識后,預測氣候(而不是天氣)在計算方面就不難處理了。
1953年,有5組不同的問題在MANIAC上運行,根據(jù)不同的時間尺度,它們分別是:(1)核爆炸,以微秒為單位;(2)沖擊和爆炸波,從微秒到分鐘;(3)氣象學,從幾分鐘到數(shù)年;(4)生物進化,從數(shù)年到數(shù)百萬年;(5)恒星演化,從數(shù)百萬年到數(shù)十億年。所有這一切都在5千字節(jié)的存儲器中運行。
馮諾依曼對機器的自動復制有著強烈的興趣,并對生物世界的復制進行了同樣深入的思考和比較。
在發(fā)現(xiàn)生物體的繁殖是如何通過編碼DNA的指令串來協(xié)調(diào)的前夕,馮·諾依曼強調(diào)復雜生物體要在一個嘈雜的、不可預知的環(huán)境中生存下來,必須定期采用數(shù)字糾錯碼復制自己的最新副本。補充。“如果每一個錯誤都需要找出、解釋和糾正,那么生物體的復雜性系統(tǒng)就無法存活,哪怕1毫秒,”
自動機能制造出和本身復雜度相當或者更高的后代嗎?馮·諾依曼解釋說:“低級的‘復雜性’可能是退化性的,即每一個可以制造其他自動機的自動機只能產(chǎn)生較不復雜的自動機。然而,存在一定程度的復雜性,超過這一水平。如果對合成現(xiàn)象進行適當安排,就會發(fā)生爆炸性的變化。換句話說,自動機的合成可以通過這樣一種方式進行:每個自動機將產(chǎn)生比自身更為復雜、更具潛力的自動機。”
在他生前最后一次站著演講。“我們能做的最好的事情就是將所有流程區(qū)分開來,看哪些適合由機器完成,哪些適合由人類完成,”他建議說,“然后找到促成機器和人類完成使命的方法。”
如果馮·諾依曼活得久一些,就有可能將注意力轉(zhuǎn)移到基因代碼上來,不過在生命快要走到盡頭的時候,他關(guān)注了在大腦中處理信息的問題。 “馮·諾依曼最后為即將到來的耶魯大學西利曼紀念講座準備的手稿未能完成,只是以最低限度粗略地描繪了他計劃思考的東西”。克拉拉對這份手稿做了編輯,在他去世后,以《計算機與人腦》一書出版。馮·諾依曼試圖解釋兩個系統(tǒng)之間的差異,第一個差異就是我們近乎了解電子計算機中發(fā)生的一切,但是對人腦卻幾乎一無所知。
2016-05-18 廣州