計算機領域的大牛、大神們(包括歷史上的以及現在的)有哪些奇聞軼事?


既然有人提到馮·諾伊曼和他那個著名的故事,我不得不把這個貼出來。原文見 Blog of Zaikun。

馮·諾伊曼 (2013 年 10 月 12 日,科英布拉)

今天讀到袁老師 (Home page of Prof Ya-xiang Yuan) 的日誌 (http://goo.gl/JSkwVY),想起關於馮·諾伊曼 (John von Neumann) 的一個笑話。這個笑話版本很多,其中一個是這樣的:

一次,馮·諾伊曼在晚會上,女主人勇敢地向他提出一個謎題:

兩列火車在同一軌道上以每小時 30 英里的速度相對而行,且相距 1 英里,這時棲在一列火車前面的一隻蒼蠅以每小時 60 英里的速度朝著另一列火車飛去。當它飛到另一列火車時,它又迅速地飛回來。它一直這樣飛過去飛回來,直到兩列火車不可避免地發生碰撞。問這隻蒼蠅共飛了多少英里?

幾乎在女主人剛解釋完問題的同時,馮·諾伊曼就答道:「1 英里。」

「太讓我驚訝了,你這麼快就算出來了。」 她說道。「大多數數學家都沒能看出這裡面的技巧,而是用無窮級數去計算,這花費了他們很長時間。」

「什麼技巧?我也是用無窮級數算的。」 馮·諾伊曼回答道。

其實我不是來講笑話的。我想說的是,這個笑話流傳很廣,但很少有人給出出處。這不是一個嚴肅的笑話工作者應有的工作方式。

事實上,這個笑話 (嚴格講應該叫軼事) 見於 Norman Macrae 所作的馮·諾伊曼傳記 John von Neumann: The Scientific Genius Who Pioneered the Modern Computer, Game Theory, Nuclear Deterrence, and Much More, American Mathematical Society, 1992, pp. 10–11 (不信?你可以在 googlebook 上看這一頁:http://goo.gl/58r5mF)。那裡的版本如下:

When he was given a problem while standing, Johnny at one stage would dance from foot to foot. Although this practice caused some spills at his crowded cocktail parties, it forms one of the first stories half against him: his reaction to the fly puzzle. Two cyclists are 20 miles apart and head toward each other at 10 miles per hour each. At the same time a fly traveling at a steady 15 miles per hour starts from the front wheel of the northbound bicycle. It lands on the front wheel of the southbound bicycle, and then instantly turns around and flies back, and after next landing instantly flies north again. Question: What total distance did the fly cover before it was crushed between the two front wheels?

The slow way of answering is to calculate the distance that the fly travels on its first trip to the southbound front wheel, then the distance it travels on its next trip to the northbound wheel, and finally to sum the infinite series so obtained. It is extraordinary how many mathematicians can be fooled into doing that long sum. The short way is to note that the bicycles will meet exactly one hour after starting, by which time the 15-miles-per-hour fly must have covered 15 miles. When the question was put to Johnny, he danced and answered immediately, 「15 miles」. 「Oh, youve heard the trick before,」 said the disappointed questioner. 「What trick?」 asked the puzzled Johnny. 「I simply summed the infinite series.」 It is worth adding that, when ribbed on this later, Johnny said 「the figures actually put to me were not so simple.」

作者最後寫道:「值得一提的是,後來當別人拿這件事開他玩笑時,Johnny 說,『其實當時他們給我的數字可沒這麼簡單』」。很可惜,網上流傳的版本大都沒有提到這一點。斷章取義,引用文獻的大忌。沒有了這句話,這個笑話的笑點少了一多半。說到這想起約翰·納什 (John F. Nash, Jr.) 的一個笑話,幾年前丁玉濤 (丁玉濤-大連理工大學數學科學學院) 講給我的,可惜沒有出處 ——《美麗心靈》上映後,有記者採訪納什:電影拍得真實嗎?恐怕藝術加工的成分很大吧。納什:你說得對,其實查爾斯沒那麼高。

如果你準備引用這個笑話,這是 BibTeX:

@book{MacraeN_1992_JVN,

title = {John von Neumann: The Scientific Genius who Pioneered the Modern Computer,

Game Theory, Nuclear Deterrence, and Much More},

author = {Macrae, N.},

isbn = {9780821826768},

lccn = {99037303},

url = {http://goo.gl/bUoQti},

year = {1992},

publisher = {American Mathematical Society}

}

這才算講完一個笑話吧。

最後再贈送一個:

艾倫·麥席森·圖靈曾經說:「凡是不給出參考文獻的趣聞軼事、名人格言都是赤裸裸的耍流氓。」

更新 (2015 年 10 月 25 日,圖盧茲):此軼事亦見於美國數學協會 (The Mathematical Association of America) 的紀錄片 「John Von Neumann — A Documentary」 (MAA Video Classics, Number 2, 1966)。片中,尤金·維格納 (Eugene Wigner,理論物理學家及數學家,馮·諾伊曼的合作者,1963 年諾貝爾物理學獎得主) 接受採訪時講述了這個故事。據維格納所說,向馮·諾伊曼提問者為馬克斯·玻恩 (Max Born,量子力學創始人之一,1954 年諾貝爾物理學獎得主);當馮·諾伊曼給出答案時,「Born was astounded and he said: 『You are the first one of my scientist friends who saw the solution at once.』 Johnny said: 『I cant understand that. Its a simple infinite geometrical series.』」 該片可在 YouTube 觀看,相關內容出現在 16m45s–19m04s。

更新 (2015 年 12 月 24 日,圖盧茲):馮·諾伊曼曾經的助手與合作者保羅·哈爾摩斯 (Paul R. Halmos) 在回憶馮·諾伊曼的文章 The Legend of John von Neumann 中提到了同樣的故事 (Halmos, P. R., The Legend of John von Neumann, Amer. Math. Monthly, 80(4): 382–394, 1973)。在文章的第三部分 「Speed」 中,哈爾摩斯寫道:Then there is the famous fly puzzle. Two bicyclists start twenty miles apart and head toward each other, each going at a steady rate of 10 m.p.h. At the same time a fly that travels at a steady 15 m.p.h. starts from the front wheel of the southbound bicycle and flies to the front wheel of the northbound one, then turns around and flies to the front wheel of the southbound one again, and continues in this manner till he is crushed between the two front wheels. Question: what total distance did the fly cover? The slow way to find the answer is to calculate what distance the fly covers on the first, northbound, leg of the trip, then on the second, southbound, leg, then on the third, etc., etc., and, finally, to sum the infinite series so obtained. The quick way is to observe that the bicycles meet exactly one hour after their start, so that the fly had just an hour for his travels; the answer must therefore be 15 miles. When the question was put to von Neumann, he solved it in an instant, and thereby disappointed the questioner: 「Oh, you must have heard the trick before!」 「What trick?」 asked von Neumann; 「all I did was sum the infinite series.」


馮·諾依曼兩則:

===============

一個學生在走廊上碰上諾依曼,順便就問了個問題:

S: 呃,打擾一下,馮·諾依曼教授,您能幫我解答一下這個分析問題嗎?

N: 好吧小子,最好快點,我很忙。

S: 我不太懂這個積分...

N: 我們來看看 (短暫的思考後) 好了小子,結果是2π/5。

S: 答案我都知道,老師,但我不懂怎麼推導出來。

N: 好吧,我再看看 (又一次思考後)答案是2π/5。

S: (沮喪的說)誒,老師,我知道答案,就是不明白該怎麼推導。

N: 你還想怎樣嘛小子,我都用了兩種方法做了!

-----------------------

第二則是保羅·哈爾莫斯講的

「有個著名的蒼蠅問題,兩人騎車從相距20英里的兩地相向行駛,兩人均保持穩定的10英里時速,一隻蒼蠅以15英里的速度從一輛車前輪飛向另一輛車輪前輪,飛到時再折返,直到被兩車前輪擠扁。

問題是:這隻蒼蠅一共飛行了多長距離?(這個中國學生都會

笨辦法是算出第一段從一車輪到另一車輪距離,再算下一段,以此類推,最後全都加起來。

聰明的辦法是注意到兩個自行車從開始到相遇一共用時1小時,所以蒼蠅也飛了1小時,距離就是15英里。」

當這個問題拋給馮·諾依曼的時候,他立即解答出來了,還顯得對提問者很失望。

「噢,你一定早知道這個題的技法了!」

「什麼技法?」 馮·諾依曼問道,「我就是做了無窮數列求和而已。」

-----------------------

補:

Paul Allen一則 (not Bill Gates):

Altair BASIC

1975年,艾倫和蓋茨給Altair 8800計算機寫了個BASIC解釋器賣給MITS,他們很快完成了解釋器,甚至包括自己的IO系統和編輯器,一共只需要4k內存。 不過最後他們發現還需要一個引導程序將這些東西從外存整進去。

Paul Allen在飛機航班上完成了這項工作。

這是1975年,沒有筆記本。

他用的是紙筆。

寫的是8080機器碼。。。


看圖靈獎的介紹吧《圖靈和ACM圖靈獎》以及本書的姊妹篇 《IEEE計算機先驅獎》

計算機科學之父圖靈的2本書是不要錯過的

艾倫·圖靈傳 (豆瓣)

圖靈的秘密 (豆瓣)

馮·諾伊曼的這2本也寫得不錯,能滿足你探究奇聞軼事的心理

介紹黑客們的這兩本,你也不應錯過。《編程人生》現在有新版了,翻譯比老版本要好一點。我這裡的圖片是老版的。

黑客 (豆瓣)

編程人生 (豆瓣)

對了,還有介紹自由軟體的一本書,哲人石出的,很早的書了,講了自由軟體運動的歷史,我一次聽說Stallman和Linus就是在這個地方

如果你對開源軟體有興趣,那麼Linus的自傳是不容錯過的,已經有新版了。


我說一個丹尼斯里奇的吧。。。有次里奇演講,演講過後一個學生問道:丹尼斯先生,你認為一個人從學習C到熟悉C,並能寫出有價值的代碼,大約需要多長時間?

里奇:我怎麼會知道,我又沒學過C。。。。


高爺爺(Donald Knuth)有個編譯器的男人測試嘛。。

http://en.m.wikipedia.org/wiki/Man_or_boy_test


圖靈

 圖靈在「布雷契萊園」工作期間,騎一輛舊自行車上下班。那輛車經常掉鏈子,圖靈卻懶得修理。他發現只要騎到一定的圈數,鏈子就會掉下來,於是每次騎車時他都計算圈數,在鏈子將要掉下的瞬間剎車,倒一下腳蹬,然後上車再騎。後來他設計出一個計數器,裝在腳蹬旁,提醒他下車倒腳蹬。

  二戰時,德軍飛機經常轟炸倫敦,英國人紛紛取出銀行存款放在家中。圖靈將存款兌成兩個大銀錠,埋在兩處樹叢中,並繪製了一份「藏寶圖」。沒想到,戰爭結束後,在德軍的狂轟濫炸下,許多「參照物」消失了,圖靈費了很多工夫也沒找到銀錠。他自製了一台金屬探測器,在樹叢中搜來搜去,還是找不到銀錠。


資料庫領域的上一代大牛 Peter Buneman(http://homepages.inf.ed.ac.uk/opb/),研究理論計算機科學和資料庫理論,當然包括演算法複雜度和資料庫複雜度那些領域。他的個人主頁上寫著,Im not easy to find, but some clever people at CMU have figured out how to find me in polynomial time.

鏈接打開一看是這麼一張圖:

看不懂但好像很厲害的樣子。難道真有人用他作例子研究演算法?再點進去一看,是說Buneman graph。雖然不知道是什麼但和peter本人完全沒有關係好不好。。。這冷笑話太冷了好不好。


我講個von Neumann(馮·諾依曼)的吧,應該也算是計算機領域大牛了吧。

有次von Neumann碰到別人問他一個中國小學生都很熟的問題,就是兩個人相向而行,中間有一隻狗跑來跑去,問兩個人相遇之後,狗跑了多遠。這個應該怎麼做呢?應該先求出相遇的時間,再乘狗的速度。

作為大牛的von Neumann自然沒有讓我們失望,瞬間給出了答案。提問的人說哈哈你以前一定知道算這種問題的訣竅吧,指的就是上面說的小學生作法。

von Neumann說:「算這個有訣竅?我的方法是把狗每次跑的都算出來,然後算出那個無窮的級數……。」


1.

隱私的終結? (豆瓣)

講述現代密碼學誕生的過程, 涉及Whitfield Diffie, Martin Hellman, 當然還有Ron Rivest, Adi Shamir, Leonald Adleman, 也就是傳說中的DH和RSA, 自然也少不了NSA和GCHQ. 看完之後, 我就被這種情懷忽悠進密碼學了.

PS:雖然有人批評記者(如這個作者)做這些科普, 是有偏差的, 是導致美國科學崇拜和無知蔓延的一大誘因. 但就這本書來講, 還是反映出了未知路上的自我否定與自我懷疑, 以及來自NSA等安全機構的重重壓力和阻力, 自然文筆也好, 我是沒發現有重大事實錯誤.

2.

反欺騙的藝術——世界傳奇黑客的經歷分享 (豆瓣)

反入侵的藝術——黑客入侵背後的真實故事 (豆瓣)

傳奇黑客Kevin Mitnick的&和&體現了計算機安全發展早期他和其他黑客攻擊的"藝術", 可以由此拂去早期黑客的神秘面紗.PS:怎麼清華出版社再版後, 名字都改了...明明是欺騙/入侵的藝術.


推薦閱讀:

從 0 開始學習 GitHub 系列之【如何發現優秀的開源項目?】
未來我們該學什麼語言?
面向對象的哲學思考

TAG:編程 | 計算機 | 科學史 | 奇聞軼事 |