アルゴリズム

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

ジョン マコーミック
日経BP社

はじめに

第1章 イントロダクション
コンピュータが日常的に使っているすごいアイデアはどんなものか

  1. アルゴリズム - コンピュータが指先の天才になるための材料
  2. どんなアルゴリズムが偉大なのか
  3. 偉大なアルゴリズムを意識しなければならない理由

第2章 検索エンジンのインデクシング
世界最大の藁山から針を探す

  1. マッチングとランキング
  2. Altavista - 最初のウェブ規模のマッチングアルゴリズム
  3. 古き時代のインデクシング
  4. 単語の位置情報のトリック
  5. ランキングと近接性
  6. メタワードトリック
  7. インデクシングとマッチングのトリックはまだ序の口である

第3章 ページランク
グーグルを起ち上げたテクノロジー

  1. ハイパーリンクトリック
  2. オーソリティトリック
  3. ランダムサーファートリック
  4. 実際のページランク

第4章 公開鍵暗号法
葉書で機密情報を書き送る

  1. 「共有された秘密」による暗号化
  2. オープンな場で「共有された秘密」を作る方法
  3. 実際の公開鍵暗号法

第5章 誤り訂正符号
自分で誤りを訂正するシステム

  1. 誤り検出と誤り訂正のニーズ
  2. 反復トリック
  3. 冗長性トリック
  4. チェックサムトリック
  5. ピンポイントトリック
  6. 実際の誤り検出、誤り訂正

第6章 パターン認識
経験から学ぶ

  1. 問題は何か
  2. 最近傍法
  3. 決定木 - 20の質問トリック
  4. ニュートラルネットワーク
  5. パターン認識の過去、現在、未来

第7章 データ圧縮
無から有を生み出す

  1. ロスなし圧縮 - 究極のフリーランチ
  2. ロスあり圧縮 - フリーランチではないがとても割安な食事
  3. 圧縮アルゴリズムの起源

第8章 データベース
一貫性の追求

  1. トランザクションとto-doリストトリック
  2. レプリケートされるデータベースのための「準備してからコミット」トリック
  3. リレーショナルデータベースと仮想テーブルトリック
  4. データーベースの人間サイド

第9章 デジタル書名
このソフトウェアを本当に書いたのは誰か

  1. デジタル署名は実際には何のために使われているのか
  2. 紙に書く署名
  3. 南京錠つきの署名
  4. 掛け算南京錠による署名
  5. 指数南京錠による署名
  6. デジタル署名の実際
  7. パラドックスの解決

第10章 決定不能性とはなにか

  1. バグ、クラッシュ、ソフトウェアの信頼性
  2. あることが真ではないことの証明
  3. ほかのプログラムを分析するプログラム
  4. 存在し得ないプログラム
  5. クラッシュ検出プログラムの不可能性
  6. 不可能なプログラムにはどのような意味があるか

第11章 まとめ
指先の天才はもっと賢くなるか

  1. いくつかの偉大になる可能性のあるアルゴリズム
  2. 偉大なアルゴリズムが消えていくことはあるのか
  3. 私たちは何を学んだのか
  4. 終点から私たちの旅の目的を振り返る

謝辞
参考資料