approximation of k- set cover by semi - local optimization

33
Approximation of k-Set Cover by Semi-Local Optimization 中中中中中中中 中中中中中中 中中中中中中 中中中中中 ◎中 中中 中中 中中 中中 中中 In Proceedings of the 29th Annual ACM Sympos ium on Theory of Computing,1997, pp.256-264 Rong-chii Duh, Martin Fürer

Upload: nola

Post on 15-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Approximation of  k- Set Cover by Semi - Local Optimization

Approximation of k-Set Cover

by Semi-Local Optimization

中央大学大学院 理工学研究科情報工学専攻 浅野研究室

◎堀 邦彰 黒岩 健二 山下 慶子

In Proceedings of the 29th Annual ACM Symposium on Theory of Computing,1997, pp.256-264

Rong-chii Duh, Martin Fürer

Page 2: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

k-Set Cover Problem

入力:集合 U 上の部分集合の集まり C

ただし各部分集合のサイズは高々 k

部分集合の和は U |U | = n 出力:和集合が U となるような最小の部分集合の

集まり3-Set

2-Set

Page 3: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

仮定: 任意の部分集合はその中のさらに小さな 部分集合をすべて含んでいる

Disjoint k-Set cover problem と考えることができる 選ばれた部分集合は共通部分を持たない

Page 4: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

k-Set Cover 問題について

k-Set cover problem はk = 2 多項式時間で解ける

Matching を利用k 3 NP-complete ≧

Greedy algorithm ,線形計画問題に緩和 局所改善法 などを利用 して近似

一般に,任意に固定した ε> 0 に対して ( 1 - ε) ln n では近似できないといわれている

Page 5: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Algorithm for 2-Set Cover

最大マッチング

Page 6: Approximation of  k- Set Cover by Semi - Local Optimization

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

Page 7: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Semi-Local Optimization 目的関数

1) U をカバーする部分集合の集まりを最小化する

2) 1-Sets の数を減らす

Page 8: Approximation of  k- Set Cover by Semi - Local Optimization

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 上の要素をマッチングを用いてカバーする

局所ステップ

大域に変化を与える

Page 9: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

具体例

GreedyAlgorithm

semi-local(0,1)improvementsemi-local(1,1)improvement semi-local(2,0)improvement

Page 10: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

アルゴリズムの解析

解析のために1) 比較グラフを用いる

アルゴリズムによって求められた解と最適解とを比較するグラフ

2) 補助グラフを用いる求められた解の一部と最適解とによって構成されたグラフ

Page 11: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

比較グラフ

アルゴリズムによって求められた解 = A

最適解 = B

p1

p2 p3

p4

q1 q2 q3

p1

p2

p3

p4

q1

q2

q3

比較グラフ

A={A1 , A2 , A3} A1={p4}, A2={p4} A3={p1 , p2}

B={B1 , B2 , B3} B1=φ, B2= φ B3={q1 , q2 , q3}

Page 12: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

3-Set Cover に対する Semi-Local (2,1)-optimization

algorithm はa1+2a2+3a3 = b1+2b2+3b3 = u

の解を生成するここで | Aj | = aj , | Bj | = bj , | U | = u とする

補題 2.1

p1

p2

p3

p4

q1

q2

q3

比較グラフ

証明: 比較グラフの構成 方法より明らか

Page 13: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

3-Set Cover に対する Semi-Local (2,1)-optimization

algorithm はa1 ≦ b1

の解を生成する

補題 2.2

A1 を含む任意の連結成分は A3 を同じ連結成分内に含むことはできない.なぜなら, A1 からいくつかの A2 を通って A3 に至る任意のパス Pは Semi-Local (0,1)-improvement を導くからである.

証明:

Page 14: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Semi-Local(0,1)-improvement

求められた解 最適解

比較グラフ

(0,1) 改善後

パス P

すべての改善を行なったはずなのでこのような改善は行なえないはずである

Page 15: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

A1 からはじめてこの連結成分内の他のすべての頂点を

始点からの距離によってクラス分けを行なう.距離 2d のすべての A の頂点には唯一,距離 2d+1 の隣接している B の頂点がある.

A1 と A3 は同じ連結成分内にはない

マッチングの最大性に反す

(1,0) 改善可能

A1 を root とする木が構成でき,そのすべての葉は B1 となっている

a1≦b1

Page 16: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

補助グラフ  G=(B, A ーA3)

p1 p3

p4

p5p2

q1

q2

q3

q4

求められた解 最適解

p6

p2

補助グラフ

q1

q2

q3

q4

p1

p3 p5

p4

p6

Page 17: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

3-Set Cover に対する Semi-Local (2,1)-optimization

algorithm はa1+ a2 ≦ b1 + b2 + b3

の解 A を生成する

補題 2.3

補助グラフ G において補助グラフの連結成分は

2 つ以上の閉路を含むことはできない. なぜなら

Semi-Local (2,0)-improvement ( または (1,0) ) を

