身近で強力な魔法たち
検索エンジンや公開鍵暗号などIT社会を支える主要アルゴリズム、全部入りのお得な本です。
書名にアルゴリズムとありますが、プログラミングの本ではなく、コンピュータサイエンスの入門的な内容になってます。
だからソースコードは一切無し!ひたすら図解で解説する取っつきやすい一冊です。
多彩なトリックを解説
本書では
検索エンジン、公開鍵暗号、誤り訂正符号、画像認識、データ圧縮、データベース、デジタル署名
といった実に多彩なアルゴリズム、というかトリックを扱います。
前述の通り、ソースコードは一切使わず、図解で巧みに(マジで)説明してくれるので、気軽に読めます。
難しい話題を上手く単純化して魅せる、著者の解説手腕には心底驚かされました。
私は専門学校で先生もしているので、よく本書を講義の参考にしています。
そんな普段お世話になっている一冊なので、ここで本書のアルゴリズム(と魅力)を一挙紹介させて頂きます。
検索エンジンの基本 | 巨大なネットの海から、目当ての情報を探す AltaVistaって知ってます? |
ページランク | Googleを巨大企業に躍進させた革命的アルゴリズム ようこんなの思い付いたなと思いますねー |
公開鍵暗号 | 見知らぬ人と安全に情報交換する方法 いわゆるhttps通信です なお本章は少し難しいので、後回しにするのがオススメです |
誤り訂正符号 | 自分でデータ破損を検出し修復する、エヴァンゲリオンみたいだ(小並) OSはあなたの見えない所で、コレを何千何万回と行ってます |
パターン認識 | 画像から文字や顔を認識する、スマホでお馴染みのアレ AIの基本のキとしても有用な章です |
データ圧縮 | 小さなデータから完全な情報を復元する 実際にやってる事は大変シンプルで面白い |
データベース | オンライン取引の信頼性を支えるアルゴリズム 障害やエラーを克服するアプローチが地道だけど鮮やか! |
デジタル署名 | インターネット上で身分証明を実現するトリック 3番目の公開鍵暗号の応用なので、本書で最も高度な章です |
決定不能性 | 絶対に実現できないアルゴリズムについて 身近ではないが、著者の強い思い入れが感じられ、ラストに相応しいトピック |
偉大なアルゴリズムは美しい
このように本書は、身近で興味深いアルゴリズム(社会の仕組み)を平易に教えてくれます。
厚さも約300ページでコンパクト、凶器にはならないライトウェイトが嬉しいですね。
それと最後に一つ、本書に収録されてるアルゴリズムは皆美しいです。
どれも非常にシンプルで、無駄のないルールです。
まるで人ならざる者の意思が存在するような…そんなエレガントさを感じました。
一見すると複雑に見えるシステムが単純な原則の上に成り立っている。
こんな美しい事実が世界にはたくさんあります。
プログラミングでもそうですが、単純さに辿り着くのって凄い大変なんですよ。
対象を絞り、地道に観察し、試行錯誤の果てに、やっと単純さを発見する。
ほとんど無限ループです。
そんな途方もない繰り返しを経て、社会の問題を解決した先輩方に感謝しながら読めました。
机上の空論ではなく、身近な社会でコンピュータサイエンスがどう使われてるか?
をビジュアルに解き明かす良書です。