330 likes | 517 Views
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
E N D
Approximation of k-Set Coverby 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-Setcover 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
Magnusの大域ステップに似た方法で近似比 4/3 今までの研究 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 ) k-Set Cover Problem
2) 1-Sets の数を減らす Semi-Local Optimization • 目的関数 1) U をカバーする部分集合の集まりを最小化する k-Set Cover Problem
2個までの 3-Setsの挿入と現在のカバーからの 1個までの 3-Setsの削除を行なう ① 3-Sets でカバーされていないU上の要素を マッチングを用いてカバーする ② 大域に変化を与える 局所ステップ Semi-Local Optimization for 3-Set Cover 1) greedy algorithm により実行可能解を求める 2) semi-local (2,1)-improvement を可能な限り行なう k-Set Cover Problem
semi-local(0,1)improvement semi-local(1,1)improvement semi-local(2,0)improvement 具体例 Greedy Algorithm k-Set Cover Problem
アルゴリズムの解析 解析のために 1) 比較グラフを用いる アルゴリズムによって求められた解と 最適解とを比較するグラフ 2) 補助グラフを用いる 求められた解の一部と最適解とによって 構成されたグラフ k-Set Cover Problem
p1 A={A1 , A2 , A3} q1 A1={p4}, A2={p4} A3={p1 , p2} p2 q2 p3 B={B1, B2 , B3} q3 p4 B1=φ, B2= φ B3={q1 , q2 , q3} 比較グラフ 比較グラフ q1 q2 q3 p1 p2 p3 p4 アルゴリズムによって 求められた解 = A 最適解 = B k-Set Cover Problem
p1 q1 p2 q2 p3 q3 p4 比較グラフ 補題 2.1 3-Set Cover に対する Semi-Local (2,1)-optimization algorithm は a1+2a2+3a3 = b1+2b2+3b3 = u の解を生成する ここで | Aj | = aj , | Bj | = bj , | U| = uとする 証明: 比較グラフの構成 方法より明らか k-Set Cover Problem
補題 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
パス P 求められた解 最適解 比較グラフ すべての改善を行なった はずなのでこのような改善は 行なえないはずである (0,1) 改善後 Semi-Local(0,1)-improvement k-Set Cover Problem
マッチングの最大性に反する (1,0) 改善 可能 A1 を root とする木が構成でき,そのすべての葉はB1となっている a1≦b1 A1とA3は同じ連結成分内にはない A1 からはじめてこの連結成分内の他のすべての頂点を 始点からの距離によってクラス分けを行なう. 距離2d のすべての A の頂点には唯一,距離2d+1の 隣接している B の頂点がある. k-Set Cover Problem
p1 p3 q1 q4 p6 p4 q2 p2 q3 p5 求められた解 最適解 p2 q1 p6 q3 p3 p1 p5 p4 q2 q4 補助グラフ 補助グラフ G=(B, AーA3) 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
3-Set 補助グラフ 求められた解 最適解 (2,0)改善後 すべての改善を行なった はずなのでこのような改善は 行なえないはずである Semi-Local(2,0)-improvement k-Set Cover Problem
a1+a2 ≦ b1+b2+ b3 枝の本数は高々補助グラフの頂点の数に 等しいくらいしかない. 枝はアルゴリズムによって選ばれた 1-Sets と 2-Sets をあらわしており 頂点は最適解の集合をあらわしている 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-Set Cover Problem
前の等式と不等式を加えると、 k-Set Cover に対する Semi-Local (2,1)-optimization algorithmの近似率は である. k-Set Cover Problem
k が大きいところではGreedy アルゴリズムを用い, k が 小さくなったら Semi-Local を 用いる Greedy V.S. Semi-Local k に対する近似率 6 を超えない k に対しては, Semi-Local optimization algorithm が greedy algorithm よりも近似率の点で 優れている. k-Set Cover Problem
Greedy-SLIk,l(U,C ) • Greedy Phase: forj ← kdowntol +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: forj ← kdowntol +1 do Greedy に j-Sets の極大集合を選ぶ • Restricted Phase: forj ← ldownto 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
ColorSaving • Color Savingとは… 相補目的関数を用いて、最小の色数でグラフを 着色する問題. ( n 頂点のグラフを着色するのに n 色があると仮定) • 目的 何色が使われていないか[n-(使われた色の数)]を数える. 目的関数は,サイズ j の{0,1}集合 Ajに対して である 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の近似率は,高々 である k-Set Cover Problem
問題点 • 近似アルゴリズムの解析が主であり,アルゴリズムの詳細がはっきりとは述べられていない. • Semi-Local improvement の順序? また,効率的な順序は? • 計算量は? • Color Saving において極大集合をすべて求めて おかなければならないのか? • 実装化の複雑さ k-Set Cover Problem