Presentation is loading. Please wait.

Presentation is loading. Please wait.

東京大学大学院工学系研究科 計数工学専攻 松井知己

Similar presentations


Presentation on theme: "東京大学大学院工学系研究科 計数工学専攻 松井知己"— Presentation transcript:

1 東京大学大学院工学系研究科 計数工学専攻 松井知己
組合せ最適化問題の近似解法 東京大学大学院工学系研究科 計数工学専攻 松井知己

2 近似解法とは? MAX SAT問題の近似解法 1/2近似解法 0.632近似解法 3/4近似解法 MAX CUT問題 0.878近似解法
発表の目次 近似解法とは? MAX SAT問題の近似解法 1/2近似解法  0.632近似解法 3/4近似解法 MAX CUT問題 0.878近似解法 半正定値計画 MAX 2SAT問題の0.878近似解法

3 近似解法:近似精度の存在する解法. 発見的解法:近似精度は不明. 近似比率: (最大化問題の場合) α近似解法:
近似解法とは? 近似解法:近似精度の存在する解法. 得られる解と最適解との距離の見積もりが存在. 発見的解法:近似精度は不明. 近似比率: (最大化問題の場合) =(得られた解の目的関数値)/(最適値) α近似解法: 近似比率α以上の解を必ず求める解法.

4 MAX SATの近似解法

5 SAT問題(Satisfiability problem:充足可能性問題)
ブール変数:U={a1,a2,a3 } クローズ:Γ={C1 ,C2,C3, C4, C5, C6 } C1 = { a }, C2 = { ¬a1, a2,¬a3 } , C3 = { ¬a1,¬a2,¬a3 } , C4 = { ¬a1,¬a2, a3 } , C5 = { a1,¬a } , C6 = { a1, a3 } (¬a は a の否定を意味する.) Γ中のクローズを    全て真とする. U への真偽割当は    あるか? クローズが真  ⇔クローズ中のリテラルが    少なくとも1つ真

6 Γ中のクローズを全て真とする, U への真偽割当は存在しない.
SAT問題(問題例と真偽割当)  U={ a1, a2, a3 } T T F C1 = { a } ⇒ T C2 = { ¬a1, a2,¬a3 } ⇒ T C3 = { ¬a1,¬a2,¬a3 } ⇒ T C4 = { ¬a1,¬a2, a3 } ⇒ F C5 = { a1,¬a } ⇒ T C6 = { a1, a3 } ⇒ T Γ中のクローズを全て真とする, U への真偽割当は存在しない.

7 SAT問題(Satisfiability problem:充足可能性問題)
入力:ブール変数U,クローズの集合Γ. 質問:∃? U への真偽割当,   Γ中のクローズを全て真となる. リテラル:入力されたブール変数,またはその否定 クローズ:リテラルの集合 クローズが真⇔クローズ中のリテラルが           少なくとも1つは真 NP‐完全である事が示された最初の問題.               [Cook71]

8 T T F 重み C1 = { a2 } 4⇒ T 4 C2 = { ¬a1, a2,¬a3 } 1⇒ T 1
MAX SAT(問題例) U={ a1, a2, a3 }    例題提供:宮本裕一郎       T T F 重み C1 = { a }  4⇒ T 4 C2 = { ¬a1, a2,¬a3 }  1⇒ T 1 C3 = { ¬a1,¬a2,¬a3 } 6⇒ T 6 C4 = { ¬a1,¬a2, a3 }  4⇒ F× C5 = { a1,¬a }  3⇒ T 3 C6 = { a1, a3 } 9⇒ T 9 真となるクローズ重みの総和を最大化. 総和=27 クローズ重み輪 23

9 MAX SAT問題 入力:ブール変数U,クローズの集合Γ. 非負整数のクローズ重みw:Γ→Z. 問題:Γ中の真となるクローズ重みの和が
MAX 2SAT問題もNP‐困難      [ Garey,Johnson and Stockmeyer 71]

10 [D.S.Johnson 74] ●非常に単純なランダム化算法.
MAX SATの1/2 近似解法 [D.S.Johnson 74] ●非常に単純なランダム化算法.

