Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Unit propagation と 最大流 と 分枝限定法 @wata_orz 1
Slide 2
Slide 2 text
自己紹介 東大博士(2016) → 国立情報学研究所(NII) 助教 面白いアルゴリズムを作って遊んでいる 2 ICFPC ◎wata
Slide 3
Slide 3 text
以下の論文の紹介 0/1/All CSPs, Half-Integral A-Path Packing, and Linear-Time FPT Algorithms. Yoichi Iwata, Yutaro Yamaguchi, Yuichi Yoshida. FOCS 2018 3 コンテストで出るかも!? ぜひ、実装してね
Slide 4
Slide 4 text
二部グラフ判定 奇数長の閉路があるか? 4
Slide 5
Slide 5 text
二部グラフ判定 5 奇数長の閉路があるか?
Slide 6
Slide 6 text
二部グラフ判定 6 奇数長の閉路があるか?
Slide 7
Slide 7 text
二部グラフ判定 7 奇数長の閉路があるか?
Slide 8
Slide 8 text
二部グラフ判定 8 奇数長の閉路があるか?
Slide 9
Slide 9 text
二部グラフ判定 9 Even cycle 奇数長の閉路があるか?
Slide 10
Slide 10 text
二部グラフ判定 10 奇数長の閉路があるか?
Slide 11
Slide 11 text
二部グラフ判定 11 Odd cycle! 奇数長の閉路があるか?
Slide 12
Slide 12 text
-閉路判定 = 1 , 2 12 1 2 の辺を通る閉路があるか?
Slide 13
Slide 13 text
-閉路判定 13 ∗ 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 14
Slide 14 text
-閉路判定 14 ∗ 1 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 15
Slide 15 text
-閉路判定 15 ∗ 1 1 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 16
Slide 16 text
-閉路判定 16 ∗ 1 1 1 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 17
Slide 17 text
-閉路判定 17 ∗ 1 1 1 1 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 18
Slide 18 text
-閉路判定 18 ∗ 1 1 1 1 1 2 を通らない閉路 = 1 , 2 の辺を通る閉路があるか?
Slide 19
Slide 19 text
-閉路判定 19 ∗ 1 1 1 1 2 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 20
Slide 20 text
-閉路判定 20 ∗ 1 1 1 1 2 1 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 21
Slide 21 text
-閉路判定 21 ∗ 1 1 1 1 2 1 2 1 2 = 1 , 2 の辺を通る閉路があるか?
Slide 22
Slide 22 text
-閉路判定 22 ∗ 1 1 1 1 2 1 2 1 2 を通る閉路 = 1 , 2 の辺を通る閉路があるか?
Slide 23
Slide 23 text
Unit Propagation 一点のラベルを決めると、周りのラベルが連鎖的に 決まって行って、線形時間で矛盾が見つかる手法。 他にも… • = , 上で ⊆ が全部非連結か? • = + という形の連立方程式 • 2-SAT (線形時間にするのは少し非自明) など様々な問題が解ける 23
Slide 24
Slide 24 text
判定問題 判定問題 二部グラフ を通る閉路 が非連結か = + 2-SAT 24 Unit Propagation で 時間
Slide 25
Slide 25 text
最適化問題 判定問題 二部グラフ を通る閉路 が非連結か = + 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問題
Slide 26
Slide 26 text
最適化問題 判定問題 二部グラフ を通る閉路 が非連結か = + 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問題 大きなギャップ
Slide 27
Slide 27 text
示したこと = 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) 時間 ギャップが消えた!
Slide 28
Slide 28 text
示したこと = 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) 時間 自然な拡張
Slide 29
Slide 29 text
分枝限定法 LP緩和を解いて、 1. 緩和解が を超えたら枝刈り 2. 整数解なら終了 3. 整数でない変数を選んで、0 or 1 で分岐 29 … 2 良い性質 (half-integrality, persistency) のおかげで、分岐の度に緩和解が 0.5以上増加 22 = (4 ) : LP緩和を解く時間
Slide 30
Slide 30 text
矛盾ウォーク 分岐等により既にラベルの決まった点集合をとする。 からの unit propagationにより、の二点(同じ場合あり) を結ぶウォーク型の矛盾が見つかる。 30 二部グラフ? 矛盾!
Slide 31
Slide 31 text
LP緩和 を矛盾ウォーク全体の集合とする。 minimize:→ℝ≥0 s. t. ∈() ≥ 1 (∀ ∈ ) 31 0.5 1 0.5
Slide 32
Slide 32 text
双対LP 矛盾ウォーク詰め込み問題 maximize:→ℝ≥0 s. t. :∈() ≤ 1 (∀ ∈ ) 32 1 0.5 0.5
Slide 33
Slide 33 text
LP緩和の解き方 増大路あり ⇒ フローを増大 増大路なし ⇒ 同じ大きさのカットが得られる () time (Ford–Fulkerson) 33 Max flow Min cut 双対 増大路あり ⇒ 矛盾詰め込みを増大 増大路なし ⇒ 同じ大きさのLP緩和解が得られる () time 矛盾詰め込み LP緩和 双対
Slide 34
Slide 34 text
増大路 34 二部グラフ? 大きさ1の詰め込み
Slide 35
Slide 35 text
増大路 35 矛盾判定 alternating path
Slide 36
Slide 36 text
増大路 36 alternating path 矛盾
Slide 37
Slide 37 text
増大路 37 増大路 矛盾 矛盾 XORを取る
Slide 38
Slide 38 text
増大路 38 大きさ2の詰め込み
Slide 39
Slide 39 text
増大ペア 39 大きさ1の詰め込み
Slide 40
Slide 40 text
40 2つの矛盾する alternating paths wheel を作成 矛盾 増大ペア
Slide 41
Slide 41 text
増大ペア 41 3つの重み0.5の矛盾ウォークの和 wheel
Slide 42
Slide 42 text
増大路その2 42 wheel
Slide 43
Slide 43 text
増大路その2 43 alternating path wheelを分解 wheel
Slide 44
Slide 44 text
増大路その2 44 大きさ2の詰め込み
Slide 45
Slide 45 text
主LP解の構築 最小カットの構築: 最後の増大路探索(失敗)で到達 できた点と到達出来なかった点の境目の辺を選ぶ 主LP解の構築:最後の増大路探索(失敗)で到達出 来た辺と到達出来なかった辺の境目の点を 0.5 or 1 にする 45 0.5 0.5 alternating paths
Slide 46
Slide 46 text
主LP解の構築 最小カットの構築: 最後の増大路探索(失敗)で到達 できた点と到達出来なかった点の境目の辺を選ぶ 主LP解の構築:最後の増大路探索(失敗)で到達出 来た辺と到達出来なかった辺の境目の点を 0.5 or 1 にする 46 1 alternating paths
Slide 47
Slide 47 text
主LP解の構築 最小カットの構築: 最後の増大路探索(失敗)で到達 できた点と到達出来なかった点の境目の辺を選ぶ 主LP解の構築:最後の増大路探索(失敗)で到達出 来た辺と到達出来なかった辺の境目の点を 0.5 or 1 にする 47 wheel 0.5 alternating paths
Slide 48
Slide 48 text
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 48
Slide 49
Slide 49 text
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 49 大きさ 3.5 の詰め込み
Slide 50
Slide 50 text
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 50 増大路探索に 失敗
Slide 51
Slide 51 text
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 51 大きさ 3.5 のLP緩和解 0.5 1
Slide 52
Slide 52 text
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 52 この頂点で分岐 0.5 1
Slide 53
Slide 53 text
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 53 1 大きさ 4 の整数解
Slide 54
Slide 54 text
まとめ = 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) 時間