AlphaGo鼻祖的力量!影響計算機(jī)算法世界的十位大師
最近,谷歌人工智能機(jī)器人AlphaGo大戰(zhàn)韓國圍棋大師李世石的新聞成了大熱門,“阿法狗”之所以能夠多次戰(zhàn)勝李世石,歸根結(jié)底是它的算法好。那么谷歌人工智能有今天的成就應(yīng)該向誰致敬呢?IT之家認(rèn)為AlphaGo最應(yīng)該膜拜的應(yīng)該是以下10位計算機(jī)算法祖師。
《影響計算機(jī)算法世界的十位大師》原文寫于2006年。
1、偉大的智者——Don E.Knuth,中文名:高德納
(1938-)算法和程序設(shè)計技術(shù)的先驅(qū)者。Oh,God!一些國外網(wǎng)站這樣評價他。一般說來,不知道此人的程序員是不可原諒的。其經(jīng)典著作《計算機(jī)程序設(shè)計藝術(shù)》更是被譽(yù)為算法中“真正”的圣經(jīng),像KMP和LR(K)這樣令人不可思議的算法,在此書比比皆是。難怪連Bill Gates都說:“如果能做對書里所有的習(xí)題,就直接來微軟上班吧!”
對于Don E.Knuth本人,一生中獲得的獎項和榮譽(yù)不計其數(shù),包括圖靈獎,美國國家科學(xué)金獎,美國數(shù)學(xué)學(xué)會斯蒂爾將(AMS Steel Prize),以及發(fā)明先進(jìn)技術(shù)榮獲的極受尊重的京都獎(KyotoPrize)等等,寫過19部書和160余篇論文,每一篇著作都能用影響深遠(yuǎn)來形容。Don E.Knuth也被公認(rèn)是美國最聰明的人之一。當(dāng)年他上大學(xué)的時候,常寫些各種各樣的編譯器來掙外快,只要是他參加的編程比賽,總是第一名,同時也是世上少有的編程達(dá)到40年以上的程序員之一。他除了是技術(shù)與科學(xué)上的泰斗外,更是無可非議的寫作高手,技術(shù)文章堪稱一絕,文風(fēng)細(xì)膩,講解透徹,思路清晰而且沒有學(xué)究氣,估計這也是《計算機(jī)程序設(shè)計藝術(shù)》被稱為圣經(jīng)的原因之一。
2、首席算法官Udi Manber
世界上還有如此奇怪的職位?但是對于Amazon乃至Google來說,這一點也不奇怪。Udi Manber,這位前Amazon的“首席算法官”,現(xiàn)在是Google負(fù)責(zé)工程事務(wù)的副總裁。他研究WWW的應(yīng)用程序、搜索以及隱藏在這背后的算法設(shè)計。在此期間,他與其他人共同開發(fā)了Agrep、Glimpse和Harvest等Unix上的搜索軟件。1998年,Udi成為了Yahoo!的首席科學(xué)家。2002年,Amazon創(chuàng)造性地給了Udi“首席算法官”的職位,和Udi為Amazon的“SearchInside the Book”搜索項目所做的工作相得益彰。
Udi還因為他所著的Introduction to Algorithms——A Creative Approach而被大家稱道。
3、謙遜的長者——Edsger Wybe Dijkstra
1930年出生于荷蘭阿姆斯特丹,2002年逝世于荷蘭紐南。他在祖國荷蘭獲得數(shù)據(jù)和物理學(xué)學(xué)士,理論物理博士學(xué)位,2000年退休前一直是美國Texas大學(xué)的計算機(jī)科學(xué)和數(shù)學(xué)教授。以發(fā)現(xiàn)了圖論中的最短路徑算法(Dijkstra算法)而聞名于世,1972年因為ALGOL第二代編程語言而獲得圖靈獎。“Go To StatementConsidered Harmful”(EWD215)也是被廣為傳頌的經(jīng)典之作。除了科學(xué)研究之外,他最喜歡做的事情就是教學(xué),被人稱作“一天教學(xué)24小時”的教授。
且不說Dijkstra算法對計算科學(xué),網(wǎng)絡(luò)科學(xué)發(fā)展的深遠(yuǎn)影響,單從他在1972年獲得圖靈獎時的演講“The Humble Programmer”就不得不肅然起敬,在獲得計算機(jī)科學(xué)中至高無上的獎項時,Edgs Wybe Dijkstra仍然稱自己不過是一個謙遜普通的程序員,何等胸襟,舉世之中幾人可比。
4、運籌學(xué)大師——George Dantizig
可謂是由父親一手培養(yǎng)出的天才。George的父親是俄國人,曾在法國師從著名的科學(xué)家Henri Poincare。他曾經(jīng)這樣回憶自己的父親:“在我還是個中學(xué)生時,他就讓我做幾千道幾何題……解決這些問題的大腦訓(xùn)練是父親給我的最好禮物。這些幾何題,在發(fā)展我分析能力的過程中,起了最最重要的作用。”
在伯克利學(xué)習(xí)的時候,有一天George上課遲到,只看到黑板上寫著兩個問題,他只當(dāng)是課堂作業(yè),隨即將問題抄下來并做出解答。六個月后,這門課的老師——著名的統(tǒng)計學(xué)家Jerzy Neyman——幫助他把答案整理了一下,發(fā)表為論文,George這才發(fā)現(xiàn)自己解決了統(tǒng)計學(xué)領(lǐng)域中一直懸而未決的兩個難題。
George后來在運籌學(xué)建樹極高,獲得了包括“馮諾伊曼理論獎”在內(nèi)的諸多獎項。他在Linearprogramming and extensions一書中研究了線性編程模型,為計算機(jī)語言的發(fā)展做出了不可磨滅的貢獻(xiàn)。天妒英才,他于2005年5月13日去世。
5、推動時代前進(jìn)的人——James Cooley
(1926-)美國數(shù)學(xué)家,哥倫比亞大學(xué)的數(shù)學(xué)博士,以他所創(chuàng)造的快速傅立葉變換(FFT)而著名,不能不說是意義極其重大,F(xiàn)FT的數(shù)學(xué)意義不光在于使大家明白了傅立葉(Fourier)變換計算起來是多么容易,而且使得數(shù)字信號處理技術(shù)取得了突破性的進(jìn)展,對于現(xiàn)在的網(wǎng)絡(luò)通信,圖形圖像處理等等領(lǐng)域的發(fā)展與前進(jìn)奠定了基礎(chǔ)。Fourier變化的意義在于將電能變?yōu)榱斯I(yè)的命脈,而FFT的意義更是在于他推動了整個社會信息化的進(jìn)程。在IBM研究中心中主要從事數(shù)字信號處理的研究一直到1992年退休,同時他還是IEEE的數(shù)字信號處理委員會的成員。1980年獲得ASSP’s Meritorious Service Award,1984年獲得ASSP Society Award以及IEEE Centennial Medal。
6、FORTRAN 之父——John Backus
早年在Hill School學(xué)習(xí)的時候因為討厭學(xué)習(xí),成績一踏糊涂而不得不在暑假補(bǔ)課。1943年他在父親的要求下到維吉尼亞大學(xué)學(xué)習(xí)化學(xué),隨后參軍、照顧頭部受傷的傷員、在醫(yī)學(xué)學(xué)校學(xué)習(xí)治療,可是最后又都放棄了。不過還好,戰(zhàn)后Backus進(jìn)入紐約哥倫比亞大學(xué)學(xué)習(xí)數(shù)學(xué),并于1949年畢業(yè)。在畢業(yè)前夕,他跑到了麥迪遜大街的IBM計算機(jī)中心參觀。事情湊巧,和導(dǎo)游聊天的時候Backus談到自己正在找工作,在導(dǎo)游的鼓勵下,他和中心一位主管的面談,成為了一名IBM?的程序員。
在IBM,Backus的才華得到了施展,發(fā)明了人類歷史上第一個高級語言——FORTRAN。接著,又提出了規(guī)范描述編程語言語法的BNF。這位當(dāng)年的“差生”終于被整個計算機(jī)世界肯定——美國計算機(jī)協(xié)會于1977年授予John Backus圖靈獎。
7、實踐探索先鋒——Jon Bentley
1974年獲得了斯坦福大學(xué)的學(xué)士學(xué)位,1976年獲得北卡羅萊納大學(xué)的碩士和博士學(xué)位。畢業(yè)后在卡耐基梅隆大學(xué)教授了6年計算機(jī)科學(xué)課程,1982年進(jìn)入貝爾實驗室。2001年退休后加入了現(xiàn)在的Avaya實驗室,他還曾作為訪問學(xué)者在西點軍校和普林斯頓大學(xué)工作。他的研究領(lǐng)域包括編程技術(shù)、算法設(shè)計、軟件工具和界面設(shè)計等等。
他寫作過三本編程書籍,其中最著名的就是涵蓋從算法理論到軟件工程各種主題的Programming Pearls(《編程珠璣》),這其實是他發(fā)表過的文章的合集。在這些文章里,Jon從工程實現(xiàn)的角度出發(fā),為程序員們提供了一個個艱難問題的解決方案,猶如一顆顆閃閃發(fā)亮的珍珠。Bentley的珍珠超出了可靠工程學(xué)的范疇,利用他的洞察力和創(chuàng)造力為那些惱人的問題提供了獨特而巧妙的解決方案。
8、Pascal之父——Nicklaus Wirth
如果說有一個人因為一句話而得到了圖靈獎,那么這個人應(yīng)該就是NicklausWirth,這句話就是他提出的著名公式“算法+數(shù)據(jù)結(jié)構(gòu)=程序”。這個公式對計算機(jī)科學(xué)的影響程度足以類似物理學(xué)中愛因斯坦的“E=MC^2”——一個公式展示出了程序的本質(zhì)。
Nicklaus Wirth,1934年出生于瑞士,1963年在加州大學(xué)伯克利分校取得博士學(xué)位。取得博士學(xué)位后直接被以高門檻著稱的斯坦福大學(xué)聘到剛成立的計算機(jī)科學(xué)系工作。在斯坦福大學(xué)成功的開發(fā)出Algol W以及PL360后,愛國心極強(qiáng)的Nicklaus Wirth于1967年回到祖國瑞士,第二年在他的母校蘇黎世工學(xué)院他創(chuàng)建與實現(xiàn)了Pascal語言——當(dāng)時世界上最受歡迎的語言之一。后來他的學(xué)生Philipe Kahn畢業(yè)后和Anders Hejlsberg(Delphi之父)創(chuàng)辦了Borland公司靠Turbo Pascal起家,很快成為了將Borland發(fā)展成為全球最大的開發(fā)工作廠商,這一切都不得不說要歸工于PASCAL語言的魅力。PASCAL已經(jīng)影響了整整幾代的程序員,Nicklaus Wirth的思想還將會繼續(xù)指引現(xiàn)在和以后的程序員前進(jìn)的方向。
9、算法的講解者——Robert Sedgewick
是普林斯頓大學(xué)的計算機(jī)科學(xué)教授。他還是Adobe Systems的一名主管,也曾作為訪問學(xué)者在Xerox PARC、IDA和INRIA工作。他在斯坦福大學(xué)獲得博士學(xué)位。他的著作包括Algorithm in C、Algorithm in C++、Algorithm in Java等系列書籍,這些都再版多次。“沒有人能夠?qū)⑺惴ê蛿?shù)據(jù)結(jié)構(gòu)解釋得比Robert Sedgewick更清楚易懂了!”很多讀過他著作的程序員這樣說。
目前Robert正在研究算法設(shè)計、數(shù)據(jù)結(jié)構(gòu)、算法分析等方面的基礎(chǔ)理論。他善于通過數(shù)學(xué)方法評估和預(yù)測算法性能,設(shè)法發(fā)現(xiàn)算法、數(shù)據(jù)結(jié)構(gòu)的通用機(jī)制,例如使用逼近方法尋找更快速更高效的算法。另外,他還將算法和圖形學(xué)結(jié)合起來,例如使用可視化方法評估算法效率,算法的圖形化模擬,用于出版物的高質(zhì)量算法表現(xiàn)方法等等。
10、計算機(jī)領(lǐng)域的爵士——Tony Hoare
1934年出生于英國,1959年博士畢業(yè)于俄羅斯莫斯科國立大學(xué),獲得語言機(jī)器翻譯專業(yè)學(xué)士學(xué)位。1960年發(fā)布了使他聞名于世的快速排序算法(Quick Sort),這個算法也是當(dāng)前世界上使用最廣泛的算法之一。
Tony Hoare在取得博士學(xué)位后,就職于Elliott Brothers,領(lǐng)導(dǎo)了Algol 60第一個商用編譯器的設(shè)計與開發(fā),由于其出色的成績,最終成為該公司首席科學(xué)家。從1977年開始,Tony Hoare博士任職于牛津大學(xué),投身于計算系統(tǒng)的精確性的研究、設(shè)計及開發(fā)。因其對Algol 60程序設(shè)計語言理論、互動式系統(tǒng)及APL的貢獻(xiàn),1980年被美國計算機(jī)協(xié)會授予“圖靈獎”。
1999年在牛津大學(xué)退學(xué)后,Tony Hoare博士被微軟劍橋研究院聘請擔(dān)任高級程序員,從事微軟劍橋研究院研究生成果的工業(yè)化應(yīng)用的工作,以及協(xié)助其它研究人員進(jìn)行服務(wù)于軟件產(chǎn)業(yè)及用戶的長期基礎(chǔ)研究項目。2000年因為其在計算機(jī)科學(xué)與教育上做出的貢獻(xiàn)被封為爵士。