這套書他寫了50年,程式史上最重要神作「電腦程式設計藝術」第四卷B新的章節預覽釋出
這套書他寫了50年,程式史上最重要神作「電腦程式設計藝術」第四卷B新的章節預覽釋出
2017.01.25 | 產品

或許你不知道高德納(Donald Ervin Knuth)是誰,甚至可能沒有讀過他的著作。但是事實上任何資工科系的學生,現在在學校裡頭所念的課本,裡頭的內容多少都是他的著作的翻譯以及翻譯的再翻譯。甚至可以說,整個電腦史上如果沒有他,可能現在的演算法走向就會完全不一樣。

高德納,史丹佛大學的電腦係榮譽退休教授,是現代電腦科學以及現代數學的大師級人物,尤其是在演算法領域可以說為後人奠定了基礎,現代我們學習演算法中有一個字串搜尋演算法「Knuth–Morris–Pratt」,就是他與學生的合作發明。

他早在1962年還是研究生的時候就已經從事程式設計,而在他攻讀博士學位的時候,就有人找他撰寫程式設計相關的書籍。但是當時他課業繁忙,一直到1968年,才開始出版他的著作,也就是至今被程式設計史上列為經典的「電腦程式設計藝術」(The Art of Computer Programming)。

The Art of Computer Programming.png
圖/ T客邦

TAOCP被美國科學家期刊列為與相對論、博奕論、量子力學等重量級學術作品並駕齊驅的科學史上最重要著作,李開復也說過,要把資料結構、演算法、資料庫、作業系統原理、離散數學等基礎課程學好,就去練習TAOCP裡面的題目。甚至比爾蓋茲在1995年的時候還建議新鮮人「如果你能讀懂整套書的話,請發給我一份你的履歷。」

TAOCP一書的出版過程也是電腦書籍出版史上的一個傳奇,前面說在1962年就有出版社跟他約稿,當時他回答課業繁忙,四年之後出版社問他書寫的怎麼樣,他回答「才寫了3000多頁...」讓編輯大吃一驚,他們只想要出一本電腦基礎的書本,但是高納德把這本書的規格提高到前所未有的高度。

而這三千多頁的內容,僅僅只是整套TAOCP的一章。

而從1968年到1973年,這本書出到了第三部,在這期間他已經是史丹佛大學的教授,而這三部書也被電腦界已經視為是經典之作,在1974年他才36歲就以這套書獲得了美國電腦界最高成就的圖靈獎,為至今最年輕的獲獎者。不過,就在這時候,他宣布要暫時停筆,不寫了。理由是當時的「排版工具太爛,無法表現書中的演算法之美」。

於是,接下來的十年,他花了時間去設計了一套論文排版系統TEX,這個系統專門針對適合學術寫作和數學式的排版設計;並且設計了一個字體設計系統METAFONT。值得一提的是,高納德的想法處處與眾不同,TEX的版本開發並不是像一般Windows 2.0、3.0這樣一路往上累進的,而是使用圓周率來當版本開發的代號,TEX3、TEX3.1、TEX3.14......這樣一路往下,不斷逼近圓周率以趨近完美。

而到了1992年,高德納宣布從史丹佛大學退休,並且從此不收Email。理由是希望專心完成整套TAOCP。整套TAOCP預計一共有七冊,每冊的主題如下:

第一冊 - 基礎演算法(Fundamental Algorithms)

  • 第一章 - 基本觀念(Basic concepts)
  • 第二章 - 資訊結構(Information structures)

第二冊 - 半數值演算法(Seminumerical Algorithms)

  • 第三章 - 隨機數(Random numbers)
  • 第四章 - 算數(Arithmetic)

第三冊 - 排序與搜尋(Sorting and Searching)

  • 第五章 - 排序(Sorting)
  • 第六章 - 搜尋(Searching)

第四冊 - 組合演算法 (Combinatorial Algorithms),準備中(至2009年4月已出版五個分冊),測試版本已上載到Knuth's的網站).

  • 第4A卷, 列舉與回溯(Enumeration and Backtracking)

第七章 - 組合的搜尋(Combinatorial searching)

  • 第4B卷, 圖形與網路演算法(Graph and Network Algorithms)

    • 第七章續(continued)
  • 第4C及4D(可能)卷, 最佳化與遞迴(Optimization and Recursion)

    • 第七章續(continued)
    • 第八章 - 遞歸(Recursion)

第五冊 - 造句演算法(Syntactic Algorithms), 計劃中(預計2020年完成).

  • 第九章 - 語句掃瞄(Lexical scanning)
  • 第十章 - 剖析技術(Parsing techniques)

第六冊 - 與上下文無關語言理論(Theory of Context-Free Languages), 計劃中

第七冊 - 編譯器技術(Compiler Techniques), 計劃中

