1 / 27

計算可能性

計算可能性. 計算可能性の理論 可解 (solvable) 非可解 (unsolvable). 問題 A を解くアルゴリズムが存在するとき、 A は可解であるという。. 問題 A を解くアルゴリズムが存在しないとき、 A は非可解であるという。. 非 可 解. プログラムの停止問題は非可解. 入力: プログラム P 、データ x 出力: 計算が有限ステップで停止するならば Yes, そうでなければ No. 計算可能性. 計算可能性の理論 可解 (solvable) 非可解 (unsolvable).

Download Presentation

計算可能性

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 計算可能性 計算可能性の理論 可解(solvable) 非可解(unsolvable) 問題Aを解くアルゴリズムが存在するとき、 Aは可解であるという。 問題Aを解くアルゴリズムが存在しないとき、 Aは非可解であるという。

  2. 非 可 解 プログラムの停止問題は非可解 入力: プログラムP、データx 出力: 計算が有限ステップで停止するならば Yes, そうでなければ No

  3. 計算可能性 計算可能性の理論 可解(solvable) 非可解(unsolvable) 問題Aを解くアルゴリズムが存在するとき、 Aは可解であるという。 問題Aを解くアルゴリズムが存在しないとき、 Aは非可解であるという。

  4. 複雑さのクラスP クラスP 多項式時間で解ける問題のクラス 例 • ソート • グラフの最短経路 • 平面グラフの判定 • 最小木 • . . .

  5. 計算量 多項式オーダー ある定数kを用いて、O(nk)で書けるという意味である。 線形オーダー O(n)と書けるという意味である。

  6. 計算の複雑さ データ   10 20 30 40 50 60 70 80 90 A10万分の1秒 100分の1秒 11秒 3時間 130日 371年 37万年 4億年 4千億年 B1秒        32秒   4分  17分  52分 2時間 5時間  9時間 16時間 なぜ、多項式時間か? データがn個の問題を解くのに2種類のアルゴリズムがある。 アルゴリズムAは2n回の演算を用いて問題を解く アルゴリズムBが1000n5回の演算を用いて問題を解く もし、1秒に1億回の演算をする計算機を使うと、 この問題を解くのにかかる時間は

  7. 決定性計算deterministic computation start 停止

  8. 非決定性計算nondeterministic computation start 選択 停止

  9. 複雑さのクラスNPnondeterministic polynomial クラスNP 決定問題Aに対し、非決定性アルゴリズムが存在して、 規模nの問題例について、それがyesの解をもつ 場合にはnの多項式オーダー長でyesを与えるものが 少なくとも一つ存在するならば AはクラスNPに属する. 例 • 3SAT問題 • 最大独立点集合問題 • ハミルトン閉路 • . . .

  10. 複雑さのクラスPとNP 簡単 クラスP 多項式時間で解けば クラスNP 例挙された解が条件を満たすかどうかの判定が 多項式時間で可能でありさえすれば

  11. 複雑さのクラスPとNP 最小全域木問題 簡単 クラスP 多項式時間で解けば クラスNP 例挙された解が条件を満たすかどうかの判定が 多項式時間で可能でありさえすれば

  12. Satisfiability Problem(SAT) SAT リテラルx1 ,x1 ,x2 ,x2 ,… , xn ,xnから作られたリテラルの和の節C1,C2, …,Cmが与えられたとき、全ての節を1にするような変数への0,1の割り当てがあるかどうか判定せよ。 例 C1 =1 C2 =1 C3 =1 C1 =x1 + x2 + x3 x1=1, x2=0, x3=0, x4=1 C2 =x2 + x3 C3 =x3 + x4 x1=1 例 C1 =1, C2 =0 C1 =x1 C2 =x1 x1=0 C1 =0, C2 =1

  13. 複雑さのクラスPとNP 簡単 SAT問題 クラスP 多項式時間で解けば クラスNP 例挙された解が条件を満たすかどうかの判定が 多項式時間で可能でありさえすれば

  14. 問題間の帰着 問題Aの任意の問題例Xに対し、問題Bの問題例f(X)を 構成でき、AにおけるXの答(yesあるいはno)とBにおける f(X)の答が一致するとき、AはBに帰着可能である。 ただし、f は多項式時間で計算できる場合には、 多項式的に帰着可能という。

  15. NP困難とNP完全(P50,93,138) クラスNPの任意の問題Aがある問題Bに多項式的に帰着 可能であれば、BはNP困難(NP-hard)であるという。 さらに、このB自身がNPに属していれば、 BはNP完全(NP-complete)であるという。

  16. 未解決問題:P=NP ? もしNP完全に属する問題の一つが、多項式時間で解けたら、 クラスNPに属する問題は全て多項式時間で解ける。 即ち、P=NP。 NP 1971年以来世界中の研究者がトライしても、 未解決なので、P=NPだと予想されている。 NP完全 P

  17. NP完全問題の例 現在、数千(もしくは、さらに多くの)NP完全問題が 知られている。 例 • SAT • 3SAT • Clique • Vertex-cover • Vertex-coloring • Edge-coloring • Subset-sum

  18. Satisfiability Problem(SAT) 最初にNP完全であることが証明された問題   S.A. Cook 1971年 SAT リテラルx1 ,x1 ,x2 ,x2 ,… , xn ,xnから作られたリテラルの和の節C1,C2, …,Cmが与えられたとき、全ての節を1にするような変数への0,1の割り当てがあるかどうか判定せよ。 例 C1 =1 C2 =1 C3 =1 C1 =x1 + x2 + x3 x1=1, x2=0, x3=0, x4=1 C2 =x2 + x3 C3 =x3 + x4 x1=1 例 C1 =1, C2 =0 C1 =x1 C2 =x1 x1=0 C1 =0, C2 =1

  19. NP完全の証明 知られたNP完全の問題 多項式時間の帰着 証明したい問題

  20. NP完全の証明 Clique問題 グラフが与えられたとき、サイズkのclique(完全部分グラフ)を 持つかどうか判定せよ。 演習問題1 Clique 問題がNP完全であることを証明せよ。

  21. NP完全の証明 証明: Clique問題がNPに属するのは自明です。 演習問題1 Clique 問題がNP完全であることを証明せよ。

  22. NP完全の証明 知られたNP完全の問題 多項式時間の帰着 証明: Clique問題がNPに属するのは自明です。 3SAT問題がClique問題に多項式時間帰着可能であることを示せばいい。 3SAT問題 演習問題1 Clique 問題がNP完全であることを証明せよ。 証明したい問題 Clique問題

  23. NP完全の証明 3SATのインスタンス Clique問題 サイズ3のclique? 例 C1 =x1 + x2 + x3 C2 =x1 + x2 + x3 x1 x2 x3 C3 =x2 + x3 + x4 x2 x1 x3 x1=*, x2=1, x3=0, x4=* x1=1, x2=0, x3=0, x4=1 C1 =1 C2 =1 C3 =1 x2 x3 x4 Yes Yes Q.E.D

  24. NP完全の証明 グラフGにすべての点を通る閉路Zがあるとき、Gはハミルトングラフ(Hamiltonian graph)といい、Zをハミルトン閉路という。 演習問題2 出発点 ハミルトングラフ問題がNP完全であることを証明せよ。

  25. NP完全の証明 知られたNP完全の問題 多項式時間の帰着 証明: ハミルトングラフ問題がNPに属するのは自明です。 3SAT問題がハミルトングラフ問題に多項式時間帰着可能であることを示せばいい。 3SAT問題 演習問題2 ハミルトングラフ問題がNP完全であることを証明せよ。 証明したい問題 ハミルトングラフ問題

  26. NP完全の証明 部品 例 C1 =x1+ x2+ x3 B A C2 =x1+ x2+ x3 C3 =x1+ x2+ x3 x1 x3 x2

  27. NP完全の証明 部品 例 C1 =x1+ x2+ x3 B A x1 =1 C2 =x1+ x2+ x3 x2 =1 C3 =x1+ x2+ x3 x3 =1 x1 x3 x2 Q.E.D ハミルトン閉路

More Related