Approximation of k-Set Cover by Semi-Local Optimization Rong-chii Duh, Martin Fürer In Proceedings of the 29th Annual ACM Symposium on Theory of Computing,1997, pp.256-264 中央大学大学院 理工学研究科 情報工学専攻 浅野研究室 ◎堀 邦彰 黒岩 健二 山下 慶子 k-Set Cover Problem 入力:集合 U 上の部分集合の集まり C ただし各部分集合のサイズは高々 k 部分集合の和は U |U | = n 出力:和集合が U となるような最小の部分集合の集まり 3-Set 2-Set k-Set Cover Problem 仮定: 任意の部分集合はその中のさらに小さな 部分集合をすべて含んでいる Disjoint k-Set cover problem と考えることができる 選ばれた部分集合は共通部分を持たない k-Set Cover Problem k-Set Cover 問題について k-Set cover problem は k=2 多項式時間で解ける Matching を利用 k≧3 NP-complete Greedy algorithm,線形計画問題に緩和 局所改善法 などを利用 して近似 一般に,任意に固定したε> 0 に対して ( 1 -ε) ln n では近似できないといわれている k-Set Cover Problem Algorithm for 2-Set Cover 最大マッチング k-Set Cover Problem 今までの研究 3-Set Cover に対する近似率 11/6 D.S.Johnson ( 1974 ),L.Lovász( 1975 ) 10/6 O.Goldschmidt, D.S.Hochbaum, And G. Yu ( 1993 ) 11/7 Magnus M. Halldórsson ( 1995 ) 7/5 Magnus M. Halldórsson ( 1996 ) Magnus の大域ステップに似た方法で近似比 4/3 k-Set Cover Problem Semi-Local Optimization 目的関数 1) U をカバーする部分集合の集まりを最小化する 2) 1-Sets の数を減らす k-Set Cover Problem Semi-Local Optimization for 3-Set Cover 1) greedy algorithm により実行可能解を求める 2) semi-local (2,1)-improvement を可能な限り行なう 局所ステップ ① 2個までの 3-Sets の挿入と現在のカバーからの 1個までの 3-Sets の削除を行なう ② 3-Sets でカバーされていないU上の要素を マッチングを用いてカバーする 大域に変化を与える k-Set Cover Problem 具体例 Greedy Algorithm semi-local(0,1)improvement semi-local(1,1)improvement k-Set Cover Problem semi-local(2,0)improvement アルゴリズムの解析 解析のために 1) 比較グラフを用いる アルゴリズムによって求められた解と 最適解とを比較するグラフ 2) 補助グラフを用いる 求められた解の一部と最適解とによって 構成されたグラフ k-Set Cover Problem 比較グラフ q1 p1 p2 q2 q3 p3 p4 アルゴリズムによって 求められた解 = A 最適解 = B A={A1 , A2 , A3} A1={p4}, A2={p4} A3={p1 , p2} p1 B={B1 , B2 , B3} B1=φ, B2= φ B3={q1 , q2 , q3} p3 p2 p4 k-Set Cover Problem q1 q2 q3 比較グラフ 補題 2.1 3-Set Cover に対する Semi-Local (2,1)-optimization algorithm は a1+2a2+3a3 = b1+2b2+3b3 = u の解を生成する ここで | Aj | = aj , | Bj | = bj , | U | = u とする p1 証明: 比較グラフの構成 方法より明らか p2 p3 p4 k-Set Cover Problem q1 q2 q3 比較グラフ 補題 2.2 3-Set Cover に対する Semi-Local (2,1)-optimization algorithm は a1≦ b1 の解を生成する 証明: A1 を含む任意の連結成分は A3を同じ連結成分内 に含むことはできない.なぜなら,A1からいくつかの A2を通って A3に至る任意のパスPは Semi-Local (0,1)-improvement を導くからである. k-Set Cover Problem Semi-Local(0,1)-improvement パス P 求められた解 最適解 比較グラフ (0,1) 改善後 すべての改善を行なった はずなのでこのような改善は 行なえないはずである k-Set Cover Problem A1とA3は同じ連結成分内にはない A1 からはじめてこの連結成分内の他のすべての頂点を 始点からの距離によってクラス分けを行なう. 距離2d のすべての A の頂点には唯一,距離2d+1の 隣接している B の頂点がある. A1 を root とする木 (1,0) 改善 マッチング が構成でき,その a1≦b1 可能 の最大性 すべての葉はB1と に反する なっている k-Set Cover Problem 補助グラフ G=(B, AーA3) p1 p6 p2 p3 q1 p4 q2 p5 q3 q4 求められた解 最適解 p2 q1 p1 q2 p6 p3 q3 p5 p4 q4 補助グラフ k-Set Cover Problem 補題 2.3 3-Set Cover に対する Semi-Local (2,1)-optimization algorithm は a1+ a2 ≦ b1 + b2 + b3 の解 A を生成する 証明: 補助グラフ G において補助グラフの連結成分は 2 つ以上の閉路を含むことはできない. なぜなら Semi-Local (2,0)-improvement ( または (1,0) ) を 導くからである. k-Set Cover Problem Semi-Local(2,0)-improvement 求められた解 最適解 3-Set 補助グラフ すべての改善を行なった はずなのでこのような改善は 行なえないはずである (2,0)改善後 k-Set Cover Problem 枝の本数は高々補助グラフの頂点の数に 等しいくらいしかない. 枝はアルゴリズムによって選ばれた 1-Sets と 2-Sets をあらわしており 頂点は最適解の集合をあらわしている a1+a2 ≦ b1+b2+ b3 k-Set Cover Problem 定理2.1 3-Set Cover に対するSemi-Local (2,1)-optimization algorithmは, 3a≦4b-b1-b2の解Aを生成する ここで | A | = a , |B| = b とする 証明: 補題2.1の等式と補題2.2, 2.3の不等式とを加える ことによって, a1+2a2+3a3=b1+2b2+b3 a1≦b1 +) a1+a2≦b1+b2+b3 3(a1+ a2+a3) ≦3b1 +3 b2+4b3 したがって、 3a≦4b-b1-b2 k-Set Cover Problem 定理 2.2 3-Set Cover に対するSemi-Local (2,1)-optimization algorithm は, 近似比 4/3の解を生成する 証明: 定理2.1より 3a≦4bーb1ー b2≦4b ∴ a / b≦ 4/3 k-Set Cover Problem Semi-Local Optimization for k-Set Cover ① s 個までのk'-Sets(3≦k'≦k)の挿入と, 現在の カバーからの t 個までのk'-Setsの削除を行う ② k'-SetでカバーされていないU上の要素を マッチングを用いてカバーする 3-Set Coverの場合と同様に、次の等式と不等式を得る k k ja jb j j 1 j j 1 a1 b1 k a1 a 2 bj j 1 k-Set Cover Problem 前の等式と不等式を加えると、 k k j 3 j 2 k k j 1 j 1 3a1 3a 2 jaj 3b1 ( j 1)bj 3 aj ( k 1) bj a k 1 b 3 k-Set Cover に対する Semi-Local (2,1)-optimization k 1 algorithmの近似率は 3 である. k-Set Cover Problem Greedy V.S. Semi-Local k に対する近似率 k Greedy Semi-Local 4 5 6 7 k 2.0830 2.2830 2.4500 2.5928 Hk 1.66 2 2.33 2.66 (k +1)/3 6 を超えない k に対しては, Semi-Local optimization algorithm が greedy algorithm よりも近似率の点で 優れている. k が大きいところではGreedy アルゴリズムを用い, k が 小さくなったら Semi-Local を 用いる k-Set Cover Problem Greedy-SLI k,l (U,C ) Greedy Phase: for j ← k downto l +1 do greedy に j-Sets の極大集合を選ぶ Semi-Local Improvement Phase for Smaller Sets: U内のまだカバーされていない要素上で Semi-Local optimization を行なう 定理3.1 Greedy-SLI k,l アルゴリズムは k-Set Cover Problem に対し、近似率 Hk - 5/12 の解を生成する (ただし, l=4で k≧4である)(Hk:調和数) k-Set Cover Problem 3-Set Cover に対するアルゴリズム同様, k-Set Cover の Greedy Phase においても, 1-Sets の数を減らすように考慮する. Greedy Phase において極大集合を選ぶ際 1-Sets が増加しないならばその集合を選ぶ k-Set Cover Problem Restricted_Greedy-SLIk,l (U,C ) Greedy Phase: for j ← k downto l +1 do Greedy に j-Sets の極大集合を選ぶ Restricted Phase: for j ← l downto 4 do j-Sets の選択が1-Setsの数を増やさないような 場合に制限して j-Sets の極大集合を選ぶ SLI Phase for 3-Set Cover : U内のまだカバーされていない要素上で Semi-Local optimizationを行う k-Set Cover Problem 定理3.2 k-Set Cover の Restricted_Greedy-SLIk,l の近似率は, k=5かつ l=5 あるいは k=4 かつ l=4 に対し,高々 Hk - 1/2 となる k-Set Cover Problem Color Saving Color Savingとは… 相補目的関数を用いて、最小の色数でグラフを 着色する問題. ( n 頂点のグラフを着色するのに n 色があると仮定) 目的 何色が使われていないか[n-(使われた色の数)]を数える. 目的関数は,サイズ j の{0,1}集合 Aj に対して n ( j 1)a j j 2 である k-Set Cover Problem k-Set Cover Problem グラフの独立集合を Sets とすると, Color Saving は Set-Cover problem となる。 k-Set Cover Problem 定理4.1 Semi-local(2.1)-optimization アルゴリズムは, サイズ 3の最大独立集合を持つグラフに対し, 近似率 6/5 の Color Saving Problem の解を 生成する 定理 4.2 Color Saving Problemの近似率は,高々 360 である 289 k-Set Cover Problem 問題点 近似アルゴリズムの解析が主であり,アルゴリズムの 詳細がはっきりとは述べられていない. Semi-Local improvement の順序? また,効率的な順序は? 計算量は? Color Saving において極大集合をすべて求めて おかなければならないのか? 実装化の複雑さ k-Set Cover Problem
© Copyright 2024 ExpyDoc