就跟許多不按牌理出牌的大師一樣,高德納的興趣很廣,從音樂到小說藝術都有。但他最愛的還是程式設計的藝術,以及「做到完美」的信念。

最近高德納在他的網站上發表了他最近的寫作進度,並且披露了最近寫到4B的部分內容,提供了52頁的預覽版

The Art of Computer Programming 01.png
圖/ T客邦

在這部分他主要是延伸了第一卷中第一章以及第二章的數學基礎,並且加入了他表示在1960年代當時的他還不知道的內容。他表示與過去一樣,任何首先發現錯誤以及提出有價值意見的人,他都會寄出獎勵。高納德的獎勵是:每指出一個錯誤,就能得到2.56美元,因為256美分為16進制的1美元。這就是高納德有名的「16進制獎勵」。

此外,高德納最近還很高興的宣布,他在2016年在史丹佛的一場講課,可能是美國大學史上第一場首次用3D VR LIVE直播的講課。

你可以在這段影片中看出,他本人也非常幽默。一開始他就說,這可能是史丹佛有史以來第一場的VR 3D Live直播講課,所以他個人覺得應該邀請一些舞者來這邊開場,他也跟那些在觀看影片的觀眾說,如果你想要感受3D有多Cool,或是確認你看的是不是VR 3D,請你把頭往下低下來。

The Art of Computer Programming02.png
圖/ T客邦

你會看到他在360像機底下,為大家準備了幾本課本。

The Art of Computer Programming03.png
圖/ T客邦

(雖然畫面不是很清楚,不過看起來左邊兩本是TAOCP的日文版、第三本是TAOCP的英文版,至於第四本...可能是與拼圖有關的書,實在看不清楚)

根據高德納的規劃,從他1992年退休至今,他實際上只出了第四冊A(而第四冊還分成A、B、C、D四部!),現在還在努力跟第四冊B努力奮鬥中。而他希望在2020年可以完成第五冊,看來這個時間表真的拖延的有點長。希望今年已經79歲高齡的大師真的要好好照顧身體,把整套書完成啊!

延伸閱讀:向史上最棒的電子電路學課本致敬

其實講到國外的經典課本,除了這套TAOCP之外,過去我們也介紹過,在電子電路學方面,還有另外一本經典課本是由Forrest Mims III所著作的「電子學入門」(Getting Started in Electronics)

The Art of Computer Programming04.png
圖/ T客邦

這本書用的不是冰冷的印刷字體,也不是冷冰冰的電路圖,整本書就像是一個工程師的筆記本,採用手寫字搭配手繪電路圖,深入淺出的幫大家解說電路學的原理。也是值得一看的奇書。

相關報導:向史上最棒的電子電路學課本致敬,自己親手打造出「經典電路」

本文授權轉載自:T客邦

關鍵字: #工程師文化
往下滑看下一篇文章
科技創新守護海洋!犀牛盾以循環創新思維破解塑膠危機、賦能永續未來
科技創新守護海洋!犀牛盾以循環創新思維破解塑膠危機、賦能永續未來

全球每年約生產4億噸塑膠垃圾,只有不到10%有被回收,其中約有1100萬至1400萬噸最終流入海洋。在十分有限的回收量中,約 8 成來自相對單純、流程完整的寶特瓶回收;反觀,同樣是高頻消費品的手機配件,回收率卻不到 1%。這個現象,對長期從事材料研究的犀牛盾共同創辦人暨執行長王靖夫來說,是他反思事業選擇的開端,也是突破的轉捩點。

「手機殼產業其實是塑膠產業的縮影!」他在2025 亞馬遜港都創新日的專題演講上直言。手機殼本質上類似一種快時尚商品,每年有超過十億個手機殼被製造,但產業並未建立材料規範,多數產品混用多種複合塑膠、填料與添加物,既難拆解、也沒有回收機制。結果是,一個重量相當於超過二十個塑膠袋的手機殼,在生命周期終點只能被視為垃圾。

王靖夫指出,連結構複雜的資訊科技產品,回收率都能達 45%,但手機殼明明是最簡單、最應該回收的產品,為什麼無法有效回收?這個命題讓他意識到,與其只做手機殼,不如正面處理塑膠問題本身,從材料設計、製程到後端回收再生,開創循環之道。

犀牛盾共同創辦人暨執行長王靖夫於2025 亞馬遜港都創新日分享犀牛盾如何回應塑膠挑戰、開創循環模式。
犀牛盾共同創辦人暨執行長王靖夫於2025 亞馬遜港都創新日分享犀牛盾如何回應塑膠挑戰、開創循環模式。
圖/ Amazon Web Services 提供

以材料工程打造手機殼的循環力

