近似アルゴリズム 第19章 多分割カット 東北大学大学院 情報科学研究科 M1 鈴木晶子 発表の流れ • • • • • 多分割カット問題とその定式化 多分割カット問題に対するLP-緩和 乱数使用ラウンディングアルゴリズム 多分割カット問題の一般化…点型多分割カット問題 点型多分割カット問題の半整数性 2015/10/1 多分割カット問題 • 入力 – ターミナルの集合 S {s1 , s2 ,, sk } V が付随する無向グ ラフ G (V , E ) – 辺に付随する重み関数 w : E R • Gに対する多分割カット – 辺の部分集合で、 除去するとターミナルが それぞれ異なる連結成分に 属するようになるもの s2 s1 2 1 1 2 2 2 2 1 1 3 2 1 s3 多分割カット問題:最小重みの多分割カットを求める問題 2015/10/1 問題の定式化 最小化 c d d 1 eE 制約式 e p e e e ( p P) d e {0, 1} (e E ) • de : 0/1変数 辺e∈Eが多分割カットに選ばれるとき1となる • ce : 辺eの重み • P : 異なるターミナル間を結ぶ全てのパスの集合 2015/10/1 多分割カット問題のLP-緩和 • k :k-1次元の単体 – R k 空間内で {x R k | x 0かつi xi 1} と定義 ( xi は点x のi番目の座標値 ) – k-1次元の凸多面体 • 例: 3 (0,0,1) (0,1,0) (1,0,0) 2015/10/1 どのように緩和するのか? • Gの各点を単体 k の点に写像する • k個のターミナルは、それぞれ単体の異なる頂点に写 像される • その他の点は、単体 k 内のどこかに写像される • 例: 3 (0,0,1) s1 2 1 1 s2 2015/10/1 2 2 2 2 1 1 3 2 1 (0,1,0) s3 (1,0,0) xu=(0.5,0.1,0.4) u v d(u, v) xv=(0.5,0.5,0) d(u,v)=1/2(|0.5-0.5|+|0.1-0.5|+|0.4-0|)=0.4 • xv k を点vが写像される点とする。 • 辺(u, v)∈Eの長さd(u, v)を、xuとxvのl1-距離の1/2倍と して定義する。 k 1 i i d (u, v) xu xv 2 i 1 多分割カット問題のLP-緩和 緩和(19.1) c(u, v)d (u, v) 最小化 ( u ,v )E 1 k i i d (u, v) xu xv 2 i 1 xv k xsi ei 制約式 ((u, v) E ) (v V ) ( si S ) • k {x R | x 0かつi x 1} k i : e R , x 1かつx 0( j i) • e i i k i j (第i 座標の単位ベクトル) 2015/10/1 例題19.2 Δ3への写像 (最小小数多分割カット) もとのグラフ s1 s1 2 s2 (0.5, 0.5, 0) u v 2 2 1 2 1 (0, 1, 0) 1 w 2 s3 最適整数解のコスト =2+1+2+1+2 =8 2015/10/1 1 1 2 1 u (1, 0, 0) s2 0.5 0.5 1 (0.5, 0, 0.5) w v 1 0.5 (0, 0.5, 0.5) (0, 0, 1) 1 s3 最適小数解のコスト =(2点間の距離×辺のコスト)の合計 =(2×0.5)×6+(1×0.5)×3 =7.5 補題19.3 xを緩和(19.1)の実行可能解とする。 一般性を失うことなく、各辺(u,v)∈Eに対して、xuとxvは 高々2つの座標値のみ異なると仮定できる。 [証明] 最小小数解のコストを変えずに、 辺に点を加えて分割していく。 ……… 2015/10/1 補題19.3の証明 • 2点が3個以上の座標で異なるような辺(u,v)∈Eを考え る (u , v ) xu xv 3個以上の座標値が異なっている • この辺を、点wを用いて2つの新しい辺でおきかえる (u, w) (w, v) xw xu xv • ただし、新しくできた辺のコストはc(u,v)と等しいとする – つまり、c(u,v) = c(u,w) = c(w,v) ⇒最適整数解のコストは不変 2015/10/1 補題19.3の証明 • 新しくできた辺のコストはc(u,v)と同じ • 最小小数解のコストが不変であるためには、この条件 に加えて d (u, v) d (u, w) d ( w, v) である必要がある (LP-緩和解のコストはc(u,v)d(u,v)の総和であるため) d (u, v) d (u, w) d ( w, v)が成り立つように xwの座標値を設定する 2015/10/1 xuとxvで値が異なる座標を考える。 値が異なる座標の中で、差が最も小さい座標を第i 座標 とする。 1 i j k xu ( xu ,, xu ,, xu ,, xu ) 差α(最小) 差α以上、 xuj xvj xv ( x ,, x ,, x ,, x ) 1 v i v j v i i と仮定し、 x x xv xu とおく。 xuとxvは – 3個以上の座標で値が異なり – 第i 座標で値の差が最小 – xui xvi かつ xul xvl 1 i u k v i v l l なので、 xuj xvj となるような座標 j が存在する。 そこで、xwを以下のように定める。 xu ( x ,, x ,, x ,, x ) 1 u i u j u k u xwi xui xw ( x , , x ,, ,,xx , x ), x ) , x x xv ( x ,, x ,, x ,, x ) 残りの座標は xvと同じ 1 w v ii uw 1 v i v jj vw j v k w k v k v xui xvi より… x l l w 1 xw k d (u, v) d (u, w) d (w, v) j w j v xu ( x ,, x ,, x ,, x ) 1 u i u j u k u xw ( xv1 ,, xui ,, xvj ,, xvk ) xv ( xv1 ,, xvi ,, xvj ,, xvk ) • uとwの間で異なる座標値の数は、uとvよりも少なくなる • vとwの間で異なる座標値の数は、i とj の2つのみ Eの各辺は、高々k-2回の分割を行えば 異なる座標値の数が2つ以下になる! 乱数使用ラウンディングアルゴリズム • 補題19.3の性質を満たす緩和(19.1)の最適解を用い て、多分割カットを求める • 全体の点の集合Vを、k個の集合V1,…,Vkに分割する • si∈Viとなるように分割する s s 1 1 V1 s2 s3 s2 V2 • 異なる集合間にまたがる辺⇒多分割カット 2015/10/1 V3 s3 準備(1) • x : 緩和(19.1)の最適解 (補題19.3の性質を満たすものとする) • Ei : Ei {(u, v) E | xui xvi } – 両端点のi 座標が異なる辺からなる集合 – 長さ非零の辺は、異なる2つの集合に含まれる • Wi : Wi c(e)d (e) eEi – Wkが最大となるようにターミナルの番号をつけ直す 2015/10/1 準備(2) • B(si,ρ) : ρ∈(0,1)に対して、 B(si , ) {v V | xvi } – 第i 座標に直行射影したとき、ei (si が写像される点)からの 距離が1-ρ以下になる点の集合 • 例:ρ=1/3のときのB(s1,ρ) s3 (0,0,1) (1/3,0,0) (0,1,0) (1,0,0) 2015/10/1 s s 1 2 アルゴリズム19.4(多分割カット) 1. 緩和(19.1)の最適解xを計算する 2. W1,…,Wkのなかで、Wkが最大になるようにターミナ ルの番号を付け替える s1 s1 2 1 u 1 2 v 1 w (0, 1, 0) 2 s3 s2 W1= 5 2015/10/1 (0.5, 0, 0.5) (0.5, 0.5, 0) u 2 2 s2 2 (1, 0, 0) v w (0, 0.5, 0.5) W2= 5 (0, 0, 1) s3 W3= 5 アルゴリズム19.4 3. ρ∈(0,1)とσ∈{(1,2,…,k-1,k), (k-1,k-2,…,1,k)}を一様 にランダムに選ぶ。 4. i=1から1ずつ増加しながら、k-1まで以下を繰り返す V (i ) B(s (i ) , ) j i V ( j ) 手順3のσで選んだ順にVi を決めていく 第i 座標に全ての点を直交射影したとき、 si から1-ρ以下の距離にある点(の集合)をVi とする ただし、一度集合Vi の要素となった点は2度以上選ばない 5. Vk V ik Vi 2015/10/1 最後に、一度も選ばれなかった点の集合をVkとする アルゴリズム19.4 ρ=0.4, σ=(2,1,3)とする s1 (0.5, 0.5, 0) u (0, 1, 0) s2 V2 多分割カット (1, 0, 0) V1 (0.5, 0, 0.5) w V3 v (0, 0.5, 0.5) (0, 0, 1) s3 6. CをV1,…,Vkの異なる集合間にまたがる辺全体とし、 Cを出力する。 2015/10/1 定理19.7 多分割カット問題に対して、3/2近似を達成する乱数 使用近似アルゴリズムが存在する。 この定理を証明するために、 アルゴリズム19.4で得られる多分割カットのコストの 期待値E[c(C)]が E[c(C )] (1.5 1 )OPTf k という不等式を満たすことを示す。 (ただし、OPTf は最適小数解のコストを表す) 2015/10/1 補題19.5 Ei を、 Ei {(u, v) E | xui xvi } を満たす辺の集合 (両端点のi 座標が異なる辺からなる集合)とする。 このとき、 e∈E-Ek ならばPr[e∈C]≦1.5d(e)であり、 e∈Ek ならばPr[e∈C]≦d(e)である。 2015/10/1 補題19.5の証明 • e=(u,v)とする。 • アルゴリズム19.4において、Vをk個の集合V1,…,Vkに 分割したとき、xuとxvが異なる集合に含まれる場合を 考える。 [e∈E-Ek の場合] – xuとxvで値が異なる座標は、i 座標とj 座標であると する – 対称性より、 xui xvi , xvj xuj , xui xvj とする 2015/10/1 i u i v j u j v の配置は以下の場合が このとき、 x , x , x , x 考えられる。 i i j j [ x , x ] [ x , x 《case1 : 区間 u v と v u ]が共通部分を持たない場合》 α 0 β xui xvi xvj i i j xuj 1 j 《case2 : 区間 [ xu , xv ]と [ xv , xu ]が共通部分を持つ場合》 α 0 i u x β j v x i v x j u x ここで、区間α,βを上図のように定義する。 1 α 0 i u β i v j v x x x α 0 i u x j u 1 j u 1 x β j v x i v x x • i, j以外の座標値はxu,xvともに等しい。 したがって、Vi , Vj 以外の集合Vl にxu,xvのどちらか 一方が含まれる場合、もう一方の点もVl に含まれる。 • xu,xvが同じ集合に含まれるのは、 ρ=[0,1]-(α∪β), つまりρが区間α,β以外の区間 に含まれている場合である。 α 0 i u β i v j v x x x α 0 xui j u x 1 xuj 1 β xvj xvi 辺eがカットに含まれる、つまり、 uとvが異なる集合に含まれる可能性があるのは… 1. ρが区間βに含まれるとき 2. ρが区間αに含まれていて、 かつσ( i )<σ( j )のとき (つまりVi のほうがVj より先に決定されるとき) その確率は、 xvi xui xuj xvj d (e) より Pr[e C ] 2 1.5d (e) [e=(u,v)∈Ekの場合] – xuとxvで値が異なる座標は、i 座標とk座標である とする α 0 β xvi xvk xui α 0 i u x xuk 1 k u 1 β k v x i v x x – Vkはρの値に関係なく、Vk=V-(V1∪…∪Vk-1)と 決定される – uとvが異なる集合に含まれる可能性があるのは、 ρが区間αに含まれているとき よって、 Pr[e C ] d (e) (証明終) 補題19.6 アルゴリズム19.4で出力された多分割カットCは 以下の不等式を満たす。 E[c(C )] (1.5 1 )OPTf k 2015/10/1 補題19.6の証明 • OPTf は最適小数解のコストであり、 OPTf e c(e)d (e) と表される。 • Wi は、両端点のi 座標が異なる辺の集合Ei に対し Wi c(e)d (e) と表される。 eEi • 長さ非零の辺は、2つの集合Ei に含まれるので k W 2 OPT i 1 i f • WkはW1,…,Wkの中で値が最大となるものなので 2 Wk c(e)d (e) OPTf k eEk 2015/10/1 補題19.6の証明 したがって、 E[c(C )] c(e) Pr[e C ] eE c(e) Pr[e C ] c(e) Pr[e C] eE Ek 補題19.5より E[c(C )] 1.5 eEk c ( e ) d ( e ) c ( e) d ( e) eE Ek eEk 1.5 c(e)d (e) 0.5 c(e)d (e) eE eEk 2 OPT より、 E[c(C )] (1.5 c ( e ) d ( e ) f eEk k 1 ) OPTf k (証明終) 2015/10/1 定理19.7の証明 演習問題19.4 • 定理19.7 多分割カット問題に対して、3/2近似を達成する乱数使用近 似アルゴリズムが存在する。 • アルゴリズム19.4を多項式回数走らせ、最善のカット を出力することにする。 • このとき、得られたカットのコストc(C)に関して c(C) 1.5 OPTf が高い確率で成り立つことを示す。 2015/10/1 定理19.7の証明 • 補題19.6より、 Pr[c(C ) 1.5 OPTf ] 2 k 2 n • アルゴリズム19.4を多項式回数走らせたとき、 c(C) 1.5 OPTf が成り立つ確率を Chernoff限界を用いて求める。 2015/10/1 Chernoff限界(p.363,付録B.2参照) • n回のPoisson試行を0/1ランダム変数X1,…,Xnで表 す • 0と1はそれぞれ成功・失敗を表す • 1≦ i ≦nに対して0<pi<1で、 Pr[X i 1] pとする i • ランダム変数 X X1 X n とし、 n E[ X ] i 1 pi とする • 0<δ≦1と仮定すると、以下の式が成り立つ。 ( 2 / 2) Pr[X (1 ) ] e 2015/10/1 定理19.7の証明 • アルゴリズム19.4を1回走らせ、解のコストc(C)が c(C) 1.5 OPTf なら成功、 c(C) 1.5 OPTf なら失 敗とする • すると、 Pr[X i 1] 2 が成立 n • アルゴリズムは多項式回数走らせるので、 O(nd ) 回 (dは定数)走らせるとする • このとき成功した回数の期待値E[X]について E[ X ] O(n d ) 2 n O(n d 1 ) が成立する 2015/10/1 定理19.7の証明 • 1 1 ( 2 / 2) として Pr[X (1 ) ] e Pr[X 1] e ( 1)2 / 2 e に代入 O( nd 1 ) • よって、少なくとも1回は成功する確率は Pr[X 1] 1 e O( nd 1 ) (dは定数) となり、高い確率で c(C) 1.5 OPTf が成立すると いえる。 2015/10/1 点型多分割カット問題 • 入力 – 連結な無向グラフG=(V,E) – 点に付随するコスト関数 c : V→R+ – ターミナル集合S={s1,s2,…,sk}⊆V • Gに対する点型多分割カット – V-Sの部分集合で、除くと 各ターミナルが互いに 非連結になるようなもの 3 s1 1 2 2 1 s2 2 〔点型多分割カット問題〕 コスト最小の点型多分割カットを求める問題 2015/10/1 s3 問題の定式化 最小化 c d d 1 vV S 制約式 v p v v v ( p P) d v {0, 1} (v V S ) • dv : 0/1変数 点v∈V-Sが多分割カットに選ばれるとき1となる • cv : 点vのコスト • P : 異なるターミナル間を結ぶ全てのパスの集合 2015/10/1 問題のLP-緩和 LP-緩和(19.2) 最小化 c d d 1 vV S 制約式 v p v v v ( p P) d v 0 (v V S ) • dv : 距離ラベル • パスの長さ:そのパスに含まれる、ターミナルでない 点の距離ラベルの和 s 1 0.6 0.5 0.2 s 2 s1とs2を結ぶ =1.3 パスの長さ • 2点間の距離:2点を結ぶ最短なパスの長さ 2015/10/1 点型多分割カット問題の双対問題 双対問題 LP-緩和(19.2) 最小化 c d d 1 vV S 制約式 v p v v 最大化 v f pP ( p P) d v 0 (v V S ) 制約式 p f p:v p p cv (v V S ) f p 0 ( p P) • fp : 異なるターミナル間を結ぶパスpに沿って流れる フローの流量 • この双対問題は、最大多品種フローを求める問題と 解釈できる。 2015/10/1 相補条件 • d : LP(19.2)の最適解 • f : 双対LPの最適解 とする。相補条件より、 • 主相補条件 – 各 v V S に対して dv 0 ならば、vは飽和している。 つまり、多分割カットに選ばれる点を流れるフローの総量が 点のコストに等しくなる。 ( f p cv ) • 双対相補条件 p:v p – 各パスp∈Pに対して f p 0 ならば、pの長さはちょうど1で ある。 ( d v 1) p:vp 2015/10/1 領域Sと境界B • 点v∈V-Sにdで表される距離ラベルが付随していると する。 • 領域Si : 各ターミナルsi に対して、si から長さ0のパス で到達可能な点の集合(si ∈Si とする) • 境界Bi : Si に隣接する、Si 以外の全ての点の集合 S1 s1 0 1 0 0.5 B1 S3 0 B3 B2 1 1 2015/10/1 s3 0.5 s2 S2 主張19.9 i ≠j に対して、v∈Bi ∩Bj ならばdv =1である。 [証明] si Si v Sj sj • Si ,Sj に含まれる点の距離ラベルは全て0 • si とsj を結ぶパスのうち、パス上の正のコストの点がvのみで あるようなパスが存在する • LP-緩和(19.2)の制約式 dv 1 ( p P )より、各ター v p ミナル間の距離は1以上でなければならない よって、dv =1 2015/10/1 (証明終) 境界の分類 • M : 境界B1,…,Bk に含まれる点の集合 とする。このとき、集合Mを2つの集合に分割する。 • Mint : 2つ以上の境界に含まれる点の集合 • Mdisj : 1つの境界のみに含まれる点の集合 S3 B3 S1 B1 : M int : M disj B2 S2 2015/10/1 点型多分割カット問題の半整数解 • • • • ここで、LP(19.2)の最適解dから、以下のようにして半 整数解を得る。 int disj dから、 M と M に属する点をそれぞれ求める。 M int の各点に距離ラベル1を与える。 M disjの各点に距離ラベル1/2を与える。 残りの点には距離ラベル0を与える。 こうして得られた半整数解hが、LP(19.2)の最適解と なることを示す。 2015/10/1 補題19.10 pは2つの異なるターミナル間のパスでfp>0であるも のとする。 int このとき、pで使用されるMの点は、 M の点ならば ちょうど1点からなり、 M disjの点ならばちょうど2点から なる。 したがって、いずれか一方だけが成立する。 Si si si 2015/10/1 Si v M int v1 M disj Sj v2 M disj sj Sj sj 補題19.10の証明 int pで使用されるMの点が M の点ならば、ちょうど1点 からなることの証明 • 双対相補条件より、 f p 0 なのでpの長さは1 int M • 主張19.9より、 の点の距離ラベルは1 • よって、この点以外にMの点を含むことはできない 2015/10/1 補題19.10の証明 disj pで使用されるMの点が M の点ならば、ちょうど2点 からなることの証明 • pが M disj の点を3点以上含んだとする。 • pをsi からsj へと行くパスとし、 – u,w : p上の M disj に含まれる最初の点と最後の点 – v : p上のそれら以外の任意の sk M disj の点 Sk とする。 si 2015/10/1 Si v M disj p u M disj w M disj Sj sj sk q si Si Sk v u path1 p w Sj sj path2 qを、vからSkの点のみを経由してskに行くパスとする。 ここで、2つのパスを考える。 – path1 : si からvに向かうpのパス + q – path2 : qを逆にしたもの + vからsj に向かうpのパス sk q si Si Sk v u p path1 w Sj sj path2 path1,path2の少なくとも1つは、異なるターミナル間を結ぶ 正しいパスになっている。 その正しいパスは、正の距離ラベルをもつ点がpより1個以上 (少なくともuあるいはwの分だけ)少なくなっている 相補双対条件よりpの長さは1なので、path1,path2は 距離が1未満になってしまう⇒最適解dの条件に矛盾 したがって、補題19.10が成立。 (証明終) 補題19.11 hは、 M int の各点に1を、 M disj の各点に1/2を、残り の各点に0を、それぞれ距離ラベルとして与える LP(19.2)の解であるとする。 このときhは、LP(19.2)の最適解である。 [証明] ターミナルsi からsj へ向かうどの正しいパスpも、2つの境界集 合Bi とBjの点を含む。 このパスpがv∈Bi ∩Bj となる点vを含む場合と含まない場合に ついて、パスpの長さを考える。 si 2015/10/1 Si Sj v p sj Si si v Sj sj • パスpが点v∈Bi ∩Bj を含む場合 M int の定義より、v M int である。 したがって、hv =1となる。 si Si Sj • パスpが点v∈Bi ∩Bj を含まない場合 補題19.10より、パスpは M disj の2つの点を含む。 どちらの場合もpの長さは1以上になる。 したがってhは実行可能解である。 sj 次に、hの最適性を示す。 非零フローf に用いられるパスを、2つの集合に分ける。 sk si Si Sk P1 P2 Sj sj P1 : M int の点を1個用いるパスからなる P2 : M disjの点を2個用いるパスからなる 補題19.10より、この2種類のパスしか存在しない。 sk si Sk P1 Si P2 Sj sj 主相補条件より、 (各 v V S に対して dv 0 ならば、vは飽和している) Mの各点はf で飽和している。 P1,P2に含まれるパスで運ばれるフローの総量は、 P1 : vM in t cv 全体のフローは 1 P2 : vM disj cv 2 1 vM int cv 2 vM disj cv vV S hv cv より、hの目的関数値はf の目的関数値と等しい。 よってhは最適解である。 (証明終) 定理19.12 LP(19.2)は常に半整数解をもつ。 さらに、任意の最適解から半整数最適解が多項式時 間で得られる。 2015/10/1 2-2/k 近似アルゴリズム 1. 2. 3. 4. 5. 演習問題19.11 最後に、点型多分割カット問題に対する2-2/k 近似 アルゴリズムを示す。 LP(19.2)の解dを求める。 d によって表される距離ラベルから、グラフ上の各 点を M intと M disj とその他の点に分割する。 M int の各点に距離ラベル1を、 M disjの各点に1/2を、 残りの点に0を与える。 半整数解を切り上げる。ただし M disj に含まれる点 のうち、ある1つの領域Si に隣接する点のみ0とする。 得られたカットを出力する。 2015/10/1 演習問題19.11 タイトな例 s3 s2 2 1/2 →1 s1 1/2 →1 2 1/2 →1 2 1/2 →0 0 k 2 • 最適半整数解のコスト →1/2×2×k=k • アルゴリズムから得られるコスト →2×1×(k-1)=2(k-1) 2015/10/1 sk
© Copyright 2024 ExpyDoc