刊行中のシリーズ




アルゴリズム・サイエンス シリーズ (全16巻)

編集委員(五十音順):
杉原厚吉
(東京大学教授),室田一雄(東京大学教授),山下雅史(九州大学教授),渡辺 治(東京工業大学教授)


●シリーズ趣旨:発刊にあたって

  インターネットやバイオインフォマティクスなど,情報科学は社会への影響力を急速に増大・拡大している.情報科学の基礎を支えるアルゴリズム・サイエンス分野も例外ではない.この四半世紀の進歩はまさに驚異的であったが,現在もその速度は増すばかりのように見える.
 このような情勢の下に,アルゴリズム・サイエンスに対する時代の要請は以下の4点にまとめられる:
まず,並列計算機や分散計算環境が容易に手に入る時代となり,このような新しい計算環境のもとで上手に問題を解決するための新しい解法の開発が必要とされていることである.
 次に,バイオインフォマティクスやナノ技術など多くの応用分野が巨大な問題を上手に扱うための新しい計算パラダイムを必要としていることである.
 第3に,情報セキュリティという重要な応用分野の出現が,従来は応用に乏しい理論研究と考えられてきた整数論や計算困難性理論の実学としての再構築を迫っていることである.  
そして最後に,これらの要請に応える健全なアルゴリズム・サイエンスの発展を担う人材の教育・養成である.
 以上の状況を踏まえ,われわれは以下の2つの主目的を掲げて,アルゴリズム・サイエンス シリーズを発刊することにした.
 第1に, アルゴリズム・サイエンスを高校生あるいは大学初年度生に紹介し,若年層のこの分野に対する興味を喚起することである.
 第2に,アルゴリズム・サイエンスのこの四半世紀の進歩を学問体系として整理し,この分野を志す学習者および研究者のための適切な学習指針を整備することである.
 これら2つの目的を達成するために,本シリーズは通常のシリーズと異なる構成をとることにした.まず,2つの「超入門編」として,『入口からの超入門』と『出口からの超入門』を置いた.これらにより,理論的な展開に興味をもつ学生も,アルゴリズムの応用に興味をもつ学生も,ともに高校生程度の基礎学力で十分にアルゴリズム・サイエンスの面白さを満喫していただけることを期待している.
 次に,乱択(確率)アルゴリズムや近似アルゴリズムなどを含む,新たに建設された興味深いアルゴリズム分野を紹介し詳述するために,「数理技法編」として諸巻を設けることにした.『入口からの超入門』がこれらの巻に対する適切な入門書となるように企画されている.
 さらに,バイオインフォマティクスや情報セキュリティに代表されるような,重要な応用分野における各種アルゴリズムの発展という視点からいくつかのテーマを厳選し,「適用事例編」として本シリーズに加えることにした.これらの巻に対する入門書が『出口からの超入門』である.
 なお,各巻は大学や大学院の教科書として利用できるよう内容を工夫し,必要な初歩的知識についてもできるかぎり詳述するなど,各著者に自己完結的に構成していただいている.
新刊

【超入門編】 【数理技法編】 【適用事例編】
1.アルゴリズム・サイエンス:入口からの超入門
(2006年10月刊行)
3.適応的分散アルゴリズム
(2010年6月刊行)
12.バイオインフォマティクスの数理とアルゴリズム
(2007年2月刊行)
2.アルゴリズム・サイエンス:出口からの超入門
(2006年10月刊行)
4.乱択アルゴリズム
(2008年8月刊行)
13.暗号プロトコルと情報セキュリティ技術
  5.オンラインアルゴリズムとストリームアルゴリズム
(2007年8月刊行)
14.データマイニングのアルゴリズム
  6.複雑さの階層
(2006年11月刊行)
15.量子計算
  7.論理関数―充足可能性問題を中心に 16.化学系・生物系の計算モデル
(2009年9月刊行)
  8.現代データ構造  
  9.離散最適化  
  10.計算幾何―理論の基礎から実装まで
(2007年1月刊行)
 
  11.近似アルゴリズム―離散最適化問題への効果的アプローチ  



1.アルゴリズム・サイエンス:入口からの超入門
(ISBN4-320-12167-8)
浅野哲夫 著
A5,244頁,2400円

●内容
 アルゴリズム研究の楽しさを知ってもらうために,高校生の学力程度で十分に理解できるよう心がけて記述した.各章の終わりに,本当に著者が伝えたかったことを「著者の独白」としてまとめたり,文章の途中に「質問」を挿入したりして,読者に飽きさせない工夫を随所にほどこした.

※組み見本 P74 P148

※まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
 
