「世界でもっとも強力な9のアルゴリズム」を読んだ
読み物として面白いという評判を聞いたので、「世界でもっとも強力な9のアルゴリズム」を読んでみた。
どんな本か
2012年7月23日発行。日経BP社。著者はディッキンソン大学教授のジョン・マコーミック氏。検索エンジンのページランクやデジタル署名、データ圧縮など、コンピュータユーザ(技術者という意味ではなく、スマホやパソコンを日常的に使っているような人を指す)が日常的に恩恵を受けているアルゴリズムの偉大さを、非技術者でも理解できるように解説した本。
所感
面白い上にためになる本だった。著者は序文で「この本を読んだからといってコンピュータスキルが大幅に向上するわけではない」と述べていて確かにそのとおりなのだけど、それぞれの技術の本質を改めて明示されると「言われてみればそういうことか」と膝を打つ機会が何度もあった。
技術者が本書を読むと「こんな説明の仕方があるのか」という反応が多そうに思う。新人の技術者にコンピュータサイエンスの基礎を教え込む時の説明の参考として使えそう。
本書で紹介されているアルゴリズム(章タイトル)は以下の通り。非技術者に説明するには難しい内容ばかりだけど、それを本当に単純な例からスタートして説明しているからすごい。どうすごいかと言うと、専門用語やコンピュータサイエンスについて全く知らなくても理解できること。ただ、章ごとに終盤になるに連れて難度が急激に上がっていくので脱落者は増えそう。
- 検索エンジンのインデクシング
- ページランク
- 公開鍵暗号法
- 誤り訂正符号
- パターン認識
- データ圧縮
- データベース
- デジタル署名
- 決定不能性
『本人しか鍵を掛けられない生体認証機能付きの南京錠』でデジタル署名を説明したり、『お互いに自分しか知らない絵の具の色』で公開鍵暗号法を説明しているのは、技術の本質をうまく抽象化して説明している例だと思う。
また、検索エンジンのページランクについて、『多くのページから参照されているページが高ランク』の考え方が循環参照の問題に直面することや、その問題をランダムサーファーシミュレーションによって回避する話も全く知らない話だったのでこれも勉強になった。
1章の最後にこんな一文があって、とても印象に残った。
私は天文学の専門家では決してない。実際この分野についてはあまり知らないし、もっと知っていればよかったと思っている。しかし、私が知っているごくわずかの天文学の知識のために、夜空を見上げるという経験は少し楽しくなっている。見ていることについて持っている知識のために、驚きとか満足の気持ちが引き出されてくるのである。
確か少し前にTwitterでも似たような投稿がバズっていた記憶があるけど、かじった程度の知識があるだけでも日常の景色が変わって見えるのは良いことだなと思う次第。