11 1/2近似解法: 各ブール変数を1/2の確率で真とする. 1/2 1/2 1/2 (重み総和=27)
1/2近似解法(数値例) 1/2近似解法: 各ブール変数を1/2の確率で真とする.       1/2 1/2 1/2  (重み総和=27) C1 = { a }  4×(1/2) =2 C2 = { ¬a1, a2,¬a3 }  1×(7/8) =7/8 C3 = { ¬a1,¬a2,¬a3 } 6×(7/8) =21/4 C4 = { ¬a1,¬a2, a3 }  4×(7/8) =7/2 C5 = { a1,¬a }  3×(3/4) =9/4 C6 = { a1, a3 } 9×(3/4) =27/4 真となるクローズ重みの総和の期待値=22 

12 1/2近似解法: 各ブール変数を1/2の確率で真とする. 解析:リテラルをk個含むクローズが 真となる確率は 1-(1/2)kとなる.
真となるクローズの重みの期待値zは, z =∑{ Pr[C が真]w(C )|C ∈Γ }  =∑{ ( 1-(1/2)k )w (C )|C∈Γ,|C |=k }  ≧∑{ (1/2)w(C )|C∈Γ } (重みの総和)≧(最適値)より, z≧∑{ (1/2)w(C )|C∈Γ } ≧ (1/2)*最適値.

13 リテラルをk個以上含むクローズが 真となる確率は 1-(1/2)k以上となる. 任意のクローズが リテラルをk個以上含むならば,
 リテラルをk個以上含むならば,  1/2 近似解法ではなく,   1-(1/2)k 近似解法となる.

14 [Goemans and Williamson 94] ●線形緩和問題を用いる. ●問題例によって確率を変える ランダム化算法.
MAX SATの0.632 近似解法 [Goemans and Williamson 94] ●線形緩和問題を用いる. ●問題例によって確率を変える   ランダム化算法.

15 s.t. xi+xn+i =1 (∀i ), xi∈{0,1} (∀i ),
整数計画への定式化 ブール変数の集合U ={a1,a2,...,an}, クローズの集合Γ= {C1,C2,...,Cm} リテラルの添え字集合{1,2,...,n,n+1,...,2n} ただし1≦i≦nならば,iはリテラルai に, n+1≦n+i≦2nならば,n+i はリテラル¬ai に対応. 変数x1,x2,...,xn , xn+1,xn+2,...,x2n,z 1,z 2,...,z m xi =1 ⇔ リテラルai が真, z j =1 ⇔ クローズCj が真. MS: j=1 max.∑w j z j s.t. xi+xn+i =1 (∀i ), xi∈{0,1} (∀i ),   z j ≦∑ xi (∀j), z j ∈{0,1} (∀j ).               i ∈ cj

16 s.t. xi+xn+i =1 (∀i ), 0≦xi≦1 (∀i ), z j ≦∑ xi (∀j), 0≦z j ≦1 (∀j ).
線形緩和問題 ランダム化算法: (x*,z*)線形緩和問題の最適解. 各ブール変数 ai を確率 xi*で真とする. max.∑w j z j s.t. xi+xn+i =1 (∀i ), 0≦xi≦1 (∀i ),   z j ≦∑ xi (∀j), 0≦z j ≦1 (∀j ).               j=1 i ∈ cj MS:

17 x4 + x2 + x6≧ z2 x4 + x5 + x6≧ z3 x4 + x5 + x3≧ z4 x1 + x5 ≧ z5
ランダム化算法(数値例) max.4z1+1z2+6z3+4z4+3z5+9z6 s.t x ≧ z1     x4 + x2 + x6≧ z2 x4 + x5 + x6≧ z3 x4 + x5 + x3≧ z4 x1 + x ≧ z5 x x3≧ z6 xi + xn+i = 1, 0≦xi , xn+i ≦1(∀ i ) { a }  4 { ¬a1, a2,¬a3 }  1 { ¬a1,¬a2,¬a3 } 6 { ¬a1,¬a2, a3 }  4 { a1,¬a }  3 { a1, a3 } 9 期待値=21.4 ≧ 0.632*MSの最適値≧ 0.632MSの最適値 9*(1ー(1/4)(1/2)) ランダム化算法:  線形緩和問題の最適解 x* =(3/4,3/4,1/2,1/4,1/4,1/2)   MSの最適値=26.⇒ MSの最適値の上界 各ブール変数 ai を確率 xi*で真とする.