1. 数式における括弧の威力
1.1 電卓とコンピュータの能力比較
1.2 計算に必要なメモリの個数
1.3 コンピュータが苦手なこと
1.4 括弧つきの計算
1.5 逆ポーランド記法に基づく数式の計算
1.6 著者の独白
2. 変数の威力
2.1 変数による一般化
2.2 プログラムにおける変数
2.3 電卓の裏技との関係
2.4 著者の独白
3. プログラムの威力
3.1 プログラム内蔵方式
3.2 分岐命令
3.3 関数の威力
3.4 著者の独白
4. コンパイラの威力
4.1 コンピュータのしくみ
4.2 数値の取り扱い
4.3 演算装置の構成
4.4 コンパイラ
4.5 著者の独白
5. ループの威力
5.1 不定回数の反復
5.2 数学的帰納法
5.3 ループと再帰
5.4 最大公約数の計算
5.5 著者の独白
6. 配列の威力
6.1 変数と配列
6.2 配列の威力
6.3 データの並べ替え
6.4 2次元配列
6.5 著者の独白
7. データ構造の威力
7.1 配列の威力
7.2 ハッシュ法
7.3 著者の独白
8. 分岐命令の威力
8.1 直線型プログラム
8.2 分岐の除去(1)
8.3 分岐の除去(2)
8.4 著者の独白
9. 再帰の威力
9.1 再帰的な定義
9.2 再帰に適した問題
9.3 再帰と漸化式
9.4 ファレイ数列
9.5 再帰呼出しの危険性
9.6 著者の独白
10. 2分探索の威力
10.1 探索問題
10.2 なぜ2分探索か
10.3 著者の独白
11. 乱数の威力
11.1 乱数を用いたアルゴリズム
11.2 乱数の生成
11.3 行列積の検算
11.4 著者の独白
12. 計算幾何学の威力
12.1 計算幾何学における典型的な問題解決
12.2 点集合の分割問題のむずかしさ
12.3 点と直線の関係
12.4 点集合の重みつき2分割問題
12.5 著者の独白
新刊
注文する
ページトップへ



2.アルゴリズム・サイエンス: 出口からの超入門
(ISBN4-320-12168-6)
岩間一雄 著
A5,198頁,2400円


●内容
 しばしば忍耐を要求される「入口」の勉強とは切り口を大きく変えて,研究の最先端や高速化の原理などの「出口」の面白さを注意深い記述と巧みな例題で紹介する.最近大きく変貌してきた現代版アルゴリズムが,それまで計算機を寄せ付けなかったさまざまな局面でどのような役割を演じているのかを知ることができる.

※組み見本
 P9 P73

※まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)

1.ウォームアップ,その1
1.1 人事部長の悩み
1.2 増加部分列と減少部分列
1.3 最長の増加部分列を求めるアルゴリズム
1.4 まとめと出典
2.ウォームアップ,その2
2.1 共通テストの順位計算
2.2 平均点も計算しよう
2.3 まとめと出典
3.情報を漏らさない
3.1 情報を漏らさないで投票する
3.2 情報を漏らさないで証明する
3.3 電話でじゃんけんをする
3.4 まとめと出典
4.通信量を減らそう
4.1 通信複雑さ
4.2 中央値の計算
4.3 グラフ問題の計算
4.4 まとめと出典
5.乱数を利用する
5.1 グラフの塗り分け問題
5.2 グラフの支配集合
5.3 グラフの最大カット
5.4 平均からのずれ
5.5 まとめと出典
6.オンラインアルゴリズム
6.1 競合比解析
6.2 線形リストの探索
6.3 CNN問題
6.4 まとめと出典
7.近似アルゴリズム
7.1 ビン詰問題
7.2 集合被覆問題
7.3 分割問題
7.4 まとめと出典
8.厳密アルゴリズム
8.1 探索空間の矮小化
8.2 3SATに対する局所探索法
8.3 固定パラメータ容易性
8.4 まとめと出典
9.幾何の計算
9.1 コンビニの出店
9.2 博物館の監視員
9.3 まとめと出典
10.分散アルゴリズム
10.1 リーダー選挙
10.2 ウサギと猟師のゲーム
10.3 まとめと出典
11.オークション
11.1 正直なオークションと競合比
11.2 競合比有界なアルゴリズム
11.3 まとめと出典
12.ウェブクラブ
12.1 PageRank
12.2 確率行列
12.3 PageRankの計算
12.4 まとめと出典
13.利己的ルーティング
13.1 プライスのパラドックス
13.2 競合比の計算
13.3 線形の遅れ関数
13.4 まとめと出典
14.あとがきに代えて
14.1 弾力性のあるアルゴリズム
14.2 ネットワークコーディング
14.3 まとめと出典
新刊
注文する
ページトップへ



3.適応的分散アルゴリズム
(ISBN978-4-320-12251-2)
増澤利光・山下雅史 著
A5,324頁,3600円

●内容
 相互結合された多数の計算機から構成される分散システム上で,ある問題を効率良く解決するための方法を記述したものが分散アルゴリズムであって,分散システムに属する各計算機上で動作する(通信命令を含む)逐次アルゴリズムの集合である。並列アルゴリズムは分散アルゴリズムとほとんど同じように定義される。しかし,並列アルゴリズム(および逐次アルゴリズム)と分散アルゴリズムはその対象に明確な相違がある。

まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
第1章 例題による分散アルゴリズム入門
第2章 基礎的概念
第3章 分散システムの安定性
第4章 チェックポイントとロールバックリカバリ
第5章 耐故障合意アルゴリズム
第6章 無待機システム
第7章 自己安定システム
第8章 動的ネットワークにおけるトークン巡回
 
新刊
注文する
ページトップへ



4.乱択アルゴリズム
(ISBN978-4-320-12170-6)
玉木久夫 著
A5,240頁,3000円

 
●内容
アルゴリズムの振舞いを乱数に依存させる乱択アルゴリズムが流用されており,単にアルゴリズムといえば,今日では乱択アルゴリズムを含んでいると考えるのが普通である。しかし,実用アルゴリズムの世界では,乱択アルゴリズムの効果と価値が十分に認識されているとは言い難い。この状況を改善するには,アルゴリズム教育において乱択アルゴリズムに正当な地位を与える必要があろう。全体として,さまざまな分野の乱択アルゴリズムを網羅することは考えず,少数の乱択アルゴリズムを例として基本的な考え方のパターンを掘り下げる方針を採った。本書のレベルはやや高度であり,大学院あるいは学部の高学年でアルゴリズム理論とその基礎になる数学的素養を既に身につけた人,あるいはこの分野でこれから研究を始めようとする研究者を主な対象としている。

●目次

第1章 導入
1.1 乱択アルゴリズムの基本的な考え方
1.2 乱数の効用
1.3 乱択アルゴリズムの分類
1.4 数学とアルゴリズムの基礎
1.5 確率的解析のための準備
第2章 平均化効果を利用する乱択アルゴリズム
2.1 クィックソート
2.2 乱択逐次構成法:2次元の凸包
2.3 低次元の線形計画法
2.4 LP 型問題
第3章 標本乱択を利用するアルゴリズム
3.1 部分集合の大きさ
3.2 κ 番目の値
3.3 ε標本とε網
3.4 最小全域木問題の線形時間アルゴリズム
3.5 標本乱択を利用した近似アルゴリズム:密なグラフの最大カット
第4章 くじ引き型のアルゴリズム
4.1 素数性判定の乱択アルゴリズム
4.2 関数の同一性の検証
4.3 成功確率の増幅
第5章 その他の種類の乱択アルゴリズム
5.1 制約のランダムな充足を図るアルゴリズム
5.2 乱歩を利用するアルゴリズム
第6章 マルコフ連鎖を用いた標本乱択
6.1 計数問題の近似アルゴリズム:標本乱択の応用
6.2 マルコフ連鎖の基礎
6.3 標本乱択のためのマルコフ連鎖の設計
6.4 定常分布への収束の速さ
6.5 厳密な標本乱択
第7章 脱乱択化
7.1 条件付き確率の方法
7.2 確率空間の縮小
新刊
注文する
ページトップへ



5.オンラインアルゴリズムとストリームアルゴリズム
(ISBN978-4-320-12171-3)
徳山 豪 著
A5,236頁,3000円


●内容
 未知の未来に関る決断や予測は人間生活では必須であり、最善と信じて行った行動が後で大きな後悔を生むという事は日常茶飯事である。オンラインアルゴリズムの理論は、このような未知の未来に影響する情報処理を的確に行うための計算理論であり、時事刻々変化する巨大データに対して、将来どのような状況が起きても困らないように行動をプランする最善の手法の設計と数理的解析を探求するものである。本書はオンラインアルゴリズム理論の基礎理論である競合比解析に始まり、オンライン学習、確率的最適化、ストリームアルゴリズムなど、最先端の計算理論を用いた最新成果までを網羅し、実際に即した判りやすい例題を利用してオンラインアルゴリズムを幅広い見地から紹介する、世界でもはじめての本格的な教科書である。


まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
第1章 はじめに
第2章 オンラインアルゴリズムの基本理論
第3章 いろいろなオンライン問題
第4章 オンライン学習モデル
第5章 確率的最適化におけるアルゴリズム
第6章 ストリームアルゴリズム
おわりに
参考文献
 
新刊
注文する
ページトップへ



6.複雑さの階層
(ISBN4-320-12172-4)
荻原光徳 著
A5,296頁,3400円

●内容
 計算量理論とは、計算にかかる手間(計算の複雑さ)をモデル計算機を用いて系統立てて研究する、理論計算機科学の一分野であり、Juris HartmanisとRichard Stearnsが1965年にアメリカ数学会誌に発表した論文"On the computational complexity of algorithms"によって創設された。その主眼は、計算問題のむずかしさを、それを解くアルゴリズムを実行する手間がどれくらいであるかによってクラス分けし、それらのクラスの性質および相互関係を調べることである。
 計算量理論の分野は、1970年代初頭にStephen CookとLeonid Levinによって独立に提唱され、Richard Karpによって整備されたNP完全性の概念によって飛躍的進歩を遂げた。この概念は、計算量のクラスの性質を、そのクラスの代表的問題を通じて研究することを可能にした。
 本書の主眼は、チューリング機械を用いて定義される基本的計算量クラスとその階層構造と包含関係について解説すること、そして、それらのクラスの完全問題を示すことである。紙面の都合上、とりあげることのできなかった発展的内容については、巻末の参考文献などを参照されたい。
 なお、本書に登場する用語には、それに対応する英語を示してある。また、外国人名に対しては、少し強引なところもあるが、そのカタカナ読みを付しておいた。読者の参考になればさいわいである。
(「まえがき」より)

※まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
1.準備
1.1 論理
1.2 集合
1.3 グラフ・木
1.4 写像
1.5 言語
1.6 関数の漸近的性状
2.チューリング機械の基礎
2.1 チューリング機械による言語の受理
2.2 チューリング機械による計算量クラス
2.3 非決定性チューリング機械による言語の受理
2.4 演習問題およびノート
3.基本的包含関係と階層構造
3.1 模倣による包含関係
3.2 時間階層定理と領域階層定理
3.3 非決定性領域クラスの階層構造
3.4 基本的計算量クラス
3.5 演習問題およびノート
4.NP完全問題
4.1 還元可能性と完全問題
4.2 SATとNP完全問題
4.3 SATの変形とそのNP完全性
4.4 グラフ理論に関するNP完全問題
4.5 組合せ論に関するNP完全問題
4.6 NP完全とPのあいだの溝
4.7 演習問題およびノート
5.NL、PSPACE、EXPTIME、およびNEXPTIMEの完全問題
5.1 NLの完全問題
5.2 P完全問題
5.3 PSPACE完全問題
5.4 EXPTIMEおよびNEXPTIMEの完全問題
5.5 演習問題およびノート
6.NPを基にした階層
6.1 多項式時間階層PH
6.2 Σpkの完全問題
6.3 Δp2の完全問題
6.4 クラスDP
6.5 確率的チューリング機械と確率的計算量クラス
6.6 演習問題およびノート
参考文献
 
新刊
注文する
ページトップへ



7.論理関数−充足可能性問題を中心として−
牧野和久 著
A5

●内容
 本書は、アルゴリズムや計算量理論などの計算科学分野において中心的な話題である「充足可能性問題」を中心として、「論理関数」の主にアルゴリズム論的な側面を紹介する。これらを通して、高速なアルゴリズム設計法、計算量解析法などを学ぶ。

●目次
1.論理関数とアルゴリズム
2.充足可能性問題の複雑さ
3.充足可能性問題に対する指数時間アルゴリズム
4.最大充足可能性問題
5.論理関数の双対化問題
6.推論問題
7.その他の充足可能性問題 に関連する話題
新刊
ページトップへ



8.現代データ構造
定兼邦彦 著
A5

●内容
 大量のデータを活用するにはデータをコンパクトに格納し,かつ高速な検索を行えるようにする必要がある.しかし従来のデータ構造は,それ自身の大きさが問題であった.本書では,大量データ処理のための新しいデータ構造である,圧縮されたデータ構造や,現実 的な計算モデルにおいて効率のよいデータ構造を解説する.

●目次
1. 基本的事項
1.1 計算モデル
1.2 集合の表現
1.3 接尾辞木・接尾辞配列
2. 簡潔データ構造
2.1 集合を表現するデータ構造
2.2 検索木
2.3 区間最小値問合せ
2.4 接尾辞配列
2.5 接尾辞木
2.6 データ構造の汎用圧縮法
3. キャッシュ忘却データ構造
3.1 計算モデル
3.2 検索木
3.3 優先順位付きキュー
4. 非明示データ構造
4.1 計算モデル
4.2 検索木
新刊
ページトップへ



9.離散最適化
岩田 覚 著
A5

●内容
 グラフ・ネットワークなどの離散構造に関連した最適化問題の中には,素朴な方法では膨大な計算量を要するにもかかわらず,問題の性質をうまく利用して,効率的に最適解を計算するアルゴリズムが知られているものが少なくない.離散最適化を題材に,アルゴリズム設計の基本的な技法と考え方を学ぶ.

●目次
1. グラフ
2. 最短路
3. マッチング
4.最大流
5.最小費用流
6.線形計画法
7.整数多面体
8.パーフェクトグラフ
9.最小木
10.マトロイド
新刊
ページトップへ



10.計算幾何−理論の基礎から実装まで−
(ISBN978-4-320-12176-8)
浅野哲夫 著
A5,252頁,3200円

●内容
 計算幾何学の研究が始まって,はや30年が過ぎようとしている.今では,計算機科学の理論に関するどの国際会議の投稿案内を見ても,計算幾何学が確固とした地位を築いていることは明白であるが,残念ながら,それは計算機科学の理論研究者には当てはまっても,情報以外の研究者や情報科学の学生でさえ,計算幾何学がどんな学問であるかを正確に理解している者は多いとはいえないのが現状であろう.計算幾何学というタイトルの本が,理系の本をそろえた大型書店ですら「計算機科学」ではなく「数学」のコーナーに配架されていることが多いのは,その証拠のひとつということができる.
 「計算幾何学」という日本語名は,'computational geometry'という英語名の翻訳であるが,この名前が誤解を生んでいるように思えてならない.そこで,本書のタイトルは「計算幾何学」ではなく,計算の重みをもっと増やした表現である「計算幾何」とした.
 アルゴリズムは難解だという巷の評価があるが,計算幾何学はアルゴリズムの中でももっとも実学に近い存在ではないだろうか.もちろん,組合せ幾何学に代表される数学的な側面も計算幾何学の重要な一面であるが,実装の面で生じるさまざまな問題に真摯に耳を傾けてきている.実装の際に生じる縮退をどのように扱うか,計算誤差による暴走をどのように防ぐか,主メモリだけではなく外部メモリへのアクセスも考慮したアルゴリズムをどう設計するかなど,いずれも実装から生じた問題点の解決策である. このような観点から,本書では通り一遍の理論だけではなく,理論の成果を実装上でどのように活用するかに焦点を当てた.もちろん,実際のプログラムでは数値誤差に対する対策や,予想しない入力に対処する方法などが必要であるが,紙数の関係上それらの問題については言及できなかった.実装を重視する立場から,もっと多くのプログラムを掲載したかったが,紙数の制限で断念せざるをえなかった.本文に盛り込むことは紙数の関係でむずかしくても,最近ではインターネットで公開するという手もあるので,なんらかの形でせっかく作成したプログラムも公開できればと考えている.
 本書は「アルゴリズム・サイエンス シリーズ」と題するシリーズ本のうちの1冊である.計算幾何学の分野で国内では長く研究に従事しているために著者が担当することになったのであるが,なぜ本書の執筆を引き受けたかというと,いちど自分の不確かな知識を整理したいと思っていたからである.また,むずかしいからという理由で避けていた理論にも挑戦してみたかったからである.パラメトリック探索の技法は計算幾何学で重要であるが,今まで自分のものになっていなかったので,これをよい機会としたかった.
(「まえがき」より)

まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
1.計算幾何学とは何か
1.1 計算幾何学の歴史
1.2 幾何問題のむずかしさ
1.3 計算幾何学の代表的問題
1.4 アルゴリズムの効率
章末問題
2.計算幾何の基礎
2.1 点の表現
2.2 直線の表現
2.3 線分の表現
2.4 符号付面積
2.5 線分の交差判定
2.6 円の内部と外部の判定
2.7 3角形に関する問題
2.8 記号摂動法
章末問題
3.幾何計算の実装
3.1 計算幾何とLEDA
3.2 pointデータタイプ
3.3 segmentデータタイプ
3.4 rayデータタイプ
3.5 lineデータタイプ
3.6 vectorデータタイプ
3.7 circleデータタイプ
3.8 polygonデータタイプ
章末問題
4.計算幾何学の基本的な考え方
4.1 多角形と多角形領域
4.2 平面地図と二重連結辺リスト
4.3 凸多角形に関する計算
4.4 凸多角形の直径の計算
4.5 凸多角形の内部と外部の判定
4.6 凸多角形への接線
4.7 凸包の計算
章末問題
5.基本的なアルゴリズム設計技法
5.1 再帰
5.2 分割統治法
5.3 逐次構成法
5.4 グリーディ法
5.5 動的計画法
5.6 線形計画法
5.7 パラメトリック探索
5.8 縮小法
章末問題
6.乱択アルゴリズム
6.1 乱数をいかに使うか
6.2 モンテカルロアルゴリズム
6.3 ラスベガスアルゴリズム
6.4 確率的丸めに基づく乱択アルゴリズム
6.5 ランダムサンプリング
章末問題
7.幾何計算のためのデータ構造
7.1 1次元データのためのデータ構造
7.2 セグメント木
7.3 インタバル木
7.4 領域探索のためのデータ構造
章末問題
8.計算幾何のためのアルゴリズム設計技法
8.1 平面走査法
8.2 幾何学的変換法
8.3 高速行列探索法
8.4 トポロジカルスィープ
8.5 トポロジカルウォーク
章末問題
9.ボロノイ図とデローネイ3角形分割
9.1 ボロノイ図
9.2 最近点問題と最近点対問題
9.3 デローネイ3角形分割
9.4 最遠点ボロノイ図
章末問題
10.メモリ階層を考慮したアルゴリズム
10.1 メモリの階層構造
10.2 入出力効率のよいアルゴリズム
10.3 入出力効率のよい平面走査法
10.4 入出力効率のよいデータ構造
章末問題
付録 数学的基礎とおもな公式
付録1 漸近記法
付録2 基本的な公式と記号の定義
付録3 漸化式の解法
章末問題へのヒント
 
新刊
注文する
ページトップへ



