EWLS: A New Local Search for Minimum Vertex Cover

「EWLS: A New Local Search for Minimum Vertex Cover」の編集履歴(バックアップ)一覧はこちら

EWLS: A New Local Search for Minimum Vertex Cover」(2015/06/22 (月) 15:48:24) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

* EWLS: A New Local Search for Minimum Vertex Cover - Shaowei Cai, Kaile Su, Qingliang Chen - AAAI 2010 * 概要 - 最小頂点被覆を求めたい - 理論的には2近似は最高,1.3606未満はNP-hard - ヒューリスティック - 辺重み付けと上界見積もりが新規な点 - DIMACSとBHOSLIBで検証 * 動機付け - 何故最小頂点被覆をしたいのか? - 応用:ネットワークセキュリティ,スケジュール,VLSI設計 - 最大独立集合・最大クリークと関連がある(そのまんま) - SATはいい感じの手法が沢山→頂点被覆を変換すれば?→流石にでかすぎて - しょうがないので特化させた手法を作るよ * 提案手法 - cost(C) = Cで被覆してない辺の重みの総和 -- 重みは適応的に変化する - dscore(v,C) = cost(C)-cost(C') -- C'=C-v or C+v の変化がある方 -- Cをvについて変化させた時の変化 - score(u,v) = (Cのコスト)-(C-u+vのコスト) - これをどう使うのか? -- score(u,v)>0 ならC-u+vとする価値があると判断 - 頂点被覆になってない集合Cについて -- 最適解のサイズは|C|+|Cで被覆されない辺|で上から抑えられる(上界) ** 概要 - 入力:G=(V,E), δ, maxstep -- δの意味:常に|C|=上界-δとなるようにする -- 上界が更新される度にCが1小さくなる - C: 解 - L: Cで被覆されない辺集合 - UL⊆L: ↑の内チェックされてない + 適当に頂点被覆を作り,δ捨てる + while step < maxstep + u削除,v追加なu,vを見つける(但し,前々の状態に戻らない)§ ++ 有:C←C-u+v, ++ 無:L中の辺重み++,Cを適当に変える(局所解にハマった) + |C|+|L|<上界なら ++ 上界更新 ++ C*←Cから作った頂点被覆(Lの頂点を追加) + end - 辺の重み更新は局所解にハマった時だけ更新 - 既存のアプローチはステップ毎 - §の処理 - 被覆されない期間が長い程選ばれやすい + L中で最長老辺(v1*,v2*)について,u∈C, v=v1* or v2*, score(u,v)>0なu,vを返す -- 少しでも良くなるなら最長老を加える + UL中で老いてる順に上と同じことをする -- 前のステップとかでもう確認しちゃったら見ない - δの効果 -- 大きすぎると,C*が微妙 -- 小さすぎると,? * 実験 - DIMACS Clique Benchmark -- めっちゃ密:|V|=4 000, |E|=4 000 268がほぼ最大 -- これならクリークのために補グラフとってもいいわけだ - BHOSLIB (Benchmark with Hidden Optimum Solutions) -- SAT'04コンテスト -- こっちも密 - 評価指標 -- 100回中最適解が得られた比率 -- 最適解が得られた時の平均時間 - PLS,COVERでは最適解が得られなかったもので得られたのがある - 比率が良い * まとめ - scoreでキューに突っ込むとかはしないのね - 局所解にハマるんかな - 実験がベンチマーク次第という感じがして果てしなく微妙 - 比率で測るのか… - AAAIだからしょうがないけど,手法の挙動の実験的解析が無いから微妙なんだ… &tags() 2015/06/22 15:43

表示オプション

横に並べて表示:
変化行の前後のみ表示: