『世界でもっとも強力な9のアルゴリズム』

『世界でもっとも強力な9のアルゴリズム
"Nine Algorithms that Changed the Future: The Ingenious Ideas that Drive Today's Computers"
Jhon MacCormick
長尾高弘 訳
日経BP

世界でもっとも強力な9のアルゴリズム

第1章 イントロダクションーコンピュータが日常的に使っているすごいアイデアはどんなものか
第2章 検索エンジンのインデクシングー世界最大の藁山から針を探す
第3章 ページランクーグーグルを立ち上げたテクノロジー
第4章 公開鍵暗号法ー葉書で機密情報を書き送る
第5章 誤り訂正符号ー自分で誤りを訂正するシステム
第6章 パターン認識ー経験から学ぶ
第7章 データ圧縮ー無から有を生み出す
第8章 データベースー一貫性の追求
第9章 デジタル署名ーこのソフトウェアを本当に書いたのは誰か
第10章 決定不能性とはなにか
第11章 まとめー指先の天才はもっと賢くなるか

本書は現在のコンピュータを動かしている非常に優れたアルゴリズムを紹介する。用途が具体的なアルゴリズムが選ばれているので、高速フーリエ変換ニュートン法やバイナリサーチクイックソートとかは紹介されない。

こういう一般向け読み物は、数式のような記号を使わずに説明される場合が多い。しかし、余計にわかりづらいといつも思うのだ。理解を助ける絵や説明は是非欲しいが、結局何をしているのか簡潔に記すものを付録に付けてほしい。特に決定不能性についての証明のところ。参考資料読めということなのだろうけれど。しかし、読んだ人を分かった気にさせるには十分な説明がされている。

本書が示したいのは、コンピュータ科学ってなんなの?ということだ。

この本のアルゴリズム全体に共通する重要なテーマは、コンピュータ科学という学問分野がただのプログラミングよりもずっと大きな世界だということだ。(中略)この本を読み終わった今、コンピュータ科学者がいつも考えている問題がどのようなものか、そして彼らが考え出す解がどのようなものかについて、読者はこれまでよりもずっと具体的なイメージを持っていることと思う。

 情報学科がプログラミングしていると思っている人は本当に多い。情報学科に限った話ではない。機械学科だとロボットを作っていると思っている無教養な人がどれほどいるか。作って動いたなんて何の価値があるのか。本書に示されているようなアイデアにこそ価値がある。偉大なアイデアによって今の社会が成立していることを知っておかなければならない。