導くからである.

証明:

Page 18: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Semi-Local(2,0)-improvement

すべての改善を行なったはずなのでこのような改善は行なえないはずである

求められた解 最適解 補助グラフ

(2,0) 改善後

3-Set

Page 19: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

枝の本数は高々補助グラフの頂点の数に等しいくらいしかない.

枝はアルゴリズムによって選ばれた 1-Sets と 2-Sets をあらわしており

頂点は最適解の集合をあらわしている

a1+a2 ≦ b1+b2+ b3

Page 20: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

定理2 . 1

補題2 . 1の等式と補題2 . 2 , 2 . 3の不等式とを加える

ことによって ,

a1+2a2+3a3 = b1+2b2+b3

a1≦b1

a1+a2≦b1+b2+b3

3(a1+ a2+a3) 3≦ b1 +3 b2+4b3

したがって、3a 4≦ b - b1 - b2

+ )

3-Set Cover に対する Semi-Local (2,1)-optimization

algorithm は , 3a 4≦ b - b1 - b2 の解 A を生成する

ここで | A | = a , |B| = b とする証明:

Page 21: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

定理 2.23-Set Cover に対する Semi-Local (2,1)-optimization

algorithm は , 近似比 4/3 の解を生成する

定理2 . 1より

3a 4≦ b ー b1 ー b2 4≦ b

∴ a / b≦ 4/3

証明:

Page 22: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Semi-Local Optimization for k-Set Cover

s 個までの k'-Sets(3≦k'≦k) の挿入と , 現在のカバーからの t 個までの k'-Sets の削除を行う

a a bj

j

k

1 2

1

ja jbj

j

k

j

j

k

1 1

a b1 1

k'-Set でカバーされていない U 上の要素をマッチングを用いてカバーする

3-Set Cover の場合と同様に、次の等式と不等式を得る

Page 23: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

前の等式と不等式を加えると、

k-Set Cover に対する Semi-Local (2,1)-optimization alg

orithm の近似率は である .

3 3 3 11 2

3

1

2

a a ja b j bj

j

k

j

j

k

( )

3 11 1

a k bj

j

k

j

j

k

( )

a

b

k 1

3

k 1

3

Page 24: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Greedy V.S. Semi-Local

6 を超えない k に対しては , Semi-Local optimization

algorithm が greedy algorithm よりも近似率の点で 優れている .

k Greedy Semi-Local4 2.0830 1.665 2.2830 26 2.4500 2.337 2.5928 2.66k H k (k +1)/ 3

k に対する近似率

k が大きいところでは Greedy アルゴリズムを用い, k が小さくなったら Semi-Local を用いる

Page 25: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Greedy-SLI k,l (U,C )

Greedy-SLI k,l アルゴリズムは k-Set Cover Problem

に対し、近似率 Hk - 5/12 の解を生成する (ただし, l =4で k≧ 4である)( Hk :調和数)

定理 3.1

Greedy Phase:

for j ← k downto l +1 do

g reedy に j-Sets の極大集合を選ぶ Semi-Local Improvement Phase for Smaller Sets:

U 内のまだカバーされていない要素上で Semi-Local optimization を行なう

Page 26: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

3-Set Cover に対するアルゴリズム同様, k-Set Cover の Greedy Phase においても, 1-Sets の数を減らすように考慮する.

Greedy Phase において極大集合を選ぶ際 1-Sets が増加しないならばその集合を選ぶ

Page 27: Approximation of  k- Set Cover by Semi - Local Optimization

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 を行う

Page 28: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

定理 3.2k-Set Cover の Restricted_Greedy-SLIk,l の近似率は,k=5 かつ l = 5 あるいは k=4 かつ l=4 に対し,

高々 Hk - 1/2 となる

Page 29: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Color Saving Color Saving とは… 相補目的関数を用いて、最小の色数でグラフを 着色する問題 .

( n 頂点のグラフを着色するのに n 色があると仮定 )

目的 何色が使われていないか [n - ( 使われた色の数 )] を数え

る .

目的関数は , サイズ j の {0,1} 集合 Aj に対して

である

n

j

jaj2

)1(

Page 30: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

Page 31: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

グラフの独立集合を Sets とすると,

Color Saving は Set-Cover problem となる。

Page 32: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

定理 4.1

Semi-local(2.1)-optimization アルゴリズムは,サイズ 3 の最大独立集合を持つグラフに対し,近似率 6/5 の Color Saving Problem の解を生成する

Color Saving Problem の近似率は,高々 である360

289

定理 4.2

Page 33: Approximation of  k- Set Cover by Semi - Local Optimization

k-Set Cover Problem

問題点 近似アルゴリズムの解析が主であり,アルゴリズ

ムの詳細がはっきりとは述べられていない.Semi-Local improvement の順序 ?

また,効率的な順序は ?計算量は ? Color Saving において極大集合をすべて求めて おかなければならないのか ?実装化の複雑さ