成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高德納(Donald E. Knuth)的二十年計劃

企業(yè)動態(tài)
高德納已經(jīng)五十八歲了。 他打算再花二十年的時間繼續(xù)他的著作。

高德納已經(jīng)五十八歲了。 他打算再花二十年的時間繼續(xù)他的著作,The Art of Computer Programming. 大家知道 Donald E. Knuth 是資訊科學(xué)界公認的大宗師, 知道他以他的重量級著作 The Art of Computer Programming(以下簡稱TAOCP)[2,3,4] 聞名于世,原計劃要出七冊,但目前只完成了三冊。但也許并沒有很多人知道他還有個中文名字:“高德納”。

TAOCP 這套書的名氣這么大,敢去碰它的人反倒不多。寒假我因為一些原因,讀了高德納的另一本書 "The Stanford GraphBase"[1]。大師的書到底是什么樣子呢?

高德納在序言里說了寫這本書的原因:在寫 TAOCP 的第四冊前, 他想要用一個叫做 ladders 的游戲當(dāng)作貫穿全書的例子。 于是寫了不少相關(guān)的程式和龐大的測試資料,***集結(jié)成了一個程式/資料庫。 他想這套 GraphBase 可以作為大家測試 graph 演算法的基礎(chǔ),讓那些 “街上混的程式員們 (programmers-on-the-street)” 知道電腦科學(xué)家們也會做實際的事。另外,這套程式庫全部用他鼓吹的 literate programming 方式寫成,也可以當(dāng)成一個活生生的例子。***一個,但卻是最重要的原因是,"to have fun".“的確,快樂是這一路上最主要的原因,但我不敢承認。電腦科學(xué)家們總是得裝出一副咬牙工作的樣子,讓別人心甘情愿付給他們高薪水。但遲早這個社會得承認, 有些工作仍然值得尊敬 --- 即使它們比任何事情都要來得有趣?!?/P>

我不禁笑了。高德納在辦正事的途中岔出去做別的事情,一做就是好幾年已經(jīng)不是***次。TeX 這個現(xiàn)在大家都在用的排版系統(tǒng)不就是他嫌 TAOCP 被排得不好看, 因此自己卷起袖子研究電腦排版的產(chǎn)物嗎?Tex 耗去了他十年的光陰,而這本 Stanford GraphBase 則可以追溯到二十年前。高德納好像永遠不怕老?

Ladders 這個游戲是這樣的:挑兩個五個字母的英文單字,試試看一次一個字母,把一個字變成另外一個。但是在過程中它必須仍然是一個英文單字。比如說把 black 變成 white 的方法是這樣的:black -> brack -> brace -> trace -> trice -> trite -> write -> white

大家看得出來,如果把每個單字當(dāng)作一個 node, 兩個單字如果只差一個字母,就連一條 edge, 那么這個游戲可以想成在兩個 node 中找一條 path 。

但 GraphBase 有趣的地方卻是資料。 高德納收集了一個含 5757 個單字的資料庫。他參考了 1971 年以前 Beeler 為了這個游戲?qū)iT編的一部字典,刪去老的字,加入新的單字。高德納花了很大篇幅解說他選字的標準:姓名不選,所以 Knuth 就沒有了;但是 gauss 已經(jīng)是一個電磁學(xué)單位,所以受錄了進去。他很耐心的等到 e-mail 終于被大家寫成 email, 以便把他收集到資料庫中。

接下來就開始玩這個資料庫啰。高德納發(fā)現(xiàn) 5757 個單字中,有 774個 degree 是 1 的(只有一根接出去的 edge),位居***。Degree= 2 的也有 727 個。株連最廣的單字是 "bares" 和 "cores" , degree = 25,而 "cores" 的 25 個鄰居都是 degree 大于 9 的。 Degree = 1 的單字中有 103 組根本就是孤零零的兩兩成對,如 alpha-aloha, gonad-monad. 跑一個找 connected component 的演算法,發(fā)現(xiàn)大部分的單字都在同一個有 4493 個單字的大 component 里面。

高德納自己定了一個方法橫量單字在文章中的出現(xiàn)頻率。 在這 5757個單字中,"which" 是最常出現(xiàn)的, 其次是 "there" 和 "their"。"often" 果然常出現(xiàn),比出現(xiàn)("occur") 還要常出現(xiàn)。

看來高德納真的是玩得不亦樂乎呢。"to have fun", 于是我們可以想像高德納出這本書的真正原因,是他自己建了這些資料后,發(fā)現(xiàn)越玩越有趣,終于忍不住想出書了。

玩過了單字,想知道美國大學(xué)足球隊誰比較強嗎?高德納已經(jīng)把 120支隊伍的 638 場比賽建成 graph 了。 他又參考資料, 找出美國的128 個城市之間的最短距離,并且在發(fā)現(xiàn)前人的資料明顯錯誤后自己寫程式來修正。把蒙娜麗莎的微笑掃描起來后,高德納示范了如何運用 bipartite graph matching 的技巧,用骨牌重新拼出這幅名畫。