11.近似アルゴリズム:離散最適化問題への効果的アプローチ
浅野孝夫 著
A5

●内容
 現在の近似アルゴリズムの研究,すなわち,近似率の下界と上界を明らかにする研究についてわかりやすく解説する.特に,上界を下げるためには,より良い近似率をもつアルゴリズムを設計し解析しなければならないが,そのための系統的な設計解析法である数理計画法に基づくアルゴリズムに焦点を当てて説明する.また,下界を明らかにするための標準的な技法についても触れる.

●目次
1. 近似アルゴリズムの基礎概念
1.1 NP-完全問題とNP-困難問題
1.2 近似精度保証のあるアルゴリズム
1.3 近似可能性に基づく問題のクラス
1.4 クラスAPXに属する問題
1.4.1 TSPに対する3/2-近似アルゴリズム
1.4.2 点カバーに対する2-近似アルゴリズム
1.4.3 ナップサック問題に対する2-近似アルゴリズム
1.5 擬多項式時間アルゴリズムとクラスFPTAS
1.5.1 ナップサック問題
1.6 クラスPTAS
1.6.1 最小2分割問題
1.7 クラスlog-APX
1.7.1 集合カバー問題
1.8 クラスpoly-APX
1.8.1 最小点彩色問題
1.9 PCP定理と近似率保存多項式リダクション
1.10 APX完全性とNPO-完全
1.11 演習問題
1.12 文献ノート
2. 近似アルゴリズムの設計と解析の代表的手法
2.1 整数計画と線形計画(LP)緩和
2.2 LPラウンディング:集合カバー問題への適用
2.3 主双対法:集合カバー問題への適用
2.4 双対フィット法:集合カバー問題への適用
2.5 演習問題
2.6 文献ノート
3. スケジューリング問題
3.1 同一複数マシーンによる完了時刻最小化スケジューリング
3.1.1 単純な2-近似アルゴリズム
3.1.2 4/3-近似アルゴリズム
3.1.3 PTAS
3.2 ビンパッキング
3.2.1 NF(Next Fit)、FF(First Fit)、FFD(First Fit Decreasing)
3.2.2 漸近的PTAS
3.2.3 漸近的FPTAS
3.3 異種複数マシーンによる完了時刻最小化スケジューリング
3.4 演習問題
3.5 文献ノート
4. 最大充足化問題
4.1 確率的方法によるアルゴリズム
4.2 線形計画緩和によるアルゴリズム
4.3 半正定値計画緩和によるアルゴリズム
4.4 演習問題
4.5 文献ノート
5. 高信頼ネットワーク設計問題
5.1 シュタイナー木
5.2 シュタイナー森
5.3 シュタイナーネットワーク
5.4 演習問題
5.5 文献ノート
6. 多品種フロー問題と多点対カット問題
6.1 辺素パスと点素パス
6.2 多品種フロー問題
6.3 平面グラフに限定した問題
6.4 多分割カット問題
6.5 多点対カット問題
6.6 演習問題
6.7 文献ノート
7. 施設配置問題
7.1 線形計画問題による定式化
7.2 Shmoys-Tardos-Aardalアルゴリズム
7.3 主双対アルゴリズム---Jain-Vaziraniアルゴリズム
7.4 双対フィットアルゴリズム
7.5 スケール変換とグリーディ増加
7.6 k-センター問題とk-メディアン問題
7.7 普遍的施設配置問題
7.8 演習問題
7.9 文献ノート
参考文献
演習問題ヒント
新刊
ページトップへ



12.バイオインフォマティクスの数理とアルゴリズム
(ISBN978-4-320-12178-2)
阿久津達也 著
A5,238頁,3000円


