計算機的前世今生:不務正業的富二代如何改變世界
馮?諾依曼系列文章目錄(推薦按順序閱讀):
- 天才中的高富帥,數學界的暖男——馮諾伊曼
- 量子的世界你不能不懂,馮諾依曼伴你闖蕩量子江湖
必須承認,諾依曼不是人,而是半人半神。----漢斯·貝特
漢斯·貝特,1967年諾貝爾物理學獎得主。和諾依曼經常一起參加學術報告、研討會。
貝特把研討會分為十個等級:
第一級,我的母親能聽懂(完全不懂數學物理,而且有代溝);
第二等,我的妻子能聽懂(完全不懂數學物理)。
這位諾貝獎獲得者說,
第七等,我能聽懂(對自己的理解力相當自信);
第八等,只有演講者和馮諾依曼聽得懂;
第九等,馮諾依曼聽得懂但演講者聽不懂;
第十等,連馮諾依曼都聽不懂,但幾乎沒有這一等。
諾依曼的朋友圈有很多諾獎級別的科學家,這些稱讚,也是諾獎級別的。
1944年,馮?諾依曼正負責美國的氫彈研製工作。氫彈的研製需要解決大量的計算問題。
1945年6月,諾伊曼發表了《EDVAC報告書的第一份草案》,這就是計算機史上著名的101頁報告。這份報告是計算機科學發展一個劃時代的文獻。它的出生,將人類帶進偉大的電子計算機的時代。
EDVAC方案將計算器分成5大組件,包括:運算器、邏輯控制裝置、存儲器、輸入和輸出設備,並描述了這五部分的職能和相互關係.EDVAC方案有兩個非常重大的改進:一是明確規定用二進位替代十進位運算並預言,二進位的採用將極大簡化機器的邏輯線路。二是提出了「存儲程序」,把程序和數據一起存儲在計算機內,這樣就可以使全部運算成為真正的自動過程。這為計算機的設計樹立了一座里程碑。
101頁報告轟動了科學界,創造了一個偉大的名詞--馮諾依曼體系結構,儘管近年有非馮結構比如哈佛結構(將程序指令儲存和數據儲存分開)的提出,但是當前最先進的計算機依然採用的是馮諾依曼體系結構。
戈德斯坦、伯克斯和馮·諾依曼曾在1947宣誓作證:「這是我們的意圖和願望,其中包含的可能具有專利性質的任何材料都將在公共領域予以公布。」
家財萬貫的富二代馮·諾依曼很豪爽地公開了所有他首創的計算機相關技術和細節,沒有申請專利保護,全世界都可以免費複製。在報告中,從是什麼,到如何做,到為什麼,他都傾囊相授,毫無藏私。
但這也苦了和他一起奮鬥的幾個哥們,不是所有人都是富二代啊,所以這麼偉大的報告居然也引起了爭議並導致了散夥。
(朱八八註:關於 101頁報告引起的爭議,研究團隊內部有人認為報告導致他們無法申請專利。)
(馮二代不是王二代。)
之後諾依曼回到普林斯頓高級研究院,把這裡變成美國電子計算機的研究中心,大批工程師蜂擁而至,1951年,諾依曼等人終於研製成功全自動的通用計算機EDVAC,這是世界上第一台過程式控制制的通用的電子計算機,並且是今天所有計算機的原型機,後人稱它為馮諾依曼機。
從那時起到今天,不管電腦怎麼更新換代,技術怎麼摩爾定律,大大小小億萬台計算機,都沒能夠跳出「馮·諾依曼機」的五指山。
馮諾依曼是當之無愧的「計算機之父」。(雖然天才本人謙虛地並不接受這個稱號)
馮?諾依曼與計算機
還記得我們之前八過的帕斯卡嗎? 他19歲時,設計並自己動手製作世界上第一台數字計算器—- 帕斯卡機,可以說是現在計算機的老祖宗。
赫爾曼·哥爾斯廷在《計算機從帕斯卡到馮?諾依曼》一書中膜拜了馮?諾依曼的記憶天才。
從帕斯卡機到馮諾依曼機,天才的光芒照亮著我們的世界。沒有他們,廣大的碼農,可能真的是農民,而那些鍵盤俠,只有跪鍵盤的命。
對於計算機,諾依曼其實是玩票性質,他的主業是數學,但正是這樣一次偶然的玩票,卻極大而深遠地影響了世界,許多人甚至認為這是他一生中最偉大的功績。
有人要說: 那美國人約翰·阿塔那索夫和英國人艾倫?圖靈怎麼辦?朱八八認為,問這些問題的基本上都是屬於抖機靈,顯示自己很博學的。
《大學生計算機基礎》第一章點明「計算機之父:馮諾依曼」,考試重點。有意見的同學們,計算機入門考試過了嗎?
阿塔那索夫就不用提了,他的ABC機,朱八八覺得在博物館比較合適,至少還有幸和帕斯卡機一起。(ABC機的程序和計算部分是分離的,運行程序時,需要幾十名專業人員上場,然後用幾百條線路按特定方式連接兩部分線路——這和我們今天的計算機有半毛錢關係嗎?)
而圖靈的貢獻主要在理想計算機和人工智慧方面,圖靈作為人工智慧之父,他利用機器破譯密碼為二戰的結束做出了巨大貢獻,但他的名氣更多是得益於他是同性戀、英年早逝和圖靈獎的頒發。
諾依曼其實和圖靈還是有些淵源的,圖靈在普林斯頓攻讀博士時,作為一個還很青澀的博士生,他正好坐在馮?諾伊曼教授對面的辦公室。
圖靈在1936年發表重要論文《論可計算數及其在判定問題上的應用》,論文中,圖靈描述了現在稱作 「圖靈機」 的簡單形式機器,並且證明這樣的機器有能力解決任何可想像的數學難題。
這一篇論文讓諾依曼慧眼識珠,為此他專門為圖靈寫了一份獎學金推薦信。
諾依曼是那個時代的維基百科,任何前沿的知識都在他的腦里自動搜索更新。
兩年後圖靈從普林斯頓博士畢業,只有馮?諾伊曼教授動情挽留:用年薪一千五百美元聘圖靈做自己的助手。
圖靈機給計算機的具體實現提供了參考價值,演算法問題從此有了堅實的基礎,但它速度太慢,也很難編程。
這是一個娛樂至上的時代,媒體和人們享受著計算機的偉大與創新,卻無法體會到計算機之父的偉大與成就。
就算體會到又如何? 天才無法學習,無法複製,也無法教會我們成功學。平常人更需要的是雞湯和情感共鳴,圖靈很符合。
一次,蘭德公司向他諮詢,可否改進一下現在的計算機以便於能夠解決當前公司的一個計算機無法應付的問題?馮諾伊曼問:什麼問題?蘭德公司的工作人員在黑板上又寫又畫地解釋了兩個小時,剛說完,馮諾伊曼就答到:不用計算機了,我已經算了出來。那位科學家呆若木雞……
好了,現在計算機終於有了,但是怎麼用?用它來幹什麼? 初期懂的人屈指可數。
偉大的東西在誕生之初,常常是受盡冷眼和嘲笑的。
馮?諾依曼有個師兄赫爾曼·外爾,也是20世紀最有影響力的數學家之一,有一次在課堂上大聲對學生說:「過去的馮?諾依曼數學做得多麼好,可如今不務正業!」要知道馮?諾依曼的辦公室就在教室的對面,外爾這話估計就是故意說給諾依曼聽的,想讓諾依曼「迷途知返」,而學生則被嚇得趕快關上教室大門。
當時,普林斯頓是世界數學的中心,全世界數學家都神而往之,華人數學界的驕傲陳省身、樊畿與華羅庚都先後在此修鍊過。所以當馮?諾依曼開始放下他已經做得「那麼好」的理論數學研究而轉行當碼農時,研究院里數學家們都覺得諾依曼誤入歧途了。
所以在數學家眼中,碼農是很沒有地位的,他們覺得那些計算方法和程序設計實在是太簡單了,很遺憾,一直到今天,這種歧視還這麼赤裸裸。
當時也在普林斯頓的數學家樊畿先生後來回憶:「現在看來馮?諾依曼當時是有道理的。可是當年,普林斯頓的人都不理解他。他如果只做數學,那他頂多是影響數學界。今天我們看到了,馮?諾依曼的工作影響了整個社會和全人類!」
普林斯頓高等研究院當時可是牛人云集,有愛因斯坦,哥德爾,馮·諾伊曼,奧本海默,小平邦彥等等。而楊振寧和李政道那時還只是在那裡上課的學生。
在那個時代,不只是數學家,其他領域的絕大多數天才也沒有人會預見到電腦的發明會這樣深遠地改變了人類的文明和歷史。
「千載誰堪伯仲間」,馮?諾依曼的眼光和識見遠遠領先了其他人,即使在那樣群星閃耀的年代。
馮·諾伊曼為計算機程序設計做了大量開創性工作,他利用計算機去解決各個科學領域中的問題,並為此貢獻了許多天才的方法。
他和哥德斯坦發明了流程圖,用圖形表示演算法,所謂千言萬語不如一圖。
1949年初,他設計了一個可以自我複製的計算機程序,被公認為是世界上第一個計算機病毒,馮·諾伊曼因此被認為是計算機病毒學的理論之父。
他發明了歸併排序演算法,簡單講就是將數組的前半部分和後半部分各自遞歸排序然後合併成一個序列。歸併排序演算法優雅高效且穩定。排序在數據處理和現代科學計算中有很重要的地位,應用於很多領域。
他引入子程序和自動編程法,讓快速運轉的計算機自己讀懂用接近計算公式的「高級語言」編寫的計算指令,大大簡化了程序員編程時的繁瑣程度。
他首創了求解偏微分方程的數值近似解,矩陣特徵值計算、求逆、多元函數極值和隨機數產生等數十種計算技巧,這些在工業部門中有著廣泛的應用.
他預言計算機能夠準確預報天氣,諾伊曼向美國軍方提出建議成立並領導氣象組,和一批優秀的氣象學家一起開創了天氣預報的歷史,用計算機建立起模擬大氣運動的模型,並且進行了世界上第一次準確的數值天氣預報。今天的天氣預報都是以數值天氣預報為基礎進行概率預報,但是準確率已經非常高。
馮·諾依曼還以數值天氣預報為突破口,對非線性方程的離散化及計算穩定性這一重要的數學應用問題,形成了一套理論和解決方案,取得了不僅在氣象科學領域,而且在應用數學和自然科學領域都具有劃時代意義的成果。
他綜合早年對邏輯研究的成果,天才地將它擴展到一般自動機理論。1951年,馮·諾依曼發表「自動機的一般邏輯理論」,開闢了計算機科學的一個新領域,並為以後人工智慧的研究奠定了基礎。
他和他最好的死黨烏拉姆一起發明了大名鼎鼎的蒙特卡洛法(Monte Carlo method),江湖傳說因為烏拉姆的叔叔經常去摩納哥的蒙特卡洛賭場玩,而且經常輸錢,於是這個演算法就有了賭場名字。不過也算貼切。因為賭場就是靠概率為生,而這個蒙特卡洛法也是。
蒙特卡洛法是以概率統計理論為指導的一類非常重要的數值計算方法,在計算機上以較小規模實現隨機模擬,獲得近似解來解決很多計算問題,在許多領域都得到了廣泛應用。
馮·諾依曼還對電腦與人腦的區別與相似興趣盎然,在未完成的遺作《計算機和人腦》 中,他關於人腦的洞見今天讀來依然深刻,仍不失重要的學術價值。
好了,這些專業的演算法和程序留給那些專業人士吧,我們繼續大家喜聞樂見的八卦。
馮?諾依曼後來要跳槽到華盛頓,只好把他的寶貝,體型巨大的計算機送給好鄰居普林斯頓大學,一開始普林斯頓大學對於馮?諾依曼的「禮物」是歡樂開懷,並承諾保持開機並維護。但是沒多久就後悔了,因為他們發現計算機的運轉與維護費用一年高達十萬美元。這在當時是天價,可以請來幾十個艾倫?圖靈。
馮?諾依曼去世的不幸消息傳來,世界都在為之悲痛,普林斯頓大學終於可以關閉了計算機。之後IBM用大卡車運走了,歷史證明IBM撿到寶了,馮?諾依曼之前作為IBM的顧問,幫它確定了計算機的方向,而後藍色巨人又在這台原型機上,不斷研發,開拓,迅速成就了計算機行業的霸主地位,IBM在七八十年代幾乎成為計算機的代名詞,直到今天依然是偉大的公司。愛德華 · 特勒說:「IBM公司也許應該把它一半的利潤付給馮?諾依曼」。
普林斯頓大學估計悔得腸子都青了。
馮?諾依曼的太太克拉拉是史上世界上第一批程序員之一,而且用的是最難的彙編語言。 克拉拉後來說, 計算機工作是她曾經做過的工作中最激動人心的。
馮?諾依曼開車時經常走神看書或去思考問題,他幾乎每年要撞壞一部汽車。他在警局裡解釋常常是這樣的:「我正在路上正常駕駛,右方窗外的樹正在以60英里每小時的速度從我車旁穿過,突然,一棵樹站在了我的車前,咚!」 在當年普林斯頓的一個交叉口曾有著名的馮?諾依曼角,紀念他在那遇到過的所有車禍。」
還有一個八卦是馮?諾依曼的表妹貢獻的:諾依曼上廁所要帶兩本書,因為他擔心出來前會把手頭上的那本讀完而太無聊。
在普林斯頓經常有人讓馮?諾依曼和計算機比賽,比如有人提出類似「右起第四位是7的最小的2的冪是多少」的問題,機器和計算機之父同時開始計算,結果毫無懸念的,爸爸肯定打敗兒子。
電子計算機是人類最激動人心的發明,將人類帶進了偉大的信息時代,而且還在以驚人的速度發展和造福著全社會和全人類,馮·諾伊曼作為電子計算機之父,他的貢獻萬古流芳。
所有的IT民工無不頂禮馮·諾依曼,所有複製粘貼的鍵盤俠也必須感謝這位計算機之父,朱八八當然也是毫無懸念地在馮·諾依曼架構機上敲完上述所有文字,謹以此文向人類計算機史上最偉大天才致以最深切的敬意。
推薦閱讀: