Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unit propagationと最大流と分枝限定法
Search
wata_orz
December 17, 2018
Research
2.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unit propagationと最大流と分枝限定法
競プロ忘年会2018
wata_orz
December 17, 2018
More Decks by wata_orz
See All by wata_orz
サンタコンペで二度全完した話
wata_orz
7
7.2k
Other Decks in Research
See All in Research
Sleuthcon Keynote - How Cybercriminals (ab)use AI
fr0gger
0
240
第12回人と環境にやさしい交通をめざす全国大会/熊本都市圏「車1割削減、渋滞半減、公共交通2倍」をめざして
trafficbrain
0
130
ScoreMatchingRiesz for Automatic Debiased Machine Learning and Policy Path Estimation with an Application to Japanese Monetary Policy Evaluation
masakat0
0
300
[IR Reading 2026春 論文紹介] LLM-based Listwise Reranking under the Effect of Positional Bias (ECIR 2026) /IR-Reading-2026-Spring
koheishinden
PRO
0
200
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
420
通時的な類似度行列に基づく単語の意味変化の分析
rudorudo11
0
330
論文紹介:HalluCitation Matters
wasyro
0
120
「なんとなく」の顧客理解から脱却する ──顧客の解像度を武器にするインサイトマネジメント
tajima_kaho
10
7.7k
コーディングエージェントとABNを再考
hf149
2
750
LINEヤフー データサイエンス Meetup「三井物産コモディティ予測チャレンジ」の舞台裏-AlpacaTechパート
gamella
1
590
AGI4OPT:自然言語から数理最適化を導くエ ージェントスキル Translating Human Intent into Mathematical Optimization
mickey_kubo
0
150
多様なデータを許容し学習し続ける模倣学習 / Advanced Imitation Learning for VLA
prinlab
0
240
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
210
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
580
How to Ace a Technical Interview
jacobian
281
24k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
210
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
What's in a price? How to price your products and services
michaelherold
247
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Documentation Writing (for coders)
carmenintech
77
5.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Transcript
Unit propagation と 最大流 と 分枝限定法 @wata_orz 1
自己紹介 東大博士(2016) → 国立情報学研究所(NII) 助教 面白いアルゴリズムを作って遊んでいる 2 ICFPC
◎wata
以下の論文の紹介 0/1/All CSPs, Half-Integral A-Path Packing, and Linear-Time FPT Algorithms.
Yoichi Iwata, Yutaro Yamaguchi, Yuichi Yoshida. FOCS 2018 3 コンテストで出るかも!? ぜひ、実装してね
二部グラフ判定 奇数長の閉路があるか? 4
二部グラフ判定 5 奇数長の閉路があるか?
二部グラフ判定 6 奇数長の閉路があるか?
二部グラフ判定 7 奇数長の閉路があるか?
二部グラフ判定 8 奇数長の閉路があるか?
二部グラフ判定 9 Even cycle 奇数長の閉路があるか?
二部グラフ判定 10 奇数長の閉路があるか?
二部グラフ判定 11 Odd cycle! 奇数長の閉路があるか?
-閉路判定 = 1 , 2 12 1 2 の辺を通る閉路があるか?
-閉路判定 13 ∗ 1 2 = 1 , 2 の辺を通る閉路があるか?
-閉路判定 14 ∗ 1 1 2 = 1 , 2
の辺を通る閉路があるか?
-閉路判定 15 ∗ 1 1 1 2 = 1 ,
2 の辺を通る閉路があるか?
-閉路判定 16 ∗ 1 1 1 1 2 = 1
, 2 の辺を通る閉路があるか?
-閉路判定 17 ∗ 1 1 1 1 1 2 =
1 , 2 の辺を通る閉路があるか?
-閉路判定 18 ∗ 1 1 1 1 1 2 を通らない閉路
= 1 , 2 の辺を通る閉路があるか?
-閉路判定 19 ∗ 1 1 1 1 2 1 2
= 1 , 2 の辺を通る閉路があるか?
-閉路判定 20 ∗ 1 1 1 1 2 1 1
2 = 1 , 2 の辺を通る閉路があるか?
-閉路判定 21 ∗ 1 1 1 1 2 1 2
1 2 = 1 , 2 の辺を通る閉路があるか?
-閉路判定 22 ∗ 1 1 1 1 2 1 2
1 2 を通る閉路 = 1 , 2 の辺を通る閉路があるか?
Unit Propagation 一点のラベルを決めると、周りのラベルが連鎖的に 決まって行って、線形時間で矛盾が見つかる手法。 他にも… • = , 上で ⊆
が全部非連結か? • = + という形の連立方程式 • 2-SAT (線形時間にするのは少し非自明) など様々な問題が解ける 23
判定問題 判定問題 二部グラフ を通る閉路 が非連結か = + 2-SAT 24 Unit
Propagation で 時間
最適化問題 判定問題 二部グラフ を通る閉路 が非連結か = + 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問題
最適化問題 判定問題 二部グラフ を通る閉路 が非連結か = + 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問題 大きなギャップ
示したこと = 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) 時間 ギャップが消えた!
示したこと = 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) 時間 自然な拡張
分枝限定法 LP緩和を解いて、 1. 緩和解が を超えたら枝刈り 2. 整数解なら終了 3. 整数でない変数を選んで、0 or
1 で分岐 29 … 2 良い性質 (half-integrality, persistency) のおかげで、分岐の度に緩和解が 0.5以上増加 22 = (4 ) : LP緩和を解く時間
矛盾ウォーク 分岐等により既にラベルの決まった点集合をとする。 からの unit propagationにより、の二点(同じ場合あり) を結ぶウォーク型の矛盾が見つかる。 30 二部グラフ? 矛盾!
LP緩和 を矛盾ウォーク全体の集合とする。 minimize:→ℝ≥0 s. t. ∈() ≥ 1
(∀ ∈ ) 31 0.5 1 0.5
双対LP 矛盾ウォーク詰め込み問題 maximize:→ℝ≥0 s. t. :∈() ≤ 1
(∀ ∈ ) 32 1 0.5 0.5
LP緩和の解き方 増大路あり ⇒ フローを増大 増大路なし ⇒ 同じ大きさのカットが得られる () time (Ford–Fulkerson)
33 Max flow Min cut 双対 増大路あり ⇒ 矛盾詰め込みを増大 増大路なし ⇒ 同じ大きさのLP緩和解が得られる () time 矛盾詰め込み LP緩和 双対
増大路 34 二部グラフ? 大きさ1の詰め込み
増大路 35 矛盾判定 alternating path
増大路 36 alternating path 矛盾
増大路 37 増大路 矛盾 矛盾 XORを取る
増大路 38 大きさ2の詰め込み
増大ペア 39 大きさ1の詰め込み
40 2つの矛盾する alternating paths wheel を作成 矛盾 増大ペア
増大ペア 41 3つの重み0.5の矛盾ウォークの和 wheel
増大路その2 42 wheel
増大路その2 43 alternating path wheelを分解 wheel
増大路その2 44 大きさ2の詰め込み
主LP解の構築 最小カットの構築: 最後の増大路探索(失敗)で到達 できた点と到達出来なかった点の境目の辺を選ぶ 主LP解の構築:最後の増大路探索(失敗)で到達出 来た辺と到達出来なかった辺の境目の点を 0.5 or 1 にする
45 0.5 0.5 alternating paths
主LP解の構築 最小カットの構築: 最後の増大路探索(失敗)で到達 できた点と到達出来なかった点の境目の辺を選ぶ 主LP解の構築:最後の増大路探索(失敗)で到達出 来た辺と到達出来なかった辺の境目の点を 0.5 or 1 にする
46 1 alternating paths
主LP解の構築 最小カットの構築: 最後の増大路探索(失敗)で到達 できた点と到達出来なかった点の境目の辺を選ぶ 主LP解の構築:最後の増大路探索(失敗)で到達出 来た辺と到達出来なかった辺の境目の点を 0.5 or 1 にする
47 wheel 0.5 alternating paths
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 48
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 49 大きさ 3.5 の詰め込み
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 50 増大路探索に 失敗
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 51 大きさ 3.5 のLP緩和解 0.5 1
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 52 この頂点で分岐 0.5 1
例 (Multiway Cut) 異なるラベルの振られたの点を結ぶウォークが矛盾 53 1 大きさ 4 の整数解
まとめ = 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) 時間