2005年05月15日 日曜日
Donald E. Knuth / 「コンピュータの数学」
そんなわけで昨日からの続き。解析学が好きな自分としては、連続関数を対象とした関数論や微分方程式も面白い(あくまで現実の物理現象とつながりが必要)のだけど、数列や漸化式(懐かしい響きだ)、級数といった離散数学もなかなか面白い。(しかもこっちの方がコンピュータのアルゴリズムに通じている。) この手の話題は、行き着く本があって、Knuth先生のThe Art of Computer Programming vol.1に始まる百科事典というか歴史書のような本に行き当たるので、2年ほど前の新訳登場時から、_買わねばならない本だ_と思っていたので、昨日大宮ジュンク堂に出かけていったわけだ。
お値段もお値段なので、買おうか買わないか悩んでいたのだけど、The Art of Computer Programmingのとなりにこの本は置いてあった。題名は「コンピュータの数学」。原書のタイトルは「Concrete Mathematics」だから抽象数学ならぬ「具象数学」という変わった題名の本。ざっくり見てThe Art of Computer Programming vol.1の最初の半分を詳しく書いた本のようだ。お値段は同じくらいなので、こっちを買うことにする。
The Art of Computer Programmingの場合はいつも本棚に置いておいて参照すべき本のような気がする(それゆえ、必要なときにいつも立ち読みして読みふけっておしまいなのだけど)。やっぱりやはり教科書ではないと思うので、教育に適しているとは言えないと思う。ちょうど間を埋めるような本が欲しかったと言うわけだ。
スタンフォード大学では、Concrete Mathematicsという科目(1970年から, 86年までの半分の年はKnuth自身による講義)があるらしく、The Art of Computer Programming vol. 1のFundamental Algorithmsを使って講義していたらしいのだけど間を埋めるような本として、Knuth先生はこの本(だいたい600ページ)を約1年で書いたという。後ろに付いている参考文献の量を見てもただならぬ分量なだけに、やはり超人なのである。
1年以上は遊べる本だろうと思って購入してみた。いやぁ1ページ目から凄く面白く読んでいる。昨日の話題の和分・差分については、「2.6 離散系と連続系の微積分学」という所にまとまっている。あと手続きとかパズルの解法としての漸化式というのも問題としては面白い。語り口もなかなか良いので、お金と時間がある人にはお勧めするし、特にコンピュータサイエンスを志す(物理でも数学でもOKだけど)大学生は読んでかなり得るところは多いと思うし、変わった本で面白いので読んでおけと言いたい。また高校生から大学の初年度付近の世話をする人にはネタ本としておすすめかもしれない。僕としては、久しぶりに数学の面白い本を買ったので楽しみたいと思うのである。