高德納(Donald E. Knuth),美國著名計算機科學家,斯坦福大學計算機系榮譽退休教授。Donald Knuth 的中文名“高德納”是1977年訪問中國時,姚期智夫人儲楓所取。姓高是因為他身材高大,德納是 Donald 的音譯。
高德納在若干理論計算機科學領域做出了突出貢獻,使我們可以從數學上定量地分析演算法的效能,而不僅僅是透過在具體機器和資料上進行試驗,是演算法分析領域的開創人之一,被稱作演算法分析之父。
“計算機程式設計是一種藝術形式,就如同人們譜寫詩歌和音樂。”
——高德納
早在1957年,高德納已經開始寫程式,當時使用的是十進位制機器語言,讓機器玩兒三連棋遊戲(TicTacToe),可謂是最早形態之一的“機器學習”。在當時的技術限制下,高德納還是使用了三種不同的演算法程式設計,他稱之為“大腦1、2、3號”。大腦1隨機移動,大腦2遵循預設演算法以達到最優解,大腦3嘗試學習怎樣擊敗1和2。結果證明,大腦3的打法得到了穩步提升,直到大約600場比賽後收斂,達到一個安全的平局(safe draw)。“完成這個程式之後,我覺得我懂得如何程式設計了。”高德納如此說。
高德納是鉅著《計算機程式設計藝術》(The Art of Computer Programming)的作者,計劃撰寫7卷,現接近完成第4卷,第5卷預計於2025年完成。這部書從源頭介紹計算機演算法,涵蓋了演算法分析領域最重要、最基礎的內容。高德納從1962年起即開始撰寫,之後為全力完成此書,於1990年開始停用電子郵件(他從1975年開始用電子郵件),並於1993年提早退休。他現以完成這部書為餘下人生的主要目標。
photo of TAOCP, 1968–2015, by Héctor García-Molina
因在演算法分析和程式語言設計領域做出的奠基性貢獻,特別是撰寫系列書籍《計算機程式設計藝術》,高德納獲得了1974年圖靈獎、美國國家科學獎章、馮·諾依曼獎章等一系列重要獎項,但他卻以一種超然的態度面對這些榮譽。當年的圖靈獎盃已被他當做了盛放水果的果盤。
高德納還是排版引擎 TeX 的作者,後來發展成為 LaTeX,成為了學術出版的標準工具。這套排版系統可以生成優美的帶有專業數學公式排版,所涉及不僅是一種科學,更是一種藝術。1989年,高德納選擇將 TeX 排版系統開源釋出,這比後來的開源風潮早了整整十年。
高德納對藝術的追求體現在多個方面。他在音樂方面也頗有造詣,是一位管風琴演奏家和作曲家。2016年,他完成了一部管風琴音樂劇《幻想啟示錄(Fantasia Apocalyptica)》,該劇於2018年在瑞典演出。
軼事分享
高納德曾經公開承諾,如果有人發現他書中有任何問題或錯誤,一經證實,他會獎勵發現者2.56美元。為什麼是2.56美元呢?因為256美分是十六進位制的1美元。麻省理工學院《科技評論》稱高納德的獎勵是“計算機界最珍貴的戰利品之一”。2008年,因銀行欺詐等原因,高納德不得不停止發放真實支票。現在,高納德會給每位錯誤發現者發放一張其成立的虛擬銀行 Bank of San Serriffe 的存款證明。
參考資料
[1] https://www-cs-faculty.stanford.edu/~knuth/index.html
[2] https://en.wikipedia.org/wiki/Donald_Knuth
[3] https://thenewstack.io/donald-knuth-on-machine-learning-and-the-meaning-of-life/
[4] https://zhuanlan.zhihu.com/p/75180572
[5] http://tech.sina.com.cn/csj/2020-05-16/doc-iirczymk1896598.shtml