●内容
 バイオインフォマティクス(bioinformatics)は生命情報学などと訳されるが,その名のとおり生物学と情報学の学際領域の学問分野であり,DNA配列をはじめとするさまざまな生物学データの情報解析技術の開発,および,それらの情報解析技術を利用して実際のデータを解析し新たな生物学的知識の発見を行なうことの2つが主目的となっている.名前の起源はよくわからないが,ヒトのDNA配列を決定しようというヒトゲノム計画が本格化した1990年代初めごろから目にするようになり,現在では学問分野のひとつとして,ある程度は認知されるに至っている.計算生物学(computational biology)という用語も欧米を中心に広く利用されているが,バイオインフォマティクスとの明確なちがいはなく,同義語と考えることができる.

 バイオインフォマティクスにはさまざまな情報分野の理論や技術が応用されてきたが,アルゴリズムはもっとも重要なもののひとつである.その理由のひとつは,DNA配列をはじめとする大量のデータを扱わなければならず,その効率的な処理のためにアルゴリズム的考え方が必要だということである.逆に,DNA配列やアミノ酸配列などのバイオインフォマティクスにおける主要なデータを文字列として扱うことができるため,文字列アルゴリズムの応用や新たな問題の定式化が行ないやすいということがあげられる.実際,文字列アルゴリズムの研究者でバイオインフォマティクスの研究に携わっている研究者も多い.

 筆者も当初は純粋にアルゴリズムの研究を志し,文字列アルゴリズムなどの研究を行なっていたが,いつのまにかバイオインフォマティクスのとりことなり,現在に至っている.バイオインフォマティクス研究の魅力は,実際に役に立つ可能性が高いということもあるが,それ以上に,生命の神秘を情報科学的立場もしくは数理的立場から解き明かせるかもしれないということにあると考えている.ヒトのDNA配列は30億文字程度からなっている.これは一見,多いように思えるが,A,C,G,Tの各文字が2ビットでコード化できることを考えると,CD-ROM 1枚程度の量である.いまでは事務処理ソフトなどを購入すると何枚もCD-ROMがついてくるが,それよりも少ない量のDNA配列の中に,人間を個性のちがいまで含めて再構成できる情報が格納されているのである.そこには何かアルゴリズム的もしくは数理的な原理のようなものがはたらいているはずであり,それを解明したいということが筆者の願いである.

 これまで述べてきたことから,アルゴリズム的立場からのバイオインフォマティクスに関する教科書の必要性は十分にあると考えられる.しかしながら,すでに多くの教科書が出版されているのに,また新たな本を執筆する必要があるのだろうか? 執筆の打診を受けた際に一瞬そのことが頭をよぎったが,よく考えると既存の本には少なからず満足のいかない点があることを思い出した.バイオインフォマティクスの教科書は数あれど,アルゴリズム的観点から書かれたものは少なく,必ずしもわかりやすいとはいえない.また,配列データの取り扱いを中心としたものが多く,重要性が増しつつあるタンパク質立体構造や生体内ネットワークについては詳しく説明されていない.そこで,タンパク質立体構造や生体内ネットワークについてもより詳しく説明し,かつ,電車の中でも,もしくは,横になりながらでもほとんどの部分を読むことができ,さらに,主要なアルゴリズムの本質が理解できるような本をめざして執筆することにした.その目標は完全に達成されたとはいえず,本書でカバーしきれなかった話題も少なくないが,ある程度は実現できたのではないかと考えている.もちろんむずかしい,読みづらい,誤りがあるなどの可能性はおおいに残っているので,それらの批判は喜んで拝受し,改訂の機会があればぜひ取り入れていきたい.

 本書の構成は次のようになっている.1章では,本書を読むのに役に立つと思われる生物学的背景について説明している.しかしながら,全部が必要というわけではなく,DNA配列やアミノ酸配列が文字列として表現できることを最低限知っていれば,直接2章から読み始めることができる.2章では,バイオインフォマティクスで最重要と思われる配列アラインメントについて説明している.3章では,アラインメント以外の配列解析アルゴリズムについて説明している.4章では,進化系統樹の構成法を中心に説明している.5章では,RNAおよびタンパク質の立体構造の予測や比較について説明している.6章では,システム生物学の進展とともに重要になりつつある生体内ネットワークの数理モデルや特徴について説明している.最初に2.1節を読んだあとで他の箇所を読むことが多少望ましい以外は,各章は基本的に独立している.各節も独立している場合が多いため,むずかしい,もしくは,興味がないと感じた節は読み飛ばして次の節に移ることをお勧めする.

 本書はアルゴリズム的観点を中心に書いてあるが,一般的なバイオインフォマティクスの教科書として利用できることも意図している.ただし,アルゴリズム論における基本的な知識,とくに情報系の学部学生が2〜3年生くらいで習う知識を仮定している部分がある.たとえば,グラフに関する基本的な定義や性質,多項式時間アルゴリズムやNP困難性の定義や意味などについての知識を仮定している部分がある.そこで,情報系以外の学生や研究者が本書を読まれる場合は,それらの部分を読み飛ばすか,もしくは,本シリーズの他の巻などを参考にしていただきたい.
(「まえがき」より)
まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
1.分子生物学概観
1.1 DNAとRNA
1.2 セントラルドグマ
1.3 タンパク質
1.4 分子生物学とデータベース
2.配列アラインメント
2.1 ペアワイズアラインメント
2.2 ローカルアラインメント
2.3 線形領域アラインメント
2.4 スコア行列とアラインメントスコアの統計的評価
2.5 ホモロジー検索
2.6 マルチプルアラインメント
3.配列解析
3.1 配列モチーフ
3.2 隠れマルコフモデル
3.3 カーネル法
3.4 ゲノム配列推定
3.5 ゲノム再編成
4.進化系統樹推定
4.1 有根系統樹と無根系統樹
4.2 系統樹の個数
4.3 距離行列法
4.4 最節約法
4.5 進化の確率モデル
4.6 系統樹の評価と比較
5.高次構造解析
5.1 RNA 2次構造予測
5.2 RNA 2次構造比較
5.3 タンパク質立体構造予測
5.4 タンパク質立体構造比較
6.ネットワーク解析
6.1 遺伝子発現データ解析
6.2 遺伝子ネットワーク
6.3 タンパク質相互作用推定
6.4 ネットワーク構造解析
参考文献
新刊
注文する
ページトップへ



