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