18 z j z j * (x*,z*)線形緩和問題の最適解. 各ブール変数 ai を確率 xi*で真とする. 真となるクローズ重みの総和の期待値
ランダム化算法(定義) (x*,z*)線形緩和問題の最適解. 各ブール変数 ai を確率 xi*で真とする. 真となるクローズ重みの総和の期待値   = j=1 i ∈cj ∑w j (1- Π x*[i]) z j [i ]= i +n (i =1,...,n) i ーn (i = n+1,...,2n) |C j |=k ならば,1- Π x*[i]≧ i ∈cj 1‐(1‐1/k )k 補題: z j *

19 1- Π x*[i]≧1‐ (∑ ( 1‐ x*i )/k)
補題の証明 |C j |=k ならば,1- Π x*[i]≧ i ∈cj 1‐(1‐1/k )k 補題: 証明:   相加相乗平均より, 1- Π x*[i]≧1‐ (∑ ( 1‐ x*i )/k)         ≧ 1‐(1‐ /k)k  z*j の関数 1‐(1‐ z*j /k) の凹性より ≧ 1‐(1‐1/k)   z j * i ∈cj i ∈cj Z*j k  z* j

20 ∑ ∑ w j (1- Π x*[i]) ≧∑ ∑ w j z j ≧(線形緩和の最適値) ≧(MAX k’SATの最適値)
(1‐(1‐1/k )k)近似解法 真となるクローズの重みの和の期待値は?  Γk :リテラルをk個含むクローズの集合. MAX k’SATならば, i ∈cj ∑ ∑ w j (1- Π x*[i]) k=1 cj∈ Γk ≧∑ ∑ w j z j k=1 cj∈ Γk (1‐(1‐1/k )k) ≧(線形緩和の最適値) (1‐(1‐1/k’ )k’ ) ≧(MAX k’SATの最適値) (1‐(1‐1/k’ )k’ )

21 ≧(MAX k’SATの最適値) MAX k’SATならば, 期待値 (1‐(1‐1/k’ )k’ )
0.632近似解法 MAX k’SATならば, 期待値 k’   (1‐(1‐1/k’ )k’ ) 1  1 2 /4=0.75‥ 3 /27=0.703‥ 4 /256=0.684‥ ∞  1-1/e=0.632‥ ≧(MAX k’SATの最適値) (1‐(1‐1/k’ )k’ )

22 [Goemans and Williamson 94] ●1/2近似解法 と 0.632近似解法を 組み合わせる.
MAX SATの3/4 近似解法 [Goemans and Williamson 94] ●1/2近似解法 と 0.632近似解法を   組み合わせる.

23 リテラルを k’個含むクローズならば, 1/2近似解法: 真となる確率≧(1‐(1/2)k’ )
1/2近似解法と0.632近似解法 リテラルを k’個含むクローズならば, 1/2近似解法: 真となる確率≧(1‐(1/2)k’ ) .632近似解法:真となる確率≧(1‐(1‐1/k’)k’ ) k’   (1‐(1‐1/k’ )k’ ) (1‐(1/2)k’ ) 1   /2 2 /4=0.75‥ /4=0.75 3 /27=0.703‥ /8=0.875 4 /256=0.684‥ /16=0.9735 ∞  1-1/e=0.632‥

24 が成り立つ. ≧ (MAX SATの最適値) (3/4) 4/3近似解法 1/2近似解法と 0.632 近似解法のうち一方を
  確率(1/2)で選んで実行する. 任意の正整数k’に対し, [(1‐(1‐1/k’ )k’ )+(1‐(1/2)k’ )]/2≧3/4  が成り立つ. 期待値≧ (MAX SATの線形緩和問題の最適値)           [(1‐(1‐1/k’ )k’ )+(1‐(1/2)k’ )]/2     ≧ (MAX SATの最適値) (3/4)

25 ( z1/2 +zLP)/2 ≦ max{z1/2,zLP}
4/3近似解法(実際) 4/3近似解法 1/2近似解法と 近似解法のうち一方を   確率(1/2)で選んで実行する.      下の方が同じかより良い. 1/2近似解法と 近似解法の両方を   実行し良い方を選ぶ. z1/2 :1/2近似解法の期待値 zLP :0.632 近似解法の期待値 ( z1/2 +zLP)/2 ≦ max{z1/2,zLP}

26 脱ランダム化(derandomization)

