計算複雑さの理論の基礎概念を紹介する.主な概念として,計算機モデル,計算量(時間計算量.領域計算量),計算量クラス,そして還元可能性や完全性を説明する.本講義におけるもっとも重要な点は,計算複雑さの理論における二つの基本定理,時間階層定理と SAT 問題の NP-完全性の証明とその応用である.特定のテーマに関して現在の研究の一端を紹介する.
本講義を履修することによって次の能力を得る:
1) アルゴリズムの効率を正確かつ適切に評価でき,それをアルゴリズムの設計に生かすことができる
2) 問題の計算複雑さの定式化を修得し,その上界,下界を議論することができる
3) 問題の計算複雑さの時間階層が何かを説明することができる
4) 問題の計算複雑さを比較する手法を理解し,それを用いて問題の複雑さを解析することができる
計算モデル,乱択計算モデル,回路計算モデル,時間と領域計算量,回路計算量,計算量クラス,P, NP, EXP, BPP, RP,ZPP,時間階層定理,還元可能性,完全性,NP-完全性,多項式時間階層,対話型証明,回路計算量下界,脱乱化
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | 展開力(実践力又は解決力) |
毎回の授業で,その授業を復習するための演習問題を宿題(締切は次回)として出します.次の授業では,その解答を説明することから解説を始めます.
授業計画 | 課題 | |
---|---|---|
第1回 | アルゴリズムと計算量 | 基本プログラミング言語の定式化 |
第2回 | 回路計算モデル:非一様計算モデルと回路計算量 | 非一様計算の例 |
第3回 | 乱択計算モデル | 乱択計算の例 |
第4回 | 計算量クラス:決定性計算量クラス P, E, EXP | P, E, EXP の同値な定義.これらの計算量クラスの包含関係 |
第5回 | 時間階層定理(1):階層定理証明の準備 | 対角線論法の例 |
第6回 | 時間階層定理(2):階層定理の証明 | 階層定理の証明の重要なポイントの復習 |
第7回 | 時間階層定理(3):階層定理の応用 | P < E の証明 |
第8回 | クラス NP | NP 問題の例 |
第9回 | 計算量クラス間の関係 | P <= NP <= EXP の証明 |
第10回 | 多項式時間還元(1):定式化と例 | 多項式時間還元の例 |
第11回 | 多項式時間還元(2):還元を用いた計算複雑さの解析 | 還元に関する基本定理の証明 |
第12回 | 多項式時間還元(3):SAT の NP-完全性の証明 | 証明の詳細な点の復習 |
第13回 | 多項式時間階層と模倣による計算量クラス間の関係導出(1):導入 | 多項式時間階層に関する基本定理の証明 |
第14回 | 多項式時間階層と模倣による計算量クラス間の関係導出(2):乱択計算量クラスの解析 | Adleman の定理の証明 |
第15回 | 回路計算量下界の証明とその応用 | 脱乱化の具体的な適用例 |
講義資料は講義中に配布する.その後,OCW-i で公開する.
1) M. Sipser, Introduction to the Theory of Computation, 3rd edition, PWS Pub., 2013, ISBN-13: 978-1133187790.
2) D. Du and K. Ko, Theory of Computational Complexity (Wiley Series in Discrete Mathematics and Optimization), 2nd edition, Wiley, 2013 ISBN-13: 978-1118306086.
3) 渡辺治,今度こそわかるP≠NP予想,講談社,2013.ISBN978-4-06-156600-2.
授業後に出題する宿題に対するレポートにより評価する.
履修条件は特に設けないが,プログラミングとアルゴリズムに関する基礎知識が必要である.
Osamu Watanabe watanabe[at]is.titech.ac.jp
メールで事前予約すること.