Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unit propagationと最大流と分枝限定法

wata_orz
December 17, 2018

Unit propagationと最大流と分枝限定法

競プロ忘年会2018

wata_orz

December 17, 2018
Tweet

More Decks by wata_orz

Other Decks in Research

Transcript

  1. 以下の論文の紹介 0/1/All CSPs, Half-Integral A-Path Packing, and Linear-Time FPT Algorithms.

    Yoichi Iwata, Yutaro Yamaguchi, Yuichi Yoshida. FOCS 2018 3 コンテストで出るかも!? ぜひ、実装してね
  2. -閉路判定 14 ∗ 1 1 2 = 1 , 2

    の辺を通る閉路があるか?
  3. -閉路判定 15 ∗ 1 1 1 2 = 1 ,

    2 の辺を通る閉路があるか?
  4. -閉路判定 16 ∗ 1 1 1 1 2 = 1

    , 2 の辺を通る閉路があるか?
  5. -閉路判定 17 ∗ 1 1 1 1 1 2 =

    1 , 2 の辺を通る閉路があるか?
  6. -閉路判定 18 ∗ 1 1 1 1 1 2 を通らない閉路

    = 1 , 2 の辺を通る閉路があるか?
  7. -閉路判定 19 ∗ 1 1 1 1 2 1 2

    = 1 , 2 の辺を通る閉路があるか?
  8. -閉路判定 20 ∗ 1 1 1 1 2 1 1

    2 = 1 , 2 の辺を通る閉路があるか?
  9. -閉路判定 21 ∗ 1 1 1 1 2 1 2

    1 2 = 1 , 2 の辺を通る閉路があるか?
  10. -閉路判定 22 ∗ 1 1 1 1 2 1 2

    1 2 を通る閉路 = 1 , 2 の辺を通る閉路があるか?
  11. Unit Propagation 一点のラベルを決めると、周りのラベルが連鎖的に 決まって行って、線形時間で矛盾が見つかる手法。 他にも… • = , 上で ⊆

    が全部非連結か? • = + という形の連立方程式 • 2-SAT (線形時間にするのは少し非自明) など様々な問題が解ける 23
  12. 最適化問題 判定問題 二部グラフ を通る閉路 が非連結か = + 2-SAT 25 Unit

    Propagation で 時間 最適化問題 Odd Cycle Transversal Subset Feedback Vertex Set Multiway Cut Group Feedback Vertex Set Max 2-SAT Noの場合に、出来るだけ少ない頂点(辺)を取り除いてYesにせよ 有名なNP-hard問題
  13. 最適化問題 判定問題 二部グラフ を通る閉路 が非連結か = + 2-SAT 26 Unit

    Propagation で 時間 最適化問題 Odd Cycle Transversal Subset Feedback Vertex Set Multiway Cut Group Feedback Vertex Set Max 2-SAT Noの場合に、出来るだけ少ない頂点(辺)を取り除いてYesにせよ 有名なNP-hard問題 大きなギャップ
  14. 示したこと = 0 二部グラフ を通る閉路 が非連結か = + 2-SAT 27

    Unit Propagation で 時間 > Odd Cycle Transversal Subset Feedback Vertex Set Multiway Cut Group Feedback Vertex Set Max 2-SAT 個頂点(辺)を取り除いてYesにせよ Unit Propagation + 最大流の一般化 + 分枝限定法 で (4) 時間 ギャップが消えた!
  15. 示したこと = 0 二部グラフ を通る閉路 が非連結か = + 2-SAT 28

    Unit Propagation で 時間 > Odd Cycle Transversal Subset Feedback Vertex Set Multiway Cut Group Feedback Vertex Set Max 2-SAT 個頂点(辺)を取り除いてYesにせよ Unit Propagation + 最大流の一般化 + 分枝限定法 で (4) 時間 自然な拡張
  16. 分枝限定法 LP緩和を解いて、 1. 緩和解が を超えたら枝刈り 2. 整数解なら終了 3. 整数でない変数を選んで、0 or

    1 で分岐 29 … 2 良い性質 (half-integrality, persistency) のおかげで、分岐の度に緩和解が 0.5以上増加 22 = (4 ) : LP緩和を解く時間
  17. LP緩和の解き方 増大路あり ⇒ フローを増大 増大路なし ⇒ 同じ大きさのカットが得られる () time (Ford–Fulkerson)

    33 Max flow Min cut 双対 増大路あり ⇒ 矛盾詰め込みを増大 増大路なし ⇒ 同じ大きさのLP緩和解が得られる () time 矛盾詰め込み LP緩和 双対
  18. まとめ = 0 二部グラフ を通る閉路 が非連結か = + 2-SAT 54

    Unit Propagation で 時間 > Odd Cycle Transversal Subset Feedback Vertex Set Multiway Cut Group Feedback Vertex Set Max 2-SAT 個頂点(辺)を取り除いてYesにせよ Unit Propagation + 最大流の一般化 + 分枝限定法 で (4) 時間