27 a1 a2 a3が真となる確率( x,1/2,1/2) a1 a2 a3が真となる確率(1,y,1/2)
脱ランダム化 { a }  4 { ¬a1, a2,¬a3 }  1  { ¬a1,¬a2,¬a3 } 6  { ¬a1,¬a2, a3 }  4  { a1,¬a }  3   { a1, a3 } 9  a1 a2 a3が真となる確率( x,1/2,1/2) 期待値= 4(1-1/2)+ 1(1-(1/2)2(1-x)) +6 (1-(1/2)2 (1-x)) +4 (1-(1/2)2(1-x))+3 (1-(1/2) x)+9 (1-(1/2)x) =19+(13/4) x x=1とすれば、22.25 となる. a1 a2 a3が真となる確率(1,y,1/2) 期待値= 4y+ 1(1-(1/2)y) +6 (1-(1/2) (1-y)) +4 (1-(1/2) (1- y))+3 +9 =19+3.5y y=1とすれば、22.5 となる. a1 a2 a3が真となる確率(1,1,z) 期待値= 22+1(1-z) z=1とすれば、23 となる. - 重みの総和=27 1/2近似解法  a1,a2,a3が真となる確率(1/2,1/2,1/2)  期待値=20.6‥ = 4(1-1/2)+1(1-(1/2)3)+6 (1-(1/2)3) +4 (1-(1/2)3)+3 (1-(1/2)2)+9 (1-(1/2)2)

28 MAX CUTの近似解法

29 MAX CUT問題(問題例) カット重み=8       カット重み=14

30 カットの定義 グラフG=(V,E) 頂点集合U⊆V U V-U δ(U):カット w(U):カット重み14

31 MAX CUT問題 入力:無向グラフG=(V,E),非負枝重みw:E→Z. 問題:G中のカットで, 重み最大となるものを求めよ.
   重み最大となるものを求めよ. 頂点部分集合U⊆V に対するカット: δ(U)={e∈E |e はU中の頂点とU に無い頂点を結ぶ} カットδ(U)の重さ:  w(U)= δ(U)中の枝重みの総和. MAX CUT問題:max {w (U ) | U⊆V }                   NP‐困難[ Karp 72]

32 MAX CUTの1/2 近似解法 ●非常に単純なランダム化算法.

33 MAX CUT問題:max {w(U) | U ⊆V } 1/2近似解法: 各頂点を1/2の確率でUに入れる. 解析:各枝について,両端の内
カットの重みの期待値z は, z =∑{ Pr[e  がδ(U)には入る]w (e )| e ∈E }  = ∑{ (1/2)w (e )| e ∈E } (枝重みの総和)≧(最大カットの重み)より, z ≧ (1/2)*最適値

34 MAX CUTの0.878 近似解法 [Goemans and Williamson 95] ●MAX CUTを
  非凸2次連続最適化問題に変形. ●半正定値計画緩和. ●ランダム化アルゴリズム.

35 入力:無向グラフG=(V,E),非負枝重みw:E→Z, S:原点を中心とし,半径1/π の球の表面. (大円の半円弧の長さ=1)
球面配置問題 入力:無向グラフG=(V,E),非負枝重みw:E→Z, S:原点を中心とし,半径1/π の球の表面.   (大円の半円弧の長さ=1) ∀v,∀v’∈ S ,   d(vv’)= v と v’を結ぶ円弧の短い方の長さ. 球面配置問題 グラフGの頂点をS上に配置して,   枝重みと距離の積の総和を最大化する. max{∑w  (i,j) d(v(i )v( j)) | v(i )∈ S (∀ i ∈V )} {i,j }