若塑膠要進入循環體系,前提是「材料必須足夠單純」。王靖夫很快意識到,問題不在回收端,關鍵在最開始的設計端。多數手機殼由多款不同塑膠、橡膠件甚至金屬等複合材料組成,無法被經濟化拆解,也難以透過現有流程再製。為此,犀牛盾在2017年起重新整理產品線,希望借鑑寶特瓶成功循環的經驗,擬定出手機殼應有的設計框架。

新框架以「單 1 材料、0 廢棄、100% 循環設計」為核心,犀牛盾從材料工程出發,建立一套循環路徑,包括:回收再生、溯源管控、材料配方、結構設計、循環製程、減速包裝與逆物流鏈等,使產品從生產到回收的每一階段,皆與核心精神環環相扣。

王靖夫表示,努力也終於有了成果。今年,第一批以回收手機殼再製的新產品已正式投入生產,犀牛盾 CircularNext 回收再生手機殼以舊殼打碎、造粒後再製成型;且經內部測試顯示,材料還可反覆再生六次以上仍維持耐用強度,產品生命週期大大突破「一次性」。

另外,今年犀牛盾也推出的新一代的氣墊結構手機殼 AirX,同樣遵守單一材料規範,透過結構設計打造兼具韌性、耐用、便於回收的產品。由此可見,產品要做到高機能與循環利用,並不一定矛盾。

犀牛盾從材料學出發,實現全線手機殼產品皆採「單 1 材料」與模組化設計,大幅提升回收循環再生效率。
犀牛盾從材料學出發,實現全線手機殼產品皆採「單 1 材料」與模組化設計,大幅提升回收循環再生效率。
圖/ 犀牛盾

海上掃地機器人將出海試營運

在實現可循環材料的技術後,王靖夫很快意識到另一項挑戰其實更在上游——若塑膠源源不斷流入環境,再強的循環體系也只是疲於追趕。因此,三年前,犀牛盾再提出一個更艱鉅的任務:「能不能做到塑膠負排放?」也就是讓公司不僅不再製造新的塑膠,還能把已散落在環境中的塑膠撿回來、重新變成可用原料。

這個想法也促成犀牛盾啟動「淨海計畫」。身為材料學博士,王靖夫將塑膠問題拆為三類:已經流落環境、難以回收的「考古塑膠(Legacy Plastic)」;仍在使用、若無管理便會成為下一批廢棄物的「現在塑膠(Modern Plastic)」;以及未來希望能在自然環境中真正分解的「未來塑膠(Future Plastic)」。若要走向負排放,就必須對三個路徑同時提出技術與管理解方。

其中最棘手的是考古塑膠,尤其是海洋垃圾。傳統淨灘方式高度仰賴人力,成本極高,且難以形成可規模化的商業模式,因此無法提供可持續的海廢來源作為製造原料。為突破這項瓶頸,犀牛盾決定自己「下海」撿垃圾,發展PoC(概念驗證)項目,打造以 AI 作為核心的淨海系統。

王靖夫形容,就像是一台「海上的掃地機器人」。結合巡海無人機進行影像辨識、太陽能驅動的母船作為能源與運算平台,再由輕量子船前往定位點進行海廢收集:目的就是提升撿拾效率,同時也累積資料,為未來的規模化建立雛形。

從海洋到河川,探索更多可能

淨海計畫的下一步,不只是把「海上的掃地機器人」做出來,王靖夫說:「目標是在全球各地複製擴張規模化、讓撿起的回收塑膠真正的再生利用。」也就是說,海上平台終究要從單點示範,走向可標準化、在不同海域與國家部署的技術模組,持續穩定地把海廢帶回經濟體。

犀牛盾CircularBlue™海洋廢棄物過濾平台初號機將出海試營運,盼解決沿岸海洋廢棄物問題。
犀牛盾CircularBlue™海洋廢棄物過濾平台初號機將出海試營運,盼解決沿岸海洋廢棄物問題。
圖/ 犀牛盾

他進一步指出,「其實這套系統不限於海洋,也可以在河川上。畢竟很多海洋垃圾是從河流來的。」未來若能推進到河川與港灣,將塑膠在進海之前就攔截下來,不僅有助於減少海洋污染,回收後的材料也更乾淨、更適合再生,步步朝向終極願景——隨著時間推進,海中垃圾愈來愈少,被撿起、回收後再生的塑膠會越來越多。

「我們已經證明兩件事的可行性:一端是產品的循環設計,一端是 AI 賦能海廢清理的可能性。」王靖夫笑說,塑膠管理命題不只為自己和公司找到新的長期目標,也讓他順利度過中年危機。「選擇改變,留給下一代更好的未來。」他相信,即便是一家做手機殼的公司,也能創造超乎想像的正向改變。

AWS 2025 亞馬遜港都創新日,集結產業先行者分享創新經驗。
AWS 2025 亞馬遜港都創新日,集結產業先行者分享創新經驗。
圖/ Amazon Web Services 提供

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
進擊的機器人
© 2025 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