高德納的文筆親切而幽默。CWeb 是他大力推廣的 literate programming 系統(tǒng),他認為每個人都應(yīng)該有一套。 “但是今天已經(jīng)沒什么人能永遠跟上新軟體的發(fā)行,所以如果你沒有 CWeb,也不用覺得太有罪惡感。” 接下來他解釋如何安裝 Stanford GraphBase, 這一段的makefile 可以給想學(xué) make 的同學(xué)們做很好的參考。 如果裝不起來呢?高德納問,你有沒有好好祈禱呀?***,他希望大家能像他一樣,多用這些程式庫和資料檔做些實驗,“也許有天你也會迫不及待地想出本這樣的書呢!”

瀏覽了全書,我想:高德納到底是太閑,還是有用不完的精力?將近六十歲的他,仍舊充滿著旺盛的活力和赤子般的好奇心,而這一切又以他深厚的功力做為基礎(chǔ)。

四月號的 Dr. Dobb's Journal 做了一篇高德納的專訪[5]。 為什么寫書寫到一半, 卻花了十年的時間在 Tex 上? 他說, Niklaus Wirth (Pascal, Modular-2 和 Oberon 的設(shè)計者)一直想設(shè)計飛機,但他發(fā)現(xiàn)他需要夠好的工具,于是他設(shè)計了一個個的電腦語言,造了自己的電腦。高德納也希望他的書能夠不因科技的進步而被淘汰,希望即使制書的科技進步,他的書仍舊是用領(lǐng)先的方式制作的。

談到另一位大師 Edsgar Dijkstra, 他說 Dijkstra 的力量來自于他不妥協(xié)的拗脾氣?!肮馐窍胂裼?C++ 寫程式就會讓他病倒!”Dijkstra 的拿手技巧是鉅細靡遺地用 formal 方法推導(dǎo)、檢驗程式, 這和工業(yè)界不斷產(chǎn)生數(shù)以 mega 計的軟體, 但使用者卻無時不負擔(dān)著 bug 的風(fēng)險的實際情況顯然有段差距。高德納則認為自己位于兩種極端的中間。一方面他贊同 formal 方法提供的可靠性,但他也知道在大系統(tǒng)中這種方式的極限。他盡力維持他的軟體的品質(zhì),因此他愿意提供賞金給在 TeX 中找到新 bug 的人。

由于高德納已經(jīng)不用 email 了,他有一個 Web page[6],http://www-cs-faculty.Stanford.EDU/~knuth/ 里頭還有個 FAQ, 可以看到他中文名字的圖章。大家劈頭要問的當(dāng)然是:第四冊什么時候出來呀?

他說,TAOCP的第四冊將會分成三部份,4A : Enumeration and Backtracking, 4B : Graph and Network Algorithms 和 4C : Optimization and Recursion. 從 1997 年開始,他會以大約每 128 頁為一個單位(高德納好像很喜歡用 2 的乘冪做單位,他付給找出 TAOCP中錯誤的賞金也是 $65536 分)把第四冊的部份散發(fā)給大家,聽取各方的意見。如果一切順利,第四冊將在2003 年正式完成。第五冊的完成時間則定在 2009 年。第五冊告一段落后,他會重新整理 TAOCP的一到三冊,更新內(nèi)容。再下一步,他將把一到五冊的重要內(nèi)容全部濃縮在一本書里。之后才著手進行六和七冊。所以,高德納至少得活到 2020 年啰....

為了完成 TAOCP, 高德納已經(jīng)退休,過著半隱士的生活。 他不用 e-mail, 不怎么會見訪客, 取消大部分的演講和旅行。 他說,他得用 batch 方式工作,而不能把事情 swap 來 swap 去的。他托人在家里造了一座管風(fēng)琴,空閑的時間里,他就會彈彈琴自娛。如果你會彈琴,他很愿意和你見個面,來個四手聯(lián)彈。

為什么那么賣力呢? 在DDJ的專訪里, 當(dāng)被問到他是否能從 Tex 和 Metafont 圖利時, 他說,一旦一個人能夠喂飽自己,能夠有個安身之所,剩下的就是他能為別人做些什么,如何能為群體做出一些貢獻了。

因此他很希望程式創(chuàng)作者們不要把演算法當(dāng)作自己的私產(chǎn)。程式應(yīng)該容易閱讀和了解,因為越多人能夠了解它,它才能夠發(fā)揮越大的影響力。

也許他也是基于這個想法繼續(xù) TAOCP 的寫作吧? 在他的 web page 中,對于他的這件“此生的大事”,他下了這樣的注腳:“我嘗試著盡我所能的去學(xué)習(xí)電腦科學(xué)里的一些領(lǐng)域,然后把這些知識摘要成大家比較容易了解的方式,讓沒有那么多時間做這種學(xué)習(xí)的人也能夠吸收他們”。

為了這個目的,他必須閱讀超過二十萬頁的文件,然后把它們濃縮到兩千頁里頭。他寫的東西并不是***的,但他希望他能從日新月異的新技術(shù)中,萃取出值得存活到下個世紀的東西。