36 max{∑w (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理 δ(U*):最大カット.
球面配置問題(定理) max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理 δ(U*):最大カット. v (i ∈ U* ) ∀ v∈S, v*(i )={ - v (i∈V-U* )    解v*(i )は球面配置問題の最適解. {i,j } v -v

37 ∑w (i,j) d(v*(i )v*( j))= w (U*) (最大カットの値).
定理の証明(上) 配置v* での目的関数値 ∑w  (i,j) d(v*(i )v*( j))= w (U*) (最大カットの値). (任意の配置vでの目的関数値)≦ w (U*) を示す. H:原点を境界に含む閉半空間. V(H):v(i)のうちHに含まれる点集合. w(H):V(H)に対応するカットの重み. 原点を境界に含む閉半空間  全てを等確率で発生させる. 発生した閉半空間Hに対し,     w(H)の期待値は? {i,j } H

38 原点を境界に含む閉半空間全てを等確率で発生. 発生した閉半空間Hに対し, w(H)の期待値は?
定理の証明(中) 原点を境界に含む閉半空間全てを等確率で発生. 発生した閉半空間Hに対し, w(H)の期待値は? 頂点i,j間の弧の長さ=d(v’(i )v’( j))より, 発生した閉半空間が頂点i,jを分ける確率は, d(v’(i )v’( j))/(大円の半円弧の長さ)=d(v’(i )v’( j)) d(v’(i )v’( j)) i j 半円弧の長さ=1

39 原点を境界に含む閉半空間全てを等確率で発生.
定理の証明(下) 原点を境界に含む閉半空間全てを等確率で発生. 発生した閉半空間Hに対し, w(H)の期待値は?  E[w(H)]=∑w  (i,j) Pr[Hが頂点i,jを分ける]      =∑w (i,j) d(v(i )v( j)) w(H)は発生するカットの重みの期待値より,  E[w(H)]≦ w (U*)  (最大カット重み). 以上より,任意の配置v(i )について,  ∑w  (i,j) d(v(i )v( j))= E[w(H)]≦ w (U*) . {i,j } {i,j } {i,j }

40 max{∑w (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理 δ(U*):最大カット.
球面配置からのカット生成 max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理  δ(U*):最大カット. v (i ∈ U* ) ∀ v∈S, v*(i )={ - v (i∈ V-U* )    解 v*(i )は球面配置問題の最適解. 任意の球面配置vに対し, 原点を境界に含む閉半空間全てを 等確率で発生させる事により, vの目的関数値∑w  (i,j) d(v(i )v( j)) 以上のカットを生成する事が出来る. {i,j } H {i,j }

41 MAX CUT問題と頂点配置問題は本質的に等価. →頂点配置問題を緩和する. ∀v,∀v’∈ S ,
頂点配置問題の緩和 MAX CUT問題と頂点配置問題は本質的に等価.   →頂点配置問題を緩和する. ∀v,∀v’∈ S ,   f(vv’)= v v’ 間の直線距離のπ/2倍の2乗.   (d(vv’)=1 ⇔ v v’はSの直径 ⇔ f(vv’)=1) 距離dをfで置き換える. f(vv’)=(π/2)2||v - v’||2 =(1/2)(1‐π2 v・v’) 1/π 1/2 d S

42 max{∑w (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)}
緩和問題 球面配置問題: max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 緩和問題: max{∑w  (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} {i,j } {i,j }

43 v’ がカット配置⇔∀i,∀j,d(v(i )v( j))は0または1 ⇔ ∀i,∀j, f(v(i )v( j))は0または1
なぜ緩和問題になっているのか? カット配置 v’ : ∃ U :頂点部分集合. v (i ∈ U ) ∃ v∈S, v’(i )={ - v (i∈ V-U). v’ がカット配置⇔∀i,∀j,d(v(i )v( j))は0または1           ⇔ ∀i,∀j, f(v(i )v( j))は0または1 ⇒ ∑w  (i,j) d(v(i )v( j)) =∑w  (i,j) f(v(i )v( j)) ∴ 最大カット配置の目的関数値      =(球面配置問題の最適値)      ≦(緩和問題の最適値) {i,j } {i,j }

44 ∀v,∀v’∈ S , d(vv’)> 0.878 f(vv’) d(vv’)=θ/π f(vv’)=(1-cosθ)/2
距離の比率 定理 ∀v,∀v’∈ S , d(vv’)> f(vv’) d(vv’)=θ/π f(vv’)=(1-cosθ)/2 d(vv’)/f(vv’)  ≧ (2/π)(θ/(1-cosθ)) 1/π 1/2 d S θ min (2/π)(θ/(1-cosθ))=0.878‥ 0≦θ≦π

45 ≧0.878∑w (i,j) f(v’(i )v’( j)) ≧0.878∑w (i,j) f(v*(i )v*( j))
最適値の比率 定理 v’(i ):緩和問題の最適解. (最大カット重み)≧(配置v’(i )の目的関数値)  ≧0.878(球面配置問題の最適値)=0.878(最大カット重み) v’(i ):緩和問題の最適解. v*(i ):球面配置問題の最適解. (最大カット重み)≧∑w  (i,j) d(v’(i )v’( j))     ≧0.878∑w  (i,j) f(v’(i )v’( j))     ≧0.878∑w  (i,j) f(v*(i )v*( j))     =0.878∑w  (i,j) d(v*(i )v*( j) ) {i,j } {i,j } {i, j } {i, j }

46 定理 (緩和問題の最適解の目的関数値) 0.878近似解法 (2)球面配置v’(i )の目的関数値 以上のカットを生成する.
∑w  (i,j) d(v(i )v( j)) 以上のカットを生成出来る. 定理 (緩和問題の最適解の目的関数値)       ≧0.878 (最大カットの重み) 0.878近似解法 (1)緩和問題の最適解配置v’(i )を求める. (2)球面配置v’(i )の目的関数値    以上のカットを生成する. {i,j }

47 [Goemans and Williamson 95] ●球面配置問題の緩和問題を, 半正定値計画問題に変形する.
  半正定値計画問題に変形する.

48 max{∑w (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)}
球面配置問題の緩和問題 球面配置問題=最大カット問題(MC): max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 緩和問題(MC): max{∑w  (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} {i,j } {i,j }

49 max{∑w(i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)}
半正定値行列の出現 MC max{∑w(i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} = max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} 行列Y=[y i j]をy i j =(πv(i))・(πv( j ))と定義する. X =(v(1),..., v(n))とすると, Y= π2X tX より,   (1) Yは半正定値対称行列,   (2) y i i=1  (∀i∈V). が成り立つ. {i,j } {i,j }

50 max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)}
半正定値計画への変形 MC max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} 行列Y=[y i j]をy i j =(πv(i))・(πv( j ))と定義する.     変形       緩和 max. ∑w(i,j) (1-y i j ) sub.to  Y =[y i j]は半正定値対称行列,    y ii=1  (∀i∈V),      Y= π2X tX ,  X =(v(1),..., v(n)). × {i,j } {i,j }

51 max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} || (実はこの2つの問題は等しい)
半正定値計画との等価性 MC max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)}       || (実はこの2つの問題は等しい) max. ∑w(i,j) (1-y i j ) sub.to  Y =[y i j]は半正定値対称行列,    y ii=1  (∀i∈V). ∵(1/π2)Y をCholesky分解→(1/π2)Y= X tX. X =(v(1),..., v(n))とおけば, v(i) はMCの許容解. 緩和問題の最適解と一致する許容解が作れる. {i,j } {i,j }

52 sub.to Y =[y i j]は半正定値対称行列, y ii=1 (∀i∈V).
半正定値計画の一般形 max. ∑w(i,j) (1-y i j ) sub.to  Y =[y i j]は半正定値対称行列,    y ii=1  (∀i∈V). 一般の半正定値計画問題 max. W・Y sub.to  Yは半正定値対称行列,    Qi・Y=bi  ( i∈{1,2,...,m}). ただし,W, Qi は対称行列, A・B=∑i∑j aij bij . 半正定値計画問題は内点法で効率良く解ける. {i,j }

53 [Goemans and Williamson 95] ●MAX 2SATを 制約付MAX CUT問題に変形する.

54 制約付MAX CUT問題 入力:無向グラフG=(V,E), 枝集合E’, 非負枝重みw:E→Z. 問題:G中のカットで,枝集合E’を含み,
   重み最大となるものを求めよ. 球面配置問題: v(i )∈S (∀i∈V) , max ∑w(i,j) d(v(i )v( j)) d(v(i )v( j))=1 (∀{i,j}∈E’) 半正定値計画: max ∑w(i,j) (1-y i j ) Y =[y i j] は半正定値対称行列,    y ii=1 (∀i∈V), y ij =1 (∀{i,j}∈E’) {i,j } {i,j }

55 制約付MAX CUT問題:辺集合E’を含む 最大重みカットを求める E’の枝 E’の枝の両端点は 直径の両端に配置する.
             最大重みカットを求める     E’の枝               E’の枝の両端点は              直径の両端に配置する.

56 MAX 2SAT問題⇒制約付MAX CUT問題
C1 = { a }  4 C2 = { ¬a1, a3 } 1 C3 = { a1,¬a2, } 6 E’の(重み=0) a1 a2 a3 1/2 6/2 E’の枝を含むカットの重み      || a0と同じ側に入らないリテラルを真とした,クローズの重みの総和 a0 6/2 1/2 1/2 6/2 ¬a1 ¬a2 ¬a3

57 おしまい

58 現在までの結果 MAX SAT [Asano 97] MAX 2SAT [Feige and Goemans 95] MAX 3SAT [Karloff and Zwick 97] MAX 3SAT問題に近似比率0.875より良い    多項式時間算法が存在するならば、P=NP.


Download ppt "東京大学大学院工学系研究科 計数工学専攻 松井知己"

Similar presentations


Ads by Google