近似アルゴリズム 第24章 施設配置 & 第25章 k-メディアン 徳山研究室 M1 鈴木 晶子 発表の流れ • Part1.施設配置 – 容量制限なしメトリック施設配置 – プライマルデュアル法に基づくアルゴリズム – コストに関する定理 • Part2.k-メディアン – メトリック k-メディアン – 実行可能(小数)解を求めるアルゴリズム – 乱数使用ラウンディング – 近似率と計算時間 2 l – 2 クラスタリング問題 Part1. 施設配置 容量制限なしメトリック施設配置 • 入力 – 2部グラフG • 施設の集合F • 都市の集合C – 施設 i の開設コストfi – 都市j の、施設i への接続(利用)コストcij (接続コストは三角不等式を満たすものとする) • 出力 – 開設する施設I⊆F – 各都市の、開設施設への割当φ: C→I – 開設コストと接続コストの総和が最小になるよう にする 問題の定式化 minimize subject to c x f y x 1 ( j C) ij ij iF , jC jF iF i i ij yi xij 0 (i F , j C) xij {0,1} (i F , j C) yi {0,1} (i F ) xij : 都市jが施設iに接続されれば 1, そうでなければ 0 yi : 施設iが開設されれば 1, そうでなければ 0 cij : 都市jの、施設 iへの接続コスト LP緩和と双対問題 主問題 minimize subject to c x f y x 1 ( j C) ij ij iF , jC iF iF i i ij yi xij 0 (i F , j C) xij 0 (i F , j C) yi 0 (i F ) 双対問題 maximize jC j subject to j ij cij (i F , j C) ij fi (i F ) jC j 0 ij 0 ( j C) (i F , j C) j , ij : 双対変数 fi : 施設iの開設コスト 相補条件 • 主相補条件 i. 任意の i F , j C に対して、 xij 0 j ij cij 緩和 開設コストを支払う都市を直接接続の都市、支払わな い都市を間接接続の都市とする。このとき、 間接接続の都市 j に対して、1 3c ( j ) j j ( j ) j c ( j ) j ii. • 任意の i F に対して、 yi 0 jC ij fi 双対相補条件 iii. 任意の j C に対して、 j 0 xij 1 iF iv. 任意の i F , j C に対して、 ij 0 y j xij 相補条件のイメージ • 各都市が、施設への接続と施設の開設にコストを払うと考え る • 都市 j が支払う全コスト: j ij cij – 施設 i に対して、辺(i, j)を利用する接続のコスト: cij – 施設 i の開設に対する j の貢献分: ij 相補条件のイメージ • 各都市が支払うコストは2種類 – 施設を開設するためのコスト – 施設に接続するためのコスト • 都市 j は、接続する施設に対してのみ、開設費用を支払う • 施設 i の開設コストは、この施設に接続されている都市に よって完全に支払われている アルゴリズム24.2―フェーズ1 双対解を求め、仮想的に開設する施設Ft を求める。 • 時間0からスタート • はじめ、各都市は未接続の状態にあるとする t=0 0/2 0/3 0/5 0/5 : unconnected 0/9 0/2 0/1 j 0/5 0/8 fi ( j ij ) cij 0/7 0/4 facility ij 0/6 city • 各都市j に対して、双対変数αj の値を単位時間あたり1 ずつ増加させる アルゴリズム24.2―フェーズ1 • ある辺(i, j)でαj =cij となったとする。 このとき、辺(i, j)はタイトになったと宣言する。 これ以降、βij も一様に増加される。 • βij >0である辺は特別な辺と宣言される。 t=1 ↓ t=2 0/3 0/5 ↓ 1/5 1/2 →2/2 1/9 →2/9 1/5 →2/5 : unconnected 1/2 →2/2 1/1 0/4 facility 1/8 →2/8 1/5 ↓ 2/5 1/7 →2/7 1/6 →2/6 : tight : special city アルゴリズム24.2―フェーズ1 • 施設 i は、 j ij fiのとき完済されたといい、 この施設を仮想的開設と宣言する。 • 仮想的開設の施設にタイトな辺でつながっている未接続の 都市は、既接続と宣言される。 • 施設 i は、これらの都市のそれぞれに対して接続立証人と 2/2 宣言する。 3/3 t=5 ↓ t=6 終了 5/5 4/5 ↓ 5/5 : unconnected 5/9 →6/9 2/2 : connected 1/1 3/4 facility : temporarily open 5/5 5/8 5/7 →6/7 5/6 : tight city : special • すべての都市が既接続になったら、フェーズ1は終了。 アルゴリズム24.2―フェーズ2 実際に開設する施設の集合Iと、 各都市をIに割り当てる関数φを求める • 仮想的開設の施設の集合をFt とする。 • 特別な辺全体からなるGの部分グラフをTとする。 • uとvとを結ぶ長さ高々2のパスがTに存在するとき、その ような辺(u, v)からなるグラフをT2とする。 • Ft で誘導されるT2の部分グラフをHとする。 G T Ft facility city T2 city facility H : temporarily open : tight : special facility city facility アルゴリズム24.2―フェーズ2 I • Hの極大独立集合Iを求める。 • I に含まれる施設を全て開設と宣言する。 open! • 各都市 j に対して、Fj {i Ft | (i, j)は特別な辺} と定義する。 Ft Fp {a, b, c} Fq {b} Fr a p : connected : open b q : temporarily open : tight c r facility city : special アルゴリズム24.2―フェーズ2 • • 各都市をI に割り当てる関数φを求める。 都市j について、3通りの場合を考える。 1. 施設 i Fj が開設されている場合 2. F j のどの施設も開設されていない場合 j の接続立証人i’ について 1. i I のとき a 2. i I のとき b c facility Fp {a, b, c} p : case1 Fq {b} q : case2-2 Fr r : case2-1 city φ:C→Iの求め方 1. 施設 i Fj が開設されている場合 – ( j) i とする – 都市j は施設iに直接接続と宣言される 2-1. F j のどの施設も開設されていない場合で、 j の接続立証人i’が i I を満たす場合 – ( j) iとする rの接続立証人 – 都市j は施設i に 直接接続と宣言される a ( p) a p : case1 q : case2-2 b c facility (r ) a r : case2-1 city φ:C→Iの求め方 Fj のどの施設も開設されていない場合で、 j の接続立証人i’が i I を満たす場合 – i’ は仮想的開設の施設 – I はグラフHの極大独立集合より、 i I となるi’の隣接点 i が存在する – そこで、 ( j) i とし、都市j は施設i に間接接続と宣言さ れる 2-2. a p : case1 (q) a qの接続立証人 H a b iI b q : case2-2 i I c r : case2-1 facility city 定理24.7 アルゴリズムで求められた主問題の解と双対問題 の解は、以下の不等式を満たす。 c x ij ij iF , jC 3 fi yi 3 j iF jC 補題24.4 f e 双対変数 j について、 j j j とする。 f – j :都市 j が支払う、施設開設コスト e – j :都市 j が支払う、開設施設への接続コスト このとき i I とすれば、以下が成立する。 j: ( j ) i f j fi 補題24.4の証明 • 都市 j が支払う施設開設コストは、 j が f – 直接接続の都市であるとき: j ij – 間接接続の都市であるとき: jf 0 • 一方、開設する施設 i について – i は仮想的開設の施設でもある – 施設 i は j ij fi を満たすとき仮想的開設となる – したがって、フェーズ1の終了時には ij fi を満たし j:(i , j )は特別な辺 ている • 施設 i の開設に貢献している都市は、 i に直接接続している 都市のみ f • したがって、 j ij fi 系24.5 j: ( j )i j: jはiに直接接続 f iI i jC f j 補題24.6 間接接続の都市j に対して、 i ( j) とすれば、 cij 3 ej が成り立つ。 [証明] • 施設 i’ を都市 j の接続立証人とする。 • j は i に間接接続されているので、(i, i’)はHの辺 ⇒(i, j’)と(i’, j’)が特別な辺となるような都市 j’ が存在する • 辺(i’, j)はタイトなので、 j cij • 辺(i’, j’)と(i, j’)もタイトなので i j’ j cij かつ j cij 間接接続 i’ j facility city 補題24.6の証明 • i と i’ がフェーズ1で仮想的開設と宣言された時刻を、それぞ れt1, t2とする。 • 2つの辺(i’, j’), (i, j’)はともに特別な辺なので、 i あるいは i’ が仮想的開設と宣言される前にタイトになっている。 • i , i’ のどちらかが仮想的開設と宣言されれば、都市 j’ は既 接続になり、時刻min(t1, t2)以降 jが増加することはない。 つまり、 j min(t1, t2 ) i j’ • また、 i’ が仮想的開設と宣言された 時に j は既接続となるので、 j t2 • よって、 j j i’ • これと j cij , j cij , j cij facility j と三角不等式より、 city cij cij c jj cij cij cij 3 ej 定理24.7の証明 • 都市 j が支払うコストの総和を j とし、 – jf :都市 j が支払う施設開設コスト e – j :都市 j が支払う、開設施設への接続コスト とする。 e e c 3 • 直接接続の都市 j に対して、φ( j )= i のとき、 ij j j が成立する • 補題24.6より、間接接続の都市 j に対して、 φ( j )= i のとき、 cij 3 ej が成立する これらより、 cij xij 3 ej (1) iF , jC jC ここで系24.5より、 fi jf (2) iI jC (2)式を3倍して(1)式に加えると、 cij xij 3 fi yi 3 j iF , jC iF jC アルゴリズム24.2の計算時間 〔アルゴリズムの実装方法〕 • 辺がタイトになる順番と時刻を求めるため、辺をコストの増加 順にソートする。 O(m log m) • 各施設 i に対して、開設費用の完済予想時刻 ti を管理する。 • ti は子を2つもつヒープで管理され、イベントが起こるたびに ヒープが更新される。 O(log n f ) • ヒープ更新の対象となるイベントは2種類。 – 辺(i, j)がタイトになるとき。 – 都市 j が既接続となるとき。 〔計算時間〕 グラフGの辺数をm, 施設の数をnf とすると、 O(m log m) Part2. k-メディアン メトリック k-メディアン • 入力 – 2部グラフG • 施設の集合F • 都市の集合C – 開設できる施設の最大数k(正定数) – 都市j の、施設i への接続コストcij • 出力 – 開設する施設I⊆F(施設の数はk個以下) – 各都市の、開設施設への割当φ: C→I – 接続コストの総和が最小になるようにする 容量制限なしメトリック施設配置 open! 接続コスト 5 開設コスト 10 25 5 10 30 15 25 5 open! 15 施設の集合F 10 15 都市の集合C cost : (10+15)+(5+10+15)=55 問題の定式化 minimize c x subject to x 1 ij ij iF , jC jF ij ( j C) yi xij 0 (i F , j C) yi k iF xij {0,1} (i F , j C) yi {0,1} (i F ) xij : 都市jが施設iに接続されれば 1, そうでなければ 0 yi : 施設iが開設されれば 1, そうでなければ 0 cij : 都市jの、施設 iへの接続コスト k : 開設する施設数の上限 LP緩和と双対問題 主問題 minimize subject to c x x 1 双対問題 maximize ij ij iF , jC jC j zk subject to j ij cij (i F , j C) iF ij z (i F ) yi xij 0 (i F , j C) jC yi k j 0 ( j C) iF ij 0 (i F , j C) xij 0 (i F , j C) z0 y 0 (i F ) ij ( j C) i j , ij : 双対変数 z : 定数(コスト ) k-メディアン問題の解法 • 実行可能小数解を求める ↓ • 乱数使用ラウンディングにより、整数解を求める ↓ • 脱ランダム化を行う k-メディアン問題を解くアイデア • 定理24.7より、施設配置問題に対するアルゴリズムで求めら れた、主問題の解と双対問題の解は c x ij ij iF , jC 3 fi yi 3 j iF jC を満たす。 • ここで施設の開設コストを全てzとし、かつちょうどk個の施設 を開設したとすると c x ij ij iF , jC 3zk 3 j jC 解 ( x, y)はk-メディアン問題に対する最適解に対して3倍以内 のコストになることがわかる。 ⇒この式は、開設する施設の数がk個でないと成立しない ちょうどk個の施設を開設するには? • k2>k個の施設が開設されるzの値z2と、 k1<k個の施設が開設されるzの値z1を求める。 • z1, z2を求める方法⇒区間[0, ncmax]で2分探索を行う – z=0ならば、施設の開設コストがかからない ⇒全ての施設を開設すればよい – z≧ncmax(cmaxは辺の長さの最大値)ならば、ひとつの施設の開設コス トは、全ての施設が支払う接続コストの総和を超えてしまう ⇒開設される施設は1個のみ • cminを非零の辺の長さの最小値としたとき、z1 z2 cmin (12nc2 ) となるようにする(ただし、ncは都市の数) 実行可能小数解を求める方法 • s y iF i k1として、アルゴリズム24.2を実行する。 s s s s ( α , β ) とする。 ( x , y ) 得られた主問題と双対問題の解を , • 同様に iF yil k2 として、アルゴリズム24.2を実行する。 l l l l 得られた主問題と双対問題の解を ( x , y ) , (α , β ) とする。 s s • ( x, y) を、2つの解( x , y ) , ( xl , yl ) の凸結合とする。 ( x, y) a( x s , y s ) b( xl , yl ) • ただし、 k2 k a , k2 k1 k k1 b k2 k1 得られた解は実行可能解? • ( x, y) は施設配置問題に対して、ちょうどk個の施設 を開設するような実行可能(小数)解 • k-メディアン問題に対しても実行可能(小数)解に なっている • アルゴリズム24.2において、各都市に接続している 施設の数は、高々1個 ⇒この手法によって得られる解では、各都市に接 続している施設の数は高々2個 補題25.2 ( x, y)のコストは、k-メディアン問題の最適小数解の コストの(3+1/nc)倍以内である。 [証明] • 定理24.7より、アルゴリズムで求められた主問題の解と双対 問題の解は cij xij 3( j fi yi ) を満たす。 iF , jC jC iF • k-メディアン問題では – 各施設の開設コストは、k1個の施設が開設されるときz1、 k2個の施設が開設されるときz2 s l – iF yi k1, iF yi k2 としているので、以下の式が成り立つ。 s s c x 3 ( ij ij j z1k1) iF , jC jC l l c x 3 ( ij ij j z2k2 ) iF , jC jC 補題25.2の証明 • 2番目の不等式のz2を、z1で置き換える。 z1 z2 cmin (12nc2 ) , iF , jC cij xijl cmin を用いて2番目 の不等式を変形すると、 1 l j z1k2 c x 3 nc jC l ij ij iF , jC が得られる。 s s c x 3 ( • この不等式をb倍して、1番目の不等式 ij ij j z1k1 ) iF , jC jC をa倍したものに加えると、 1 cij xij 3 j z1k iF , jC nc jC s l α a α b α が得られる。(ただし ) 補題25.2の証明 • z1>z2であるので、 (αl , β l ) は、施設開設のコストをz1にした 施設配置問題の双対問題でも実行可能解になっている。 s l s l α a α b α , β a β b β • したがって としたとき、 (α, β, z1) はk-メディアン問題の双対問題の実行可能解に なっている。 したがって、補題が成り立つ。 乱数使用ラウンディング l l s s • A, Bを2つの解 ( x , y ), ( x , y ) で開設される施設の集合と する。 • このとき、 A k1, B k2 (k1 k k2 ) [準備] • 集合Bの中から、k1個の施設を含む部分集合B’⊂Bを選ぶ。 – Aの各施設に対して、Bの施設の中から最も近い施設を探してくる。 – 得られた施設の集合をB’とする。 – |B’|<k1ならば、|B’|=k1となるまで B-B’から勝手に選んでくる。 B’ :開設される施設 :開設されない施設 :集合B’の要素 facility A city facility B 乱数使用ラウンディング • 開設する施設k個を求め、これらの施設の集合をIとする。 – 確率aでAの施設全部を開設し、確率b=1-aでB’の施設全部を開設す る。 – さらに、B-B’からランダムにk-k1個の施設を選んで開設する。 • 各都市をIに割り当てる関数φ:C→Iを定義する。 – 都市 j について考える。 – 2つの解において、j は i1 A と i2 B に接続されているとする。 – i B の場合と 2 i2 B B の場合に分けて考える。 case1 B’ case2 B-B’ facility A city facility B 乱数使用ラウンディング • 各都市をIに割り当てる関数φ:C→Iを定義する。 • case1: i2 Bの場合 – i1とi2のいずれかは必ず開設される。 – 都市 j は開設されたほうの施設に接続される。 • case2: i2 B B の場合 – i3 B をi1に最も近いBの施設とする。 – i2が開設される場合は、i2に接続される。 – i2が開設されずにi1が開設された 場合は、i1に接続される。 i1 – i1もi2も開設されない場合は、 i3に接続される。 i3 B’ i2 B-B’ facility A city facility B 補題25.3 cost( j) aci1 j bci2 j とする。 整数解における、都市 j の接続コストの期待値 E[c ( j ) j ] は、 (1, max(a, b))cost( j)以下である。 さらに、 E[c ( j ) j ]は効率的に計算できる。 [証明] • i2 Bの場合は確率aでi1が、確率bでi2が開設され るので、 E[c ( j ) j ] aci1 j bci2 j cost( j) • 次に i2 B の場合を考える。 補題25.3の証明 • i2 B B のとき、i2が開設される確率を求める。 – i2は、B-B’からランダムに選ばれるk-k1個の施設の中に 含まれていれば、開設される。その確率は、 k k1 k k1 b B B k2 k1 – i2が開設されていなくて、 i1が開設される確率は (1 b)a a2 – i2とi1のどちらも開設されていない確率は (1 b)(1 a) ab したがって、 E[c ( j ) j ] bci2 j a ci1 j abci3 j 2 補題25.3の証明 • i3はi1に最も近い施設であり、接続コストは三角不等式を満た している。したがって、以下の不等式が成り立つ。 ci1i3 ci1i2 ci1 j ci2 j ci3 j ci1 j ci1i3 2ci1 j ci2 j • この式を E[c ( j ) j ] bci j a2ci j abci j に代入して、 2 1 3 E[c ( j ) j ] bci2 j a 2ci1 j ab(2ci1 j ci2 j ) (aci1 j bci2 j ) ab(ci1 j ci2 j ) (aci1 j bci2 j )(1 max(a, b)) i1 いずれの場合も、 E[c ( j ) j ]は容易に計算できる。 i3 j facility A i2 city B’ B-B’ facility B 補題25.4 k k • ( x , y ) を、乱数使用のラウンディング手続きを用い て得られたk-メディアン問題の整数解とする。 • このとき k E cij xij (1 max(a, b)) cij xij iF , jC iF , jC であり、さらに得られる解のコストの期待値は効率 的に計算できる。 脱ランダム化 • 条件付き期待値法を用いて脱ランダム化を行う。 • まず、開設するk1個の施設(AまたはB’)を決定する。 – Aを選び、B-B’からk-k1個の施設をランダムに選んだとき の期待値を計算する。―① – B’を選び、①と同様にして期待値を計算する。―② – ①と②の期待値のうち、小さいほうを選び、対応する施設 (AまたはB’)を開設する。 ①: A + B-B’ ②: B’ + B-B’ B’ B-B’ facility A city facility B 脱ランダム化 • 条件付き期待値法を用いて脱ランダム化を行う。 • 次に、B-B’の中からk-k1個の施設を決定する。 – D⊂B-B’を、|D|≦k-k1であるような施設の集合とする。 – Dの全ての施設と、B-(B’∪D)からk-k1-|D|個の施設をラン ダムに選んで開設したとする。 – このとき解のコストの期待値をE[D, B-(B’∪D)]とする。 B’ D B-B’ facility A city facility B この中から k-k1-|D|個選ぶ 脱ランダム化 • B-(B’∪D)の各施設が開設される確率は等しい。よって、 E[ D, B ( B D)] 1 E[ D {i}, B ( B D {i})] B (B D) iB( BD) が成り立つ。 • この式は、 E[D {i}, B (B D {i})] E[D, B (B D)] を満たす施設 i が存在することを意味している。 • したがって、このような i を選んで、DをD∪{ i }に置き換えて いけば脱ランダム化できる。 近似保証と計算時間 • 定理25.5 アルゴリズムはk-メディアン問題に対して近似率6を達成 し、その計算時間はO(mlogm(L+logn))である。 • 近似保証 – k1 k 1 かつ k2 nc とすれば、a 11 nc – k1 1 かつ k2 k 1 とすれば、b 11 k これらより、1 max(a, b) 2 1 nc (ncは都市の総数) – 補題25.2より、アルゴリズムで得られる実行可能小数解 のコストは、最適小数解のコストの 1 max(a, b)倍以内 – 補題25.4より、アルゴリズムで得られる整数解のコストは 実行可能小数解のコストの 3 1 nc 倍以内 近似保証の上界は (2 1 nc )(3 1 nc ) 6 計算時間 • k2>k個の施設が開設されるzの値と、k1<k個の施設が開設さ れるzの値を、2分探索により求める。 – 探索区間は[0, ncmax]、区間の長さがcmin/(12nc2)となるま で行う – その回数は O(log2 (n3cmax cmin)) O(L log n) 回 (L log(cmax cmin)) – 1回の2分探索にかかる時間は O(m log m) • 乱数使用ラウンディングの計算時間は O(n) • 脱ランダム化の計算時間はO(m) これらより、アルゴリズム全体の計算時間は O(m log m(L log n)) (mは辺の総数) 整数性ギャップ • n+1個の点からなるスターグラフ • 辺のコストは全て1,k=n-1とする • 最適整数解 – Cの要素となる点の中からn-1個の点を開設 – コストは2 • 小数解 – 中心点を1/(n-1),残りの点を(n-2)/(n-1)開設 (n-2)/(n-1) – コストはn/(n-1) • 整数解と小数解との比は 2(n 1) n (n-2)/(n-1) 1 1 : city (n-2)/(n-1) 1 (n-2)/(n-1) 1 : facility (n-2)/(n-1) 1/(n-1) 0 0 2 2 l クラスタリング問題 演習問題25.6 • 入力 d – R のn個の点の集合 S {v1,, vn } – 正定数k • 出力:最小コストのk-クラスタリング d – k個のセンター: f1, fk R – 各点 vi から最も近いセンターまでの距離を di とする 2 d – di について、 i の総和が最小となるようなセンターを求 める f1 f2 f3 f4 k-クラスタリングとk-メディアン …… …… cost(square of Euclidean distance) • k個の施設を開設 ⇒k個のクラスタへの分割 • 各都市の、施設への割り当て ⇒各点の、クラスタへの割り当て facility (centroid of each subset of points) city (n given points) このままの形だと施設の数が多すぎるので、 施設の数を減らす ↓ 施設の集合=入力されたn個の点の集合S k-クラスタリングとk-メディアン cost(square of Euclidean distance) • センターを入力された点集合 Sに限定 • 得られた2部グラフについて、 k-メディアン問題に対する近似 アルゴリズムを適用 facility (n given points) city (n given points) この問題に対する最適解のコストは、 もとの問題に対する最適解のコストの2倍以内になる l 2 2 クラスタリング問題の解のコスト • 点v1,…,vtが一つのクラスタを形成している とし、 v3 このクラスタのセンターをf1とする。 • v1,…,vtのcentroidを c (v1 vt ) t とすると、 t t vi f1 vi c t f1 c 2 i 1 2 c v 1 v2 f1 2 i 1 が成り立つ。 ( u v は、uとvの間のユークリッド距離の2乗) • いま、点cから最も近い点をv1とすると、 t v v i 1 i 1 2 t t vi c t v1 c 2 vi c i 1 2 2 2 i 1 が成り立つ。 よって解のコストは最適解の2倍以内になる。 アルゴリズムの近似保証 • この章で扱った問題はメトリックk-メディアン ⇒接続コストは三角不等式を満たす • 今考えている問題は、辺のコストが距離の2乗 ⇒三角不等式が成立するとは限らない • この場合、アルゴリズム24.2(施設配置問題に対す るアルゴリズム)の近似保証は9になる • 同様に、乱数使用ラウンディングによって得られた 解のコストも、小数解の6倍以内となる • したがって、アルゴリズム全体の近似保証は 2×9×6 = 108
© Copyright 2025 ExpyDoc