Transcript pps

Slide 1

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

非可解(unsolvable)
問題Aを解くアルゴリズムが存在しないとき、
Aは非可解であるという。

1


Slide 2

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


Slide 3

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

非可解(unsolvable)
問題Aを解くアルゴリズムが存在しないとき、
Aは非可解であるという。

3


Slide 4

複雑さのクラスP
クラスP
多項式時間で解ける問題のクラス








ソート
グラフの最短経路
平面グラフの判定
最小木
...

4


Slide 5

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

5


Slide 6

計算の複雑さ
なぜ、多項式時間か?
データがn個の問題を解くのに2種類のアルゴリズムがある。
アルゴリズムAは2n回の演算を用いて問題を解く
アルゴリズムBが1000n5回の演算を用いて問題を解く

もし、1秒に1億回の演算をする計算機を使うと、
この問題を解くのにかかる時間は
データ
A

B

10

20

30

40

50

60

70

80

90

10万分の1秒 100分の1秒 11秒 3時間 130日 371年 37万年 4億年 4千億年

1秒

32秒

4分

17分

52分 2時間 5時間

9時間 16時間
6


Slide 7

決定性計算
deterministic computation

start

停止
7


Slide 8

非決定性計算
nondeterministic computation

start

選択

停止
8


Slide 9

複雑さのクラスNP
nondeterministic polynomial
クラスNP
決定問題Aに対し、非決定性アルゴリズムが存在して、
規模nの問題例について、それがyesの解をもつ
場合にはnの多項式オーダー長でyesを与えるものが

少なくとも一つ存在するならば AはクラスNPに属する.








3SAT問題
最大独立点集合問題
ハミルトン閉路
...

9


Slide 10

複雑さのクラスPとNP
簡単
クラスP
多項式時間で解けば

クラスNP
例挙された解が条件を満たすかどうかの判定が
多項式時間で可能でありさえすれば

10


Slide 11

複雑さのクラスPとNP
簡単

最小全域木問題

クラスP
多項式時間で解けば

クラスNP
例挙された解が条件を満たすかどうかの判定が
多項式時間で可能でありさえすれば

11


Slide 12

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





C1 = x1 + x2 + x3
C2 = x2 + x3
C3 = x3 + x4

C1 = x1
C2 = x1

x1=1, x2=0, x3=0, x4=1

x1=1
x1=0

C1 =1
C2 =1
C3 =1
C1 =1, C2 =0
C1 =0, C2 =1
12


Slide 13

複雑さのクラスPとNP
簡単
クラスP

SAT問題

多項式時間で解けば

クラスNP
例挙された解が条件を満たすかどうかの判定が
多項式時間で可能でありさえすれば

13


Slide 14

問題間の帰着
問題Aの任意の問題例Xに対し、問題Bの問題例f(X)を
構成でき、AにおけるXの答(yesあるいはno)とBにおける

f(X)の答が一致するとき、AはBに帰着可能である。
ただし、f は多項式時間で計算できる場合には、
多項式的に帰着可能という。

14


Slide 15

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

15


Slide 16

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

NP完全
P

16


Slide 17

NP完全問題の例
現在、数千(もしくは、さらに多くの)NP完全問題が
知られている。



SAT
3SAT
Clique
Vertex-cover
Vertex-coloring
Edge-coloring
Subset-sum

17


Slide 18

Satisfiability Problem(SAT)
最初にNP完全であることが証明された問題

S.A. Cook 1971年

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





C1 = x1 + x2 + x3
C2 = x2 + x3
C3 = x3 + x4

C1 = x1
C2 = x1

x1=1, x2=0, x3=0, x4=1

x1=1
x1=0

C1 =1
C2 =1
C3 =1
C1 =1, C2 =0
C1 =0, C2 =1
18


Slide 19

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

19


Slide 20

NP完全の証明
演習問題1
Clique 問題がNP完全であることを証明せよ。

Clique問題
グラフが与えられたとき、サイズkのclique(完全部分グラフ)を
持つかどうか判定せよ。


Slide 21

演習問題1

NP完全の証明

Clique 問題がNP完全であることを証明せよ。

証明:

Clique問題がNPに属するのは自明です。


Slide 22

演習問題1

N P 完 全 の 証 明

Clique 問題がNP完全であることを証明せよ。

証明:

Clique問題がNPに属するのは自明です。

3SAT問題がClique問題に多項式時間帰着可能であること
を示せばいい。

知られたNP完全の問題

3SAT問題

多項式時間の帰着
証明したい問題

Clique問題


Slide 23

N P 完 全 の 証 明
3SATのインスタンス


Clique問題
サイズ3のclique?

C1 = x1 + x2 + x3
C2 = x1 + x2 + x3
C3 = x2 + x3 + x4

x1

x1

x2

x2

x3

x3

=1, xx22=1,
=0, xx33=0,
=0, xx44=*
=1
xx11=*,

C1 =1
C2 =1
C3 =1

Yes

x2

x3

Yes

x4
Q.E.D


Slide 24

演習問題2

NP完全の証明

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

出発点

24


Slide 25

N P 完 全 の 証 明
演習問題2
ハミルトングラフ問題がNP完全であることを証明せよ。

証明:

ハミルトングラフ問題がNPに属するのは自明です。

3SAT問題がハミルトングラフ問題に多項式時間帰着可能である
ことを示せばいい。

知られたNP完全の問題

3SAT問題

多項式時間の帰着
証明したい問題

ハミルトングラフ
問題


Slide 26

N P 完 全 の 証 明

部品



B

A

x1

x2

C1 = x1 + x2 + x3
C2 = x1 + x2 + x3
C3 = x1 + x2 + x3

x3


Slide 27

N P 完 全 の 証 明

部品



B

A

x1

ハミルトン閉路

x2

C1 = x1 + x2 + x3
C2 = x1 + x2 + x3
C3 = x1 + x2 + x3

x3

x1 =1
x2 =1
x3 =1

Q.E.D