Robust Cost Colorings
Download
Report
Transcript Robust Cost Colorings
Robust Cost Colorings
福永 拓郎 (京都大学)
Magnús M. Halldórsson (Reykjavik University)
永持 仁 (京都大学)
特定領域研究「新世代の計算限界 −その解明と打破−」
平成19年度 第2回 全体会議
2007年12月15日 東北大学
グラフの節点彩色
V の独立集合分割 {C1, …, Ck }
つまり,V = C1 ∪ …∪Ck
Ci ∩ Cj = (i ≠ j )
E [Ci ] =
応用例:機械スケジューリング
時刻
応用例:機械スケジューリング
時刻
色の数 = 機械の数 → 最小化
今日の話
コスト関数付き彩色問題 に対する
ロバストなアルゴリズム
コスト関数:色数最小化以外にもたくさんの目的関数がある
– Threshold Coloring [Bodlaendar, Jansen,95]
– Probabilistic Coloring [Murat, Paschos, 06]
– Entropy Coloring [Cardinal, Fiorini, Joret, 05]
…
ロバスト: どんな目的関数に対しても,そこそこいい解をくれる
– 前もって目的関数が分らなくてもいい(オンライン問題)
– 途中で目的関数が変わってもいい
コスト関数付き彩色問題
問題
入力: 無向グラフ G = (V, E), コスト関数 g: 2V → Q
制約:
{C1, C2 ,…, Ck }: Vの彩色
目的関数: g(C1) + g(C2) + …+ g(Ck) →最小化
コスト関数 g: 重み依存
ある w: V → Q, f : Q → Q に対して
g(C) = f ( w(C) )
ただし, w(C) = vC w(v)
応用例:機械スケジューリング
w: 仕事を外注した時の料金
4
2
機械1台の値段
f (w(C)) := min{w(C), 7 }
6
1
2
2
5
3
2
5
9
6
応用例:機械スケジューリング
機械1台の値段
w: 仕事を外注した時の料金 f (w(C)) := min{w(C), 7 }
コスト= 7
4
5
2
コスト= 4
コスト= 7
2
6
5
コスト= 7
コスト= 4
2
3
2
1
6
9
合計:29 = 3台の機械を買って,残りの仕事は外注したときの値段
彩色問題の色々なコスト関数
色数最小化
Rent or Buy
g(C) = f (w(C)):=1
g(C) = f (w(C))
= min { w(C), T }
f
多段階
f
f
T
w(C)
エントロピー
g(C) = f (w(C))
= -w(C) ln(w(C))
w(C)
w(C)
重み依存
重み非依存
e/(e-1)‐近似
確率的
g(C):= 1-vC (1-w(v))
f
Lpノルム
1
w(C)
g(C):= (vC w(v)p )1/p
結果
f : 単調非減少・凸は
|V |色で塗るのがコスト最小
f :単調非減少・凹
f :単調非減少
G:インターバル
など
4‐近似
8‐近似
G:パーフェクト
w(v) = 1, v V
6‐近似
12‐近似
彩色問題の色々なコスト関数
色数最小化
Rent or Buy
g(C) = f (w(C)):=1
g(C) = f (w(C))
= min { w(C), T }
f
多段階
f
f
T
w(C)
エントロピー
g(C) = f (w(C))
= -w(C) ln(w(C))
w(C)
w(C)
重み依存
重み非依存
e/(e-1)‐近似
確率的
g(C):= 1-vC (1-w(v))
f
Lpノルム
1
w(C)
g(C):= (vC w(v)p )1/p
集合関数によるアプローチ
g : polymatroid
• U W, v W ⇒ g(U + v) + g(W) g(U) + g(W +v)
• U W ⇒ g(U) g(W)
• 0 g(U) |U |
定理 [Gijswijt, Jost, Queyranne, 06]
G: 補インターバルグラフ,コスト関数 g: polymatroid
のとき,コスト最小化彩色問題はNP-困難.
集合関数によるアプローチ
g: value-polymatroid
• g(U) g(W), v U ⋃ W ⇒ g(U + v) + g(W) g(U) + g(W +v)
• U W ⇒ g(U) g(W)
• 0 g(U) |U|
定理 [Gijswijt, Jost, Queyranne, 06]
G: 補インターバルグラフ,コスト関数 g: value-polymatroid
のとき,コスト最小化彩色問題は多項式時間計算可能.
f : 単調凹関数のとき
ポイント: k 色部分グラフ問題のアルゴリズムを
繰り返し適用
k色部分グラフ問題
問題
入力: グラフ G = (V, E), 重み w: V → Q
制約: G[U] が k-彩色可能
目的関数: w(U) → 最大化
次のグラフクラスに対して,多項式時間アルゴリズム
–
–
–
–
インターバルグラフ [Yannakakis, Gavril, 87]
置換グラフ [Saha, Pal, 03]
比較可能グラフ [Cameron, 85]
補比較可能グラフ [Frank, 80]
アルゴリズム:凹関数
1. L := lg χ(G)
A1
A0
AL
A2
AL-1
for i := 0 to L-1
2. 最大重み2i色部分グラフ
Ai V を求め,2i色で塗る
3. G := G - Ai
end for
4. 残った節点をALとし,χ(G)
色で塗る
アルゴリズム解と最適解の比較
2i色
アルゴリズムの解:
・・・
A0 A1 A2
χ(G)色
・・・
AL-1 AL ・・・ AL*
Ai
最適解:
2i-1色
L* = log χOPT
L* L
・・・
B0 B1 B2 B3
・・・
Bi
BL*-1 BL*
アルゴリズム解と最適解の比較
1+20+21+・・・
+2i-1 = 2i色
B0 ⋃ B1 ⋃
A0 ⋃ A1 ⋃ ・・・
⋃ Ai-1 ・・・ ⋃ Bi
w(Ai)
w(A0)+w(A1)+ ・・・ +w(Ai) w(B0)+w(B1)+ ・・・ +w(Bi) for i
近似比
w(A0)+w(A1)+ ・・・ +w(Ai) w(B0)+w(B1)+ ・・・ +w(Bi) for i
w(Ai)+w(Ai+1)+ ・・・ +w(AL*) w(Bi)+w(Bi+1)+ ・・・ +w(BL*) for i
アルゴリズムのコスト
i f ( w(A ) / 2i )
L*
2
i=0
i
凹性より
i f ( w(B ) / 2i ) 単調・凹性と
L*
2
i=0
i
上の関係より
1
2
1
Bi
最適解のコスト
Bi+1
2
2i-1
最適解のコスト
の重み
…
…
の重み
w(Bi+1)/2i
2i
L*-1 i-1
f (w(B0)) + i=1
2 f ( w(Bi+1) / 2i )
よって,
アルゴリズムのコスト
最適解のコスト
L*
i=0
f (w(B0)) +
2i f ( w(Bi) / 2i )
L*
i=2
2i-2
f ( w(Bi) /
2i-1)
4
k 色部分グラフ問題の(α, β)-近似
問題
最大化: w(U)
制約:
G[U] が k-彩色可能
U V が次の条件を満たすとき, (α, β)-近似解であるという.
(ただし, α, β 1).
• G[U] が αk色で彩色可能
• 最適解 U* に対して,w(U*) βw(U)
•
最適解 U* に対して,βw(V-U*) w(V-U)
定理
G: パーフェクトグラフのとき,t に対し α = t, β = t /(t -1).
特に,t = 1.5 とすれば,α = 1.5, β = 3.
近似比
w(A0)+w(A1)+ ・・・ +w(Ai) w(B0)+w(B1)+ ・・・ +w(Bi) for i
w(Ai)+w(Ai+1)+ ・・・ +w(AL*) (w(Bi)+w(Bi+1)+ ・・・ +w(BL*)) for i
×β
アルゴリズムのコスト
i f( w(A ) / 2i )
L*
2
i=0
i
凹性より
L*
i=0
2i f ( w(Ai) / 2i )
L* i
i=0
2 f( w(Bi) / 2i ) 単調・凹性と
L*
i=0
2i
f( w(Bi) /
2i
上の関係より
)
近似比
=
L*
i=0
3・2i-1 f ( w(Bi) / 2i-1 )
L*
i=0
2i f ( w(Bi) / 2i )
アルゴリズムのコスト
最適解のコスト
L*
i=0
2i f( w(Bi) / 2i )
L*
f(w(B0)) + i=2
2i-2 f( w(Bi) / 2i-1 )
6
4
ロバスト性(単調凹コスト関数)
アルゴリズムはf を見ずに解を計算している!!
⇒ アルゴリズムが計算する解は任意のコスト関数の
最適解を同時に近似 !!!
定理:
k色部分グラフ問題が解けるグラフクラスに対しては,
ロバストな4-近似解,パーフェクトグラフに対しては,
ロバストな6-近似解が多項式時間計算可能.
定理:
グラフクラスに関わらず,ロバストな4-近似解となる
彩色が存在する.
f : 単調関数,w(v)=1 (vV)
のとき
ポイント: f から単調凹関数を作って,ア
ルゴリズムを適用する
単調コスト関数 f → f*
|C|=x
f(x)
C*1 C*2 ・・・
C*x/y
|C*i | y
f *(x):=min1yx f(y)・x/y
Cの コスト Cの コスト C*の コスト
x
f* →f**
f **:=最小凹関数 s.t. f ** f*
f *(x):=min1yx f(y)・x/y
2×Cの コスト Cの コスト Cの コスト
x
2近似
Cの コスト Cの コスト C*の コスト
2×Cの コスト Cの コスト C の コスト
2×OPTの コスト
2×OPTの コスト
×OPTの コスト ALGの コスト
ALGの コスト ALG*の コスト
定理
f : 単調関数,w(v)=1 (v V) のとき, 多項式時間で
2-近似可能.ただし, は単調凹関数に対する近似比.
ロバスト性(単調コスト関数)
アルゴリズム
1. 凹関数 f ** に対する-近似解を求める.
⇐ 関数は見ない
2. 近似解の各色 C に対し,y*:= arg min1 y |C| f(y) ・ |C| / y
を計算し,Cをサイズy*以下の色に分割する.
⇐ f を見る
定理
分割によって,任意の単調コスト関数,w(v)=1 (v V)に
対する8-近似解が得られるような彩色が存在する.
まとめ
彩色問題と色々なコスト関数
k色部分グラフ問題と(α, β)-近似
単調凹コスト関数,重みつきの場合とロバスト性
単調コスト関数,重み一定の場合とロバスト性