The Art of Computer Programming
The Art of Computer Programming
『The Art of Computer Programming』は、コンピュータプログラミングのに関する書籍のシリーズである。様々なアルゴリズムについて、その背景や歴史まで踏み込んだ徹底的な解説を行っており、アルゴリズム解析も行う。著者のドナルド・クヌース (Donald.E. Knuth) は、自身のライフワークと位置づけている。
7巻のプロジェクトであり、現在、第1巻から3巻までと4巻の分冊が刊行されている。
このプロジェクトは1962年に始まり、当初は12章から成る1巻で完結するつもりで着手されたのだが、その後に7巻の計画に膨らみ、最初の3巻は1968年、1969年、1973年に出版された。第4巻の執筆は1973年に開始されたのだが、1976年に2巻の第2版の準備をしていた際に、初版のような鉛版による組版 (Hot metal typesetting) が行われなくなっていてその仕上がりにクヌースは納得できず、自分で組版ソフトウェアの「テック」を(当初は1978年のサバティカルが終わるまでには完全に仕上げるつもりで)作り始めてしまったので、その第4巻の執筆が先送りになった。
今後の計画についてはwebページで確認できるが、おおむね執筆開始当初の構想と変わっておらず、5巻は構文的 (syntactic) アルゴリズムについてで、9章が字句スキャナ、10章が(文字列)解析の技術、6巻は文脈自由文法の理論、7巻がコンパイラ技術となっている。ただし位置付けとして、5巻までの内容は central core of computer programming for sequential machines であるのに対し、6・7巻の内容は important but more specialized である、としている。この内容は、ドラゴンブック(Compilers:_Principles,_Techniques,_and_Tools。1986年刊)等、この40年の間に、すでにさまざまな著者によって書籍が充実した分野である。
その全体構想から見れば現在も未完のシリーズであるが、すでに偉業とみなされている。(3巻初版までが刊行されていた1974年の段階で受賞したチューリング賞(コンピュータ界のノーベル賞とも位置づけられている賞)の受賞理由のひとつとして本シリーズが含まれている。)
1970年代〜1980年代にサイエンス社から出版された旧日本語訳版は、原著2巻相当分の4巻までしか出ていない。専門用語について可能な限りカタカナ語を使わず漢字に訳すという無理なことをしている
その後、21世紀に入った後に改めて、アスキーから新しい日本語訳版が出版された。こちらの翻訳は前述のような無理をせず、カタカナですでに通用している表現はそのままカタカナになっている。2007年9月までに3巻までと改訂版分冊1巻、4巻の分冊2,3が刊行されていた。
その後、KADOKAWAドワンゴに在籍する元アスキーの編集者が担当する「アスキードワンゴ」レーベルにより、2015年6月の1巻再刊から再開され、2017年3月に旧4巻0-4のまとまった分冊である4A巻が刊行されている。
Vol.4 Fascicle 1:2009年では、湊真一が考案したデータ構造「ZDD」 も項目として掲載され解説された。
The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition, Donald E.Knuth, Addison-Wesley, 1997, ISBN 978-0201896831
The Art Of Computer Programming Volume 1 Fascicle 1 MMIX -- A RISC Computer For The New Millennium, Donald E.Knuth, Addison-Wesley, 2005, ISBN 978-0201853926
The Art of Computer Programming Volume 2 Seminumerical Algorithms Third Edition, Donald E.Knuth, Addison-Wesley, 1997, ISBN 978-0201896848
The Art of Computer Programming Volume 3 Sorting and Searching Second Edition, Donald E.Knuth, Addison-Wesley, 1998, ISBN 978-0201896855
The Art Of Computer Programming Volume 4 Fascicle 2 Generating All Tuples And Permutations, Donald E.Knuth, Addison-Wesley, 2005, ISBN 978-0201853933
The art Of Computer Programming Volume 4 Fascicle 3 Generating All Combinations And Partitions, Donald E.Knuth, Addison-Wesley, 2005, ISBN 978-0201853940
The Art of Computer Programming Volume 4 Fascicle 4 Generating All Trees -- History of Combinatorial Generation, Donald E.Knuth, Addison-Wesley, 2006, ISBN 978-0321335708
The Art of Computer Programming Volume 4 Fascicle 0 Introduction to Combinatorial Algorithms and Boolean Functions, Donald E.Knuth, Addison-Wesley, 2008, ISBN 978-0321534965
The Art of Computer Programming Volume 4 Fascicle 6 Satisfiability, Donald E.Knuth, Addison-Wesley, 2015, ISBN 978-0134397603
The Art of Computer Programming Volume 4 Fascicle 5 Mathematical Preliminaries Redux; Backtracking; Dancing Links, Donald E.Knuth, Addison-Wesley, 2019, ISBN 978-0134671796
旧版(サイエンス社版)
「基本算法 I」~基礎概念~  ISBN 4-7819-0302-9
「基本算法 II」~情報構造~  ISBN 4-7819-0303-7
「準数値算法」~乱数~  ISBN 4-7819-0304-5
「準数値算法」~算術演算~  ISBN 4-7819-0426-2
KADOKAWA版(旧アスキー版)
『The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、青木孝(訳)、筧一彦(訳)、鈴木健一(訳)、長尾高弘(翻訳)、アスキー、2004年、ISBN 978-4-7561-4411-9
『The Art of Computer Programming Volume 1 Fascicle 1 MMIX--A RISC Computer for the New Millennium 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、アスキー、2006年、ISBN 978-4-7561-4712-7
『The Art of Computer Programming Volume 2 Seminumerical algorithms Third Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、斎藤博昭(訳)、長尾高弘(訳)、松井祥悟(訳)、松井孝雄(訳)、山内斉(訳)、アスキー、2004年、ISBN 978-4-7561-4543-7
『The Art of Computer Programming Volume 3 Sorting and Searching Second Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、アスキー、2006年、ISBN 978-4-7561-4614-4
『The Art of Computer Programming Volume 4A Combinatorial Algorithms Part1 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、筧 一彦 (翻訳)、 小出 洋 (翻訳)、Kadokawa、2017年、ISBN 978-4048930550