スライド 1 - System Architecture and Design Laboratory

目次 (Chapter 1)
1. イントロダクション
2. 問題,アルゴリズム,複雑さ
3. 多項式時間アルゴリズムと ‘‘intractable’’
な問題
4. 証明可能な ‘‘intractable’’な問題
5. NP完全問題
6. この本の概略
証明可能な“intractable”な問題
• ‘‘intractable’’な問題の存在
– “undecidable”な問題
– “nondeterministically”な問題
“intractable”な問題の存在
• “intractable”な問題(多項式時間アルゴリズム
では解けない問題)は実際に存在するか?
• 問題が“intractable”となる要因:
– 問題が難しすぎて、解を求めるのに指数関数時
間必要である。
– 解自身が大きすぎて、入力長の多項式関数で抑
えられた長さの表現では記述できない。
“intractable”な問題の存在
• 解が大きすぎる問題:
例: 巡回セールスマン問題の変形
• インスタンスに追加パラメータ B を持たせる。
• 「長さが B 以下のすべての巡回路を求めよ」
• この問題に対して、指数的に多くの巡回路が B 以下
の長さを持つように、インスタンスを構成可能。
• すなわち、解を全て書き出すことのできる多項式時間
アルゴリズムは存在しない。⇒“intractable”
しかし、このような問題は非現実的である。
• 我々が関心を向けるのは、一つめの要因に
絞られる。
“undecidable”な問題
• “undecidable”な問題:
– その問題を解くアルゴリズムが存在しない問題
• 1936年,アラン・チューリング
– 「任意のコンピュータプログラムと、そのプログラ
ムへの任意の入力が与えられたとき、そのプログ
ラムが有限時間内で停止するか否かを判定せ
よ」
– この問題を解くことのできるアルゴリズムは存在
しないことを示した。
“undecidable”な問題
• 現在、様々な“undecidable”な問題が知られてい
る:
– 有限表現群に関する自明な問題 [Rabin,1958]
– ヒルベルトの第十問題(整数上の多項式の解決可能性)
[Matijasevic,1970]
– “Tiling the plane”の問題 [Berger,1966]
• これらの問題は、どんなアルゴリズムでも(ましてや
多項式時間アルゴリズムなんかでは到底!)解けな
いので、強い意味で“intractable”である。
“nondeterministically”な問題
• “decidable”な(すなわち、“undecidable”でない)問題
の中に、“intractable”な問題を最初に見つけたの
は、Hartmains と Stearns [1965] であった。
• しかし、彼らの結果は、非常に特別な性質を持つ、
「人工的な」問題に限られていた。
• これに対して、「自然な」“decidable”問題のうちで
“intractable”な問題は、 Meyer と Stockmeyer
[1972],Fischer とRabin [1974]によって与えられた。
• これらの問題は、現在“nondeterministically”な問
題として類別されている。
“nondeterministically”な問題
• “nondeterministically”な問題:
– “nondeterministic”コンピュータモデルでは、多項式時
間では解けない問題
• “nondeterministic”コンピュータモデル:
– 無限個の独立な計算を、並列に追跡する能力を持つ計算
機モデル
• 注: “nondeterministic”コンピュータモデルは、
“reasonable”な計算機モデルではないが、NP完全
性の理論において重要な役割を担っている。
(Chapter 2 で詳しく説明)
証明可能な“intractable”な問題
(まとめ)
• 現在知られている“intractable”な問題は、
– “undecidable”な問題
– “nondeterministically”な問題
のどちらかである。
• もし、このどちらかであることを示すことができれば、
問題が“intractable”であることを証明できる。
• しかしながら、実際に遭遇する、一見“intractable”
に見える問題の多くは、上のどちらにも属さない。
目次 (Chapter 1)
1. イントロダクション
2. 問題,アルゴリズム,複雑さ
3. 多項式時間アルゴリズムと ‘‘intractable’’
な問題
4. 証明可能な ‘‘intractable’’な問題
5. NP完全問題
6. この本の概略
NP完全問題
• 問題の間の相関関係
• NP完全性の理論(Cook の論文)
NP完全問題
• 問題の間の相関関係
– 帰着 (reducing)
• NP完全性の理論(Cook の論文)
問題の間の相関関係
• 問題と問題の間にある関係は、アルゴリズムデザイ
ナーに有用な情報を提供する。
• 二つの問題の間に関係があることを示すときに、
「帰着」という概念がよく使われる。
• 問題 A を問題 B へ帰着 (reducing) するとは:
– A の任意のインスタンスから等価な B のインス
タンスへの構成的な変換(写像)を与えること。
– このような変換は、 B を解くアルゴリズムを A を
解くアルゴリズムに変換する方法を与える。
帰着 (reducing)
問題 A
問題 B
インスタンス
の集合
インスタンス
の集合
?
アルゴリズム
アルゴリズム
解
解
帰着 (reducing)
問題 A
問題 B
問題 B が解ければ、
問題 A も解ける。
これらの問題のうち、1つで
も解ければ、他のすべての 問題1
問題も解ける。
問題2
問題3
⇒同じ難しさの問題
問題5
問題4
NP完全問題
• 問題の間の相関関係
• NP完全性の理論(Cook の論文)
– 多項式時間帰着可能性
– クラスNP
– 充足可能性問題
– NP完全問題
NP完全性の理論
• NP完全性の理論の基盤は、1971年に提出された
Stephen Cook の論文:
“The Complexity of Theorem Proving Procedures”
に用意されていた。
• Cook は、まず多項式時間帰着可能性に注目した。
• 多項式時間帰着可能:
– 帰着に要求される変換が、多項式時間アルゴリ
ズムによって実行できること
多項式時間帰着可能性
(Polynomial Time Reducibility)
問題 A
インスタンス
の集合
多項式時間
アルゴリズム
変換
多項式時間
アルゴリズム
変換
解
問題 B
インスタンス
の集合
アルゴリズム
解
多項式時間帰着可能性
(Polynomial Time Reducibility)
• 問題 A が問題 B へ多項式時間帰着可能であり、
問題 B に対する多項式時間アルゴリズムが存在す
るとき、問題 A を解く多項式時間アルゴリズムの存
在がいえる。
多項式時間帰着可能性
(Polynomial Time Reducibility)
問題 A
インスタンス
の集合
問題 B
多項式時間
アルゴリズム
インスタンス
の集合
多項式時間
アルゴリズム
解
多項式時間
アルゴリズム
解
クラスNP (Class NP)
• 次に Cook が注目したのは、クラスNPであった。
• クラスNP:
– “nondeterministic”コンピュータ上で、多項式時
間で解くことのできる判定問題のクラス
– 判定問題: 解が“yes”か“no”である問題
• 実際に遭遇する“intractable”に見える問題は、判
定問題に言い換えたとき、このクラスに属する。
クラスNP (Class NP)
判定問題
クラスNP
“undecidable”な問題
“nondeterministically”な問題
“intractable”
充足可能性問題
(Satisfiability Problem)
• 充足可能性問題は、クラスNPに属する問題の一つ
である。
• Cook は、次のことを証明した:
– クラスNPに属するすべての問題は、充足可能性
問題に多項式時間帰着可能である。
– すなわち、充足可能性問題を解く多項式時間ア
ルゴリズムが存在するならば、NPに属するすべ
ての問題には、多項式時間アルゴリズムが存在
する。
充足可能性問題
(Satisfiability Problem)
• このことは、充足可能性問題が、NPの中で、ある意
味「最も難しい」問題であることを意味している。
クラスNP
充足可能性問題
問題
問題
問題
問題
NP完全問題
(NP-Complete Problems)
• 最後に、Cook は充足可能性問題の他にも、「最も
難しい」という性質を持つ問題がNPの中にあること
を予想した。
• この予想は事実であり、1972年、 Rechard Karp
は、巡回セールスマン問題を含む、多くの組み合わ
せ問題の判定問題版が、充足可能性問題と「同じ
難しさ」であることを証明した。
• その後も、多くの問題がこれらの問題と「同じ難しさ」
であることが証明され、このような問題で構成される
クラスは「NP完全問題のクラス」と名付けられた。
NP完全問題
(NP-Complete Problems)
クラスNP
問題
NP完全問題のクラス 問題
問題
充足可能性問題
問題
問題
問題
問題
問題
NP完全問題
(NP-Complete Problems)
判定問題
クラスNP
NP完全問題のクラス
“undecidable”な問題
“nondeterministically”な問題
“intractable”
NP完全問題
(NP-Complete Problems)
• 一つの単純な疑問:
NP完全問題は“intractable”か?
• この問題は未解決である。
• 多くの研究者はNP完全問題が“intractable”であ
るという予想に同意している。
• 問題がNP完全であることは、少なくとも、それを解く
多項式時間アルゴリズムを見つけるためには、重大
な大発見が必要であることを示唆している。
NP完全問題(まとめ)
• 問題の間の相関関係
– 帰着
• NP完全性の理論(Cook の論文)
– 多項式時間帰着可能性
– クラスNP
– 充足可能性問題
– NP完全問題
目次 (Chapter 1)
1. イントロダクション
2. 問題,アルゴリズム,複雑さ
3. 多項式時間アルゴリズムと ‘‘intractable’’
な問題
4. 証明可能な ‘‘intractable’’な問題
5. NP完全問題
6. この本の概略
この本の概略
• この本は、問題がNP完全であるかどうかを決定す
る方法における入門書である。
• さらに、NP完全であることが知られた問題を扱う際
に利用できる、いくつかの方法についても議論する。
この本の概略
Chapter 2: The Theory of NP-Completeness


NP完全性の正式な定義
Cook の定理の証明
Chapter 3: Proving NP-Completeness Results

問題がNP完全であることの証明法
(既知のNP完全問題からの多項式帰着)
Chapter 4: Using NP-Completeness to Analyze
Problems

NP完全性を用いた問題の複雑さの解析
Chapter 5: NP-Hardness

判定問題から一般の問題への拡張
この本の概略
Chapter 6: Coping with NP-Complete Problems

近似アルゴリズムに関する話題
Chapter 7: Beyond NP-Completeness

計算の複雑さに関する話題
Appendix: A List of NP-Completeness Problems


NP完全であることが知られている問題のリスト
Open Problem