330 likes | 597 Views
目次 (Chapter 1). イントロダクション 問題,アルゴリズム,複雑さ 多項式時間アルゴリズムと ‘‘ intractable’’ な問題 証明可能な ‘‘ intractable’’ な問題 NP完全問題 この本の概略. 証明可能な“ intractable ” な問題. ‘‘intractable’’ な問題の存在 “ undecidable ” な問題 “ nondeterministically ” な問題. “ intractable ” な問題の存在.
E N D
目次 (Chapter 1) • イントロダクション • 問題,アルゴリズム,複雑さ • 多項式時間アルゴリズムと ‘‘intractable’’な問題 • 証明可能な ‘‘intractable’’な問題 • NP完全問題 • この本の概略
証明可能な“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) • イントロダクション • 問題,アルゴリズム,複雑さ • 多項式時間アルゴリズムと ‘‘intractable’’な問題 • 証明可能な ‘‘intractable’’な問題 • NP完全問題 • この本の概略
NP完全問題 • 問題の間の相関関係 • NP完全性の理論(Cook の論文)
NP完全問題 • 問題の間の相関関係 • 帰着 (reducing) • NP完全性の理論(Cook の論文)
問題の間の相関関係 • 問題と問題の間にある関係は、アルゴリズムデザイナーに有用な情報を提供する。 • 二つの問題の間に関係があることを示すときに、「帰着」という概念がよく使われる。 • 問題 Aを問題 Bへ帰着 (reducing) するとは: • Aの任意のインスタンスから等価な Bのインスタンスへの構成的な変換(写像)を与えること。 • このような変換は、 Bを解くアルゴリズムを Aを解くアルゴリズムに変換する方法を与える。
問題B インスタンス の集合 アルゴリズム アルゴリズム 解 解 解 帰着 (reducing) 問題A インスタンス の集合 ?
帰着 (reducing) 問題 A 問題 B 問題 Bが解ければ、問題 Aも解ける。 問題2 問題1 これらの問題のうち、1つでも解ければ、他のすべての問題も解ける。 問題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”な問題 “intractable” “nondeterministically”な問題
充足可能性問題(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”な問題 “intractable” “nondeterministically”な問題
NP完全問題(NP-Complete Problems) • 一つの単純な疑問: NP完全問題は“intractable”か? • この問題は未解決である。 • 多くの研究者はNP完全問題が“intractable”であるという予想に同意している。 • 問題がNP完全であることは、少なくとも、それを解く多項式時間アルゴリズムを見つけるためには、重大な大発見が必要であることを示唆している。
NP完全問題(まとめ) • 問題の間の相関関係 • 帰着 • NP完全性の理論(Cook の論文) • 多項式時間帰着可能性 • クラスNP • 充足可能性問題 • NP完全問題
目次 (Chapter 1) • イントロダクション • 問題,アルゴリズム,複雑さ • 多項式時間アルゴリズムと ‘‘intractable’’な問題 • 証明可能な ‘‘intractable’’な問題 • NP完全問題 • この本の概略
この本の概略 • この本は、問題が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