13.暗号プロトコルと情報セキュリティ技術
佐古和恵・寺西 勇 著
A5

●内容
 漏洩や改ざんなどの脅威から情報を守る情報セキュリティ技術では,暗号化技術や認証技術がその中核をなす.本書は,それらの基盤となる「暗号プロトコル理論」に焦点を当てて解説する.暗号プロトコルを採用することにより,運用に頼る部分を小さくしつつ,複雑なセキュリティ要件を達成するシステムを設計することが可能となる.

●目次
1. はじめに
2. 暗号プロトコルの基礎概念
1.1 一方向性関数
1.2 トラップドア付き一方向性関数
1.3 ゼロ知識証明
3. 基本的な暗号プロトコル
3.1 認証方式
3.2 デジタル署名
3.3 公開鍵暗号
4. 様々な暗号プロトコル
4.1 封印プロトコル
4.2 秘密分散
4.3 擬似乱数発生
4.4 マルチパーティコンピュテーション
5. 暗号プロトコルの安全性
6. 世の中で使われている暗号技術
6.1 公開鍵認証基盤
6.2 共通鍵暗号
6.3 ハッシュ関数
7. 暗号プロトコルを用いたシステム例
7.1 電子投票システム
7.2 有料衛星放送システム(同報暗号)
7.3 匿名認証システム
新刊
ページトップへ



14.データマイニングのアルゴリズム
有村博紀・宇野毅明 著
A5

●内容
 データから有用な知識を発見するデータマイニングは,近年特に注目されている分野である.本書は,データベース中に頻出するパターンを発見する問題を中心にして,巨大データに対しても効率良く動くアルゴリズムを構築するための最新技術を,理論と実践の両面から解説する.

●目次
1. 頻出集合列挙と基礎的な列挙法
1.1 頻出集合列挙問題
1.2 アプリオリ
1.3 バックトラック
2. 極大頻出集合列挙と枝刈り法
2.1 極大頻出集合列挙問題
2.2 枝狩り
3. 飽和集合列挙と逆探索法
3.1 飽和集合列挙問題
3.2 ppc拡張と逆探索
4. 高速化と省メモリ化
4.1 ビットマップ
4.2 prefix tree
4.3 array list
4.4 down project
4.5 振り分け
4.6 巨大データへの対応
5. 頻出シークエンス列挙
5.1 テキスト
5.2 エピソード
5.3 様々な問題(窓付き, gap数, 長さ制限など)
6. クリーク列挙
7. 木列挙
7.1 順序木
7.2 根付き木
7.3 自由木
新刊
ページトップへ



15.量子計算
松本啓史 著
A5

●目次
1. 量子計算とは
2. 準備1:量子力学観測と状態
3. 準備2:古典計算の理論
4. 量子計算のモデル
5. 可換隠れ部分群問題
6. Grover のアルゴリズム
7. 位相推定アルゴリズム
8. アルゴリズムの最適性と質問計算量
9. 量子酔歩
10. 量子計算機は実現するか
新刊
ページトップへ



16.化学系・生物系の計算モデル
(ISBN978-4-320-12182-1)
萩谷昌己・山本光晴 著
A5,208頁,3000円

●内容
 本書は,ペトリネットを含む状態遷移系の基礎を一通り説明した後,特に化学系・生物系をモデル化するための計算モデルとして,通常の微分方程式やマルチセット書き換え系に加えて,膜構造を持つ状態遷移系,様々な位相構造の入った状態遷移系,離散量と連続量を併せ持つ状態遷移系について解説する。

まえがき (PDFファイル)

●目次 (詳細目次 PDFファイル)
第1章 化学系と生物系の特徴
1.1 化学反応
1.2 細胞と多細胞系
第2章 状態遷移系の基礎
2.1 状態遷移系とは
2.2 マルチセット書き換え系
2.3 ペトリネット
2.4 確率状態遷移系
第3章 化学反応のモデルとシミュレーション
3.1 連続濃度と決定的なシミュレーション
3.2 マルチセットと確率的シミュレーション
第4章 膜構造を持つ計算モデル
4.1 化学抽象機械
4.2 パイ計算
4.3 確率パイ計算
4.4 アンビエント計算
4.5 P システム
4.6 MARMS
第5章 場におけるモデル
5.1 状態=離散,空間=離散,時間=離散
5.2 状態=連続,空間=連続,時間=連続
5.3 状態=連続,空間=離散,時間=離散
5.4 状態=連続,空間=離散,時間=連続
5.5 その他
第6章 離散と連続の融合した計算モデル
6.1 ハイブリッド・オートマトン・モデル
6.2 ハイブリッド・ペトリネット
参考文献
索引
新刊
注文する
ページトップへ


TOPページへ戻る

Copyright (C) 2006 KYORITSU SHUPPAN CO.,LTD.