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

毎日使っているパソコンやインターネットがちゃんと動くために必要なアルゴリズム。その中でもたくさんの人が使っていて、影響力の大きなものを、わかりやすく、本当にわかりやすく、馬でもわかるくらいわかりやすく説明してくれます。


取り上げられる9のアルゴリズムを目次に沿って挙げると、

  1. 検索エンジンのインデクシング
  2. ページランク
  3. 公開鍵暗号
  4. 誤り訂正符号
  5. パターン認識
  6. データ圧縮
  7. データベース
  8. デジタル署名
  9. 決定不能性とは何か

みんなが毎日お世話になっていて、それなしではすごせないようなものばかりです。この中で、私の目から鱗が3枚くらい落ちたのは、3の公開鍵暗号法です。「公開鍵暗号」という言葉は知っていましたが、どんな仕組みで暗号化するのか、ほんとのところはわかっていませんでした。


情報を暗号化してやりとりするためにどうしても必要となるのが、やりとりする2者だけが共有する暗号表です。インターネットという公開の場で、当事者二人だけがどうやって秘密を共有することができるかというのが、達成すべき答えです。この仕組みを、それぞれの秘密の色と公開鍵に相当する色とを混ぜ合わせ、交換することに例えて説明していきます。順を追って読んでいって、わかったときには、「ははぁーん、そういうことか」と膝を3回くらいたたきたい気分でした。


最後の「決定不能性とは何か」は他の章と少し違っていて、プログラムを診断して全てのバグを検出するプログラムを作成することは100%不可能である。ということを背理法を使って証明していきます。正直言って何だかだまされているような気もしますが、こんなややこしいことを、数式も使わずに40ページで説明しようとする著者の執念に拍手です。


この本に書いてあることを知ったからといって、普段パソコンを使う上ではそんなに役に立たないのです。でも、こんなすごいアルゴリズムを考えた人がいることを思うと嬉しくなります。

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

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