不禁想起前陣子同學(xué)討論到的話題:專家是訓(xùn)練有素的狗嗎?我們該不該成為專家?高德納毫無疑問地是個專家,但他的大師學(xué)養(yǎng)和風(fēng)范也許能給我們不少啟發(fā)。

Reference

[1] Donald E. Knuth, The Stanford GraphBase : A Platform for Combinatorial Computing, Addison-Wesley, 1993

[2] Donald E. Knuth, The Art of Computer Programming, Vol 1 : Fundamental Algorithms, Addison-Wesley, 1973

[3] Donald E. Knuth, The Art of Computer Programming, Vol 2 : Seminumerical Algorithms, Addison-Wesley, 1973

[4] Donald E. Knuth, The Art of Computer Programming, Vol 3 : Sorting and searching, Addison-Wesley, 1973

The Art of Computer Programming 有日文,俄文,西班牙文等許多國的版本。

其中,中文版資料如下

Chinese translation by Guan JiWen and Su YunLin, Pei Xue He Cha Zhao,

Beijing: Defense Industry Publishing Co., 1985

[5] Jack Woehr, An interview with Donald Knuth, Dr. Dobb's Journal, April 1996, p16-p22

[6] Donald E Knuth's WWW Page : http://www-cs-faculty.Stanford.EDU/~knuth/

http://www.geekchic.com/repliq6.htm 也有一篇小小的訪問。高德納最喜歡的語言是 CWeb, 最喜歡的運動是棒球,認為有許多人是他值得崇敬的。高德納將在最近將他的論文以更淺顯的方式整理過后,重新集結(jié)出版。這套書的預(yù)定讀者并不是電腦科學(xué)的專家,似乎很值得一讀。這套書將有八本,前兩冊已經(jīng)出版:

[7] Literate Programming, Stanford, California: Center for the Study of Language and Information, 1992

[8] Selected Papers on Computer Science, Stanford's Center for the Study of Linguistics and Information and Cambridge University Press, spring, 1996

[9] Selected Papers on Analysis of Algorithms, to be published

[10] Selected Papers on Computer Languages, to be published

[11] Selected Papers on Design of Algorithms, to be published

[12] Selected Papers on Digital Typography, to be published

[13] Selected Papers on Discrete Mathematics, to be published

[14] Selected Papers on Fun and Games, to be published
 

【編輯推薦】

  1. 谷超豪孫家棟獲09年度國家***科技獎
  2. 鮑爾默CES開場演講:2010將是最重要一年
  3. 數(shù)字十年大幕落下 蓋茨預(yù)言大多成真
責(zé)任編輯:張攀 來源: csdn博客
相關(guān)推薦

2015-03-06 09:36:42

雅虎移動

2011-08-22 10:04:31

LAMP架構(gòu)

2015-08-17 08:56:45

二十年前游戲開發(fā)開發(fā)

2015-08-17 09:45:15

開發(fā)游戲

2011-08-22 13:23:38

AndroidLinuxLinux內(nèi)核

2014-08-29 10:21:15

APM應(yīng)用性能管理

2010-05-07 10:40:02

惠普ProLiant云計算

2010-01-12 10:24:25

高德納

2010-03-25 10:16:50

Oracle Berk

2015-05-06 11:12:56

思科錢伯斯

2021-02-05 20:00:03

國產(chǎn)操作系統(tǒng)操作系統(tǒng)

2020-02-11 15:32:59

2020-04-08 11:44:13

數(shù)字供應(yīng)鏈攻擊網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全

2011-05-24 09:08:02

VB

2011-08-30 11:04:06

里程碑Linux

2017-12-04 15:12:41

IT 運維

2013-07-30 14:45:36

Linux超級計算機

2016-02-18 10:02:57

Windows開始菜單微軟

2014-05-08 15:35:06

思科

2018-09-04 23:19:00

Google 開源技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区天堂 | 免费日韩av网站 | 日韩欧美一区二区三区免费观看 | 一区二区三区亚洲精品国 | 我我色综合 | 久久久久久99 | 欧美99| 精品视频久久久久久 | 日韩一级| 户外露出一区二区三区 | 免费看a| 成人免费视频在线观看 | 免费一级毛片 | 免费在线观看一区二区三区 | 国产九九精品 | 亚洲一区二区在线免费观看 | 国产免费一区 | 欧美一级二级视频 | a级片在线| 成人福利片| 精品欧美一区二区三区久久久 | 国产精品射| 久操伊人 | 免费久久久久久 | 天天玩天天干天天操 | 欧洲视频一区 | 成人在线日韩 | 亚洲一级淫片 | av免费网站在线观看 | 中文字幕一区二区三区不卡 | 国产色婷婷久久99精品91 | 午夜视频一区二区 | 国产午夜精品一区二区三区四区 | 精品国产乱码久久久久久影片 | 国产精品一区二区久久久久 | 毛片99 | 国产成人一区二区三区久久久 | 日韩一区二区三区在线观看视频 | 天天干夜夜操 | 91中文字幕在线 | 免费黄色a视频 |