劣モジュラ緩和による 線形時間FPTアルゴリズム 𠮷田悠一 国立情報学研究所 ELC計算量理論秋学校(9/25) 自己紹介:𠮷田悠一 国立情報学研究所 • 情報学プリンシプル研究系 特任助教 ⇒ 理論計算機科学 (性質検査・CSPなど) • ビッグデータ数理国際研究センター 副センター長 • JST ERATO河原林巨大グラフプロジェクト 複雑ネット ワーク・地図グラフグループリーダ ⇒ 大規模データに対する実用的(=高速)アルゴリズム (株) Preferred Infrastructure 顧問 宣伝 FOCS2014でワークショップをやります。 Higher-order Fourier Analysis October 18, 2014 (Sat.) • Arnab Bhattacharyya - Background on higher order Fourier analysis • Pooya Hatami - Regularity of polynomials and linear forms • Madhur Tulsiani - Algorithmic higher-order Fourier analysis • Emanuele Viola - Applications to lower bounds • Yuichi Yoshida - Applications to algebraic property testing • Abhishek Bhowmick - Applications to coding theory 固定パラメータ容易性 • P = NPでない限り、NP困難な問題はO(nd)時間で解けない • FPT (Fixed Parameter Tractable, 固定パラメータ容易性) – パラメータkを導入 (例: 最適値、木幅) – ある問題がO(f(k)nd)時間で解ける時、FPTと呼ぶ。 • 例 – 大きさkのVertex Cover: FPT (O(2k|E|)時間) – 大きさkのIndependent Set: W[1]-完全 • FPT≠W[1]と信じられている http://fpt.wikidot.com/ 今日の内容 Half-Integrality, LP-Branching and FPT Algorithms [Iwata-Wahlström-Yoshida, submitted] 多くの問題に対して効率的(一重の指数)なFPTアルゴリズム を得ることが出来る統一的な手法(劣モジュラ緩和)の紹介 • • • • • Vertex Cover Odd Cycle Transversal Almost 2-SAT Multiway Cut (枝削除・頂点削除) Unique Label Cover (枝削除・頂点削除) • Subset Feedback Vertex Set Problems Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Group Feedback Vertex Set Vertex Cover Above LP 6 Vertex Cover (頂点被覆) 頂点集合Sが頂点被覆: G[V \ S]が空 問: Gは大きさkの頂点被覆を持つか? 1 2 3 4 5 6 7 Vertex Coverに対するFPTアルゴリズム 単純な分岐アルゴリズムでO(2km)時間で解ける。 u k-1 u v v k u v k-1 Odd Cycle Transversal 頂点集合Sがodd cycle transversal: G[V \ S]が二部グラフ 問: Gは大きさkのodd cycle transversalを持つか? 既存のFPTアルゴリズム • O(3knm)時間 [Reed-Smith-Vetta 2004] – Iterative compression • O(f(k)α(m, n)m)時間 [Kawarabayashi-Reed 2010] – α: アッカーマン関数の逆関数 – f(k): 非常に大きい(二重指数ぐらい?) • O(4k(n+m))時間 [Iwata-Oka-Yoshida 2014] Almost 2-SAT 問: 与えられた2CNFからk個の節を削除して充足可能にせよ (x ∨ y) ∧ (x ∨ ȳ) ∧ (y ∨ z) ∧ (ȳ) x = true, y = false, z = true • O(15km3)時間 [Razgon-O’sullivan 2008] • O(4k(n+m))時間 [Iwata-Oka-Yoshida 2014] Vertex Cover above LP 問: グラフGは大きさ(LP値 + k)の頂点被覆を持つか? 1 2 3 1 2 4 5 1 6 7 0 合計: 3.5 • O*(2.6181k) [Narayanaswamy-Raman-Ramanujan-Saurabh 2013] – LPに基づく分枝限定法 • Odd Cycle TransversalとAlmost 2-SATはVertex Cover above LP に(パラメータkを保存して)帰着可能 Problems Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Group Feedback Vertex Set Vertex Cover Above LP 12 Multiway CutとNode Multiway Cut ターミナルT = {t1, …, t|T|} • 枝集合Sがmultiway cut: G-Sにおいて各ターミナルが異な る連結成分に属する • 頂点集合Sがnode multiway cut: G-Sにおいて各ターミナル が異なる連結成分に属する 問: グラフGは大きさkの(node) multiway cutを持つか? Multiway Cutに対するFPTアルゴリズム • O*(4k^3)時間 (枝・頂点両方) [Marx 2006] • • • • – Important separator O*(4k)時間 (枝・頂点両方) [Chen-Liu-Lu 2009] O(4k(n+m))時間 (頂点) [Iwata-Oka-Yoshida 2014] O*(2k)時間 (枝) [Cygan-Pilipczuk-Pilipczuk-Wojtaszczyk 2012] O(2k(n+m))時間 (枝) [Iwata-Wahlström-Yoshida 2014] Multiway Cut above LP 問: 大きさ(LP値 + k)のmultiway cutが存在するか? 0.5 0.5 0.5 0.5 0.5 0.5 合計3.5 0.5 • O*(4k) [Cygan-Pilipczuk-Pilipczuk-Wojtaszczyk 2012] – LPに基づく分枝限定法 • OPT ≤ 2LP ⇒ O*(4OPT-LP) = O(2OPT) ⇒ (Edge) Multiway Cutを改善 LPに基づく分枝限定法 LPに基づく分枝限定法 Vertex Cover Above LPとMultiway Cut Above LPに用いられた 半整数性と固定可能性を利用 • LP解で値が全て{0, 1/2, 1}なものが存在(し求まる) • LP解のうち整数部分を最適値を上げることなく固定する ことが出来る。 17 頂点被覆に対するLP緩和 xv : 頂点vが頂点被覆に含まれるか否か minimize Σv∈V xv subject to xu + xv ≥ 1 (uv ∈ E) 0 ≤ xv ≤ 1 (v ∈ V) [Nemhauser-Trotter 1975] 上記LPは半整数性と{0, 1}への固定可能性を持つ 頂点被覆に対するLP緩和 0 0 0 0 0 0 1 2 0 0 0 0 1 0 0 0 0 LPを利用した分岐(Vertex Cover above LP) b =初期状態のLP値 + k if LP値 > b then Noを出力 整数の変数を固定 if 全ての変数が整数 then 解を出力 半整数の変数xvを選択 if LP値を変えずにxvを0か1に固定可能 then 固定して再帰 else xv = 0とxv = 1の二通りに分岐 各分岐でLP値が1/2増加する 探索木のサイズ=22k = 4k ⇒ O*(4k)時間アルゴリズム Node Multiway Cutに対するLP緩和 xv: vがmultiway cutに含まれるか否か minimizes Σv∈V xv subject to Σv∈P xv ≥ 1 (任意のターミナル間のパスP) 0 ≤ xv ≤ 1 (v ∈ V) 指数個数の制約があるが、多項式時間の分離オラクルが作 れるので、多項式時間で解ける。 半整数性 [Garg-Vazirani-Yannakakis 2004] 固定可能性 [Guillemot 2011] • 値1 ⇒ 固定可能 • ターミナルtから値0の頂点を辿って辿れる頂点集合U(t) ⇒ 値0に固定可能 LP relaxation of Node Multiway Cut t4 0 1 t1 0 1/2 1/2 0 1 0 1/2 t3 1/2 1 1 0 t2 22 LPを利用した分岐(Multiway Cut above LP) b = 初期状態のLP値 + k if LP値 > b then Noを出力 1を取る変数と全てのtに対してU(t)を固定 if 全ての変数が整数 then 解を出力 適当なtに対してU(t)に隣接する半整数の変数xvを選択 if LP値を変えずにxvを0か1に固定可能 then 固定して再帰 else xv = 0とxv = 1の二通りに分岐 各分岐でLP値が1/2増加する 探索木のサイズ=22k = 4k ⇒ O*(4k)時間アルゴリズム 劣モジュラ緩和 離散緩和 • 半整数かつ固定可能なLP緩和を考えるのは非常に大変 • 代わりに定義域を拡張した離散的な緩和を考える。 D: 元の定義域(整数) D’: 拡張された定義域(D ⊆ D’) (整数 + 分数) 元の目的関数f: DV→ℤ+ を緩和してf’: D’V→ℤ+/c を作る – 任意のx∈DVに対してf’(x) = f(x) (一貫性) – f’はxv = iの様に変数を固定しても最小化可能 – f’の最適解x*においてvが整数ならば、vを固定しても 最適値は増加しない (固定可能性) 離散緩和に基づくFPTアルゴリズム 関数f: DV→ℤ+が一貫、最小化可能、固定可能な離散緩和 f’:D’V→ℤ+/cを持つ ⇒ fはO*(|D|c (min f – min f’))時間で最小化可能 証明 緩和問題を解き、分数の変数vを選ぶ。 もしvが緩和解を変えずに固定出来るなら固定する。 そうでなければ|D|通りに分岐する。 各分岐で1/cだけ緩和解が増加するので、探索木のサイズは |D|c(min f – min f’)。 離散緩和と劣モジュラ性 一貫、最小化可能、固定可能な離散緩和f’をどうやって見 つける? f’が(広い意味で)劣モジュラになるようにすれば良い! • 劣モジュラ性から最小化・固定可能性が簡単に言える • 多くの問題が劣モジュラ緩和を持つ 劣モジュラ性 集合関数f: 2V → ℝが劣モジュラ: 任意のS, T⊆Vに対して f(S) + f(T) ≥ f(S ∪ T) + f(S ∩ T) 例: • グラフのカット (無向、有向、ハイパーグラフ) • マトロイドのランク関数 • Coverage Function 任意の劣モジュラ関数は|V|の多項式時間で最小化可能(関 数オラクルで与えられるとする) [Iwata-Fleischer-Fujishige 2001] [Schrijver 2000] (一般化された)劣モジュラ性 f: {0, 1}V → ℝが劣モジュラ: 任意のx, y ∈ {0, 1}Vに対して f(x) + f(y) ≥ f(x ∨ y) + f(x ∧ y) 要素ごとに演算 一般の(有限)定義域Dに拡張 f: DV → ℝが⊔, ⊓: D2 → Dに関して劣モジュラ: 任意のx, y ∈ DVに対して f(x) + f(y) ≥ f(x ⊔ y) + f(x ⊓ y) 双劣モジュラ関数 双劣モジュラ • D = {-1, 0, 1} ⊔ 0 1 ⊓ -1 0 1 -1 -1 -1 0 -1 -1 0 0 0 -1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 -1 1 -1 0 • 例: Δマトロイドのランク関数 • 任意の双劣モジュラ関数は多項式時間で最小化可能 [Fujishige-Iwata 2005] k劣モジュラ関数 k劣モジュラ • D = {0, 1, 2, …, k} ⊔ 0 i j ⊓ 0 i j 0 0 i j 0 0 0 0 i i i 0 i 0 i 0 j j 0 j j 0 0 j 1 … 2 k 0 • 双劣モジュラの一般化 (双劣モジュラはk = 2) • 多項式時間の最小化アルゴリズムは知られていない – 定数項数のk劣モジュラ関数(の和)はLPで最小化可能 Problems 双劣モジュラ緩和 Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Group Feedback Vertex Set Vertex Cover Above LP 32 頂点被覆と双劣モジュラ緩和 頂点被覆 • 定義域D = {0, 1} • 目的関数: minimize Σv∈E xv + M × Σuv∈E max(0, 1 – xu – xv) (M: 十分大きな数) 注意: f(x, y) = max(0, 1 – x – y)は劣モジュラではない – f(1, 0) + f(0, 1) < f(1, 1) + f(0, 0) 頂点被覆と双劣モジュラ緩和 • 離散緩和された頂点被覆 – D’ = {0, 1/2, 1} • f’(x, y) = max(0, 1 – x – y)は⊔, ⊓に関して双劣モジュラ! – f’(1 ⊔ 0, 0 ⊔ 1) = f’(1 ⊓ 0, 0 ⊓ 1) = f’(1/2, 1/2) = 0 ⇒ Σv∈E xv + M × Σuv∈E f’(xu, xv) も双劣モジュラ ⊔ 0 0 0 1/ 2 1 0 1/ 1/ 2 0 1/ 2 1 1 1/ 2 1 1 ⊓ 0 0 0 1/ 2 1 1/ 2 1/ 1/ 2 1/ 2 1/ 2 1/ 1 0 1/ 2 1/ 2 1 1 ½ 双劣モジュラ関数の固定可能性 補題 双劣モジュラ関数はD = {0, 1}のとき固定可能 証明 x ○ y = x ⊔ (x ⊔ y)とする。 • y∈D ⇒x○y∈D • x, y ∈ D ⇒ x ○ y = x • x ∈ D’V, y ∈ DV ⇒ x ○ y ∈ DV かつ各xi ∈ Dに対して(x ○ y)i = xi 双劣モジュラ関数の固定可能性 補題 双劣モジュラ関数はD = {0, 1}の時、固定可能 証明 x* = argmin f’, y* = argmin fとする。 x* ○ y*がfのminimizerであることを示す。 ○を展開 f(x* ○ y*) = f’(x* ○ y*) ≤ f’(x* ⊔ (x* ⊔ y*)) + f’(x* ⊓ (x* ⊔ y*)) – f’(x*) ≤ f’(x* ⊔ y*) ≤ f’(x* ⊔ y*) + f’(x* ⊓ y*) – f’(x*) ≤ f’(y*) = f(y*) 最小値 頂点被覆と双劣モジュラ緩和 大きさkの頂点被覆はO*(4k-min f’)時間で見つかる。 min f’はLP緩和の最適値と一致 • LP ≥ OPT/2より頂点被覆はO*(2k)時間で解ける。 • Vertex Cover above LPがO*(4k)時間で解ける。 Binary関数と双劣モジュラ緩和 • 任意のBinary関数{0, 1}2 → ℤ+は、双劣モジュラ関数{0, 1/2, 1}2 →ℤ+/2に緩和可能。 0 1 0 a b 1 c d =a 1 0 0 0 +b 0 1 0 0 +c 0 0 1 0 +d 0 0 0 1 • Binary関数の和で書ける関数fはO*(4min f)時間で最小化可 能。 – Vertex Cover, Odd Cycle Transversal, Almost 2-SAT Problems 双劣モジュラ緩和 k劣モジュラ緩和 Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Group Feedback Vertex Set Vertex Cover Above LP 39 Multiway Cutとk劣モジュラ緩和 Multiway Cut (T = {t1, …, t|T|}) • D = {1, …, |T|} • Minimize Σuv∈E [xu ≠ xv] subject to xti = i. – [1 ≠ 0]’ + [0 ≠ 2]’ ≥ [1 ≠ 2]’ + [0 ≠ 0]’ |T| 0 離散緩和されたMultiway Cut • D’ = {0, 1, …, |T|} 0 (x = y) • [x ≠ y]’ = 1/2 (x = 0 xor y = 0) 1 (otherwise) • [x ≠ y]’ は|T|劣モジュラ! … 2 1 ⊔ 0 i j ⊓ 0 i j 0 0 i j 0 0 0 0 i i i 0 i 0 i 0 j j 0 j j 0 0 j Multiway Cutとk劣モジュラ緩和 t3 3 1 1 2 1 t1 0 2 t2 双劣モジュラ関数の固定可能性 補題 k劣モジュラ関数はD = {1, 2, …, k}の時、固定可能 証明 双劣モジュラの時と同様。 x ○ y = x⊔(x⊔y)とする。 定数項数のk劣モジュラ関数の和はLPで最小化可能。 • Multiway CutはO*(2k)時間で解ける。 • Multiway Cut above LPがO*(4k)時間で解ける。 Problems 双劣モジュラ緩和 k劣モジュラ緩和 Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Unique Label Cover Group Feedback Vertex Set Vertex Cover Above LP 43 Unique Label Cover 入力: ラベル集合Σ, 有向グラフG = (V, E), 置換{πe: Σ→Σ} 目的: 充足されない制約が高々k個の割り当てを求める 制約uv ∈ Eが割当φ: V → Σで充足 ⇔ π(φ(u)) = φ(v) パラメータ: |Σ|とk • Unique Games Conjectureの核 となる問題 http://en.wikipedia.org/wiki/Unique_games_conjecture • O*(|Σ|O(k^2)) [Chitnis-Cygan-Hajiaghayi-Pilipczuk-Pilipczuk 2012] – ランダム縮約 – パラメータがkのみだとW[1]困難 Unary関数のk劣モジュラ緩和 • 任意のunary関数f: D → ℤ+はk劣モジュラ緩和を持つ f(x) (x ∈ D) f’(x) = (f(d1) + f(d2)) / 2 (x = 0) (d1 := argminx∈D f(x), d2 := argminx∈D-d1 f(x)) • Hard制約fi(x) = [x ≠ i] × ∞はk劣モジュラ関数で表現可能 0 (x = i) f’i(x) = M / 2 (x = 0) M (otherwise) (M: 十分大きな値) Binary関数のk劣モジュラ緩和 • 任意の置換πに対してfπ(x, y) := [x ≠ π(y)] はk劣モジュラ緩 和可能 f’π(x, y) = 0 (x = π(y) or x = y = 0) 1/2 (x = 0 xor y = 0) 1 (otherwise) • 任意のa, bに対して fa∨b(x, y) := [x ≠ a ∧ y ≠ b]はk劣モジュラ 緩和可能 f’a∨b(x, y) = 0 (x = a or y = b or x = y = 0) 1/2 (x = 0 xor y = 0) 1 (otherwise) Unique Label Coverとk劣モジュラ緩和 Unique Label Cover • D = {1, 2, …, |Σ|} • Minimize Σuv∈E fπuv (xu, xv) ⇒ |Σ|劣モジュラ緩和Σuv∈E f’πuv (xu, xv)を持つ ⇒ Unique Label CoverはO*(|Σ|2k)時間で解ける Problems 双劣モジュラ緩和 k劣モジュラ緩和 Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Unique Label Cover Group Feedback Vertex Set Vertex Cover Above LP 48 (有限) 値付き制約充足問題 (VCSP) • 言語Γ – 定義域: D – F: コスト関数f: Dar(f)→ℚ+の集合 • VCSP(Γ)の入力I – 変数集合V = {x1, …, xn} – 目的関数fI fI = Σi wi fi(xi) (wi∈ℚ+, fi∈F, xi ∈ Var(fi)) • 目的関数fIを最小化する割当φ: V→Dを見つけたい VCSPの例 最小カット • D = {0, 1} f≠(x, y) = [x ≠ y] • F = f0(x) = [x ≠ 0] × ∞ f1(x) = [x ≠ 1] × ∞ ⇒ 多項式時間で解ける 最大カット • D = {0, 1} • F = {f=(x, y) = [x = y], f0, f1} ⇒ NP困難 VCSPの特徴付け 多項式時間で解けるVCSP(Γ)の特徴付け [Thapper-Zivny 2013] • もしΓがバイナリ冪等対称fractional polymorphismを持て ば、VCSP(Γ)は(LPで)多項式時間で解ける • そうでなければVCSP(Γ)はNP困難 • バイナリfractional polymorphism 𝒟 – 𝒟: バイナリ演算D2→Dの分布 – 任意のf ∈ Fに対してf(x) + f(y) ≥ E○~𝒟[f(x ○ y)] (例: 劣モジュラ ⇔ 𝒟 = ⊔ × 1/2 + ⊓ × 1/2) • 冪等: x ○ x = x (∀○ ∈ supp(𝒟)) • 対称: x ○ y = y ○ x (∀○ ∈ supp(𝒟)) Node Multiway Cut Node Multiway Cut (T = {t1, …, th}) • D = {1, …, h, C} (C = その頂点を取り除く) • minimize Σv∈V f(xv) + M × Σuv∈E g(xu, xv) s.t. xti = i f g i j C i 0 i 0 1 0 j 0 j 1 0 0 C 1 C 0 0 0 • k劣モジュラ緩和できないので他のmultimorphismを使う。 Node Multiway Cutの劣モジュラ緩和 Node Multiway Cut (T = {t1, …, th}) • D = {1, …, h, C, 0, 1’, …, h’} • minimize Σv∈V f(xv) + M × Σuv∈E g(xu, xv) s.t. xti = I f g i j C i' j’ 0 ⊔ i j C i' j’ 0 ⊓ i j C i' j’ 0 i i’ i i i 0 i’ i’ 0 0 j’ j’ j j j 0 j i 0 i 0 1 0 0 ½ ½ i i 0 i’ j 0 j 1 0 0 ½ 0 ½ j 0 j j’ 0 j’ 0 C 1 C 0 0 0 0 0 0 C i’ j’ C C C C C i’ j’ C i’ j’ 0 i’ ½ i’ 0 ½ 0 0 0 0 i’ j’ C i’ C i’ i’ i’ 0 i’ i’ 0 0 j’ ½ j’ ½ 0 0 0 0 0 j’ i’ j C C j’ j’ j’ 0 j’ j’ 0 j’ 0 0 0 0 ½ ½ 0 0 0 0 0 j C i’ j’ 0 0 0 0 0 0 0 0 i i t4 4 C t1 1 1’ 4’ 0 C 3 3’ 2’ C C 2 t2 t3 Node Multiway Cutの劣モジュラ緩和 • バイナリ冪等対称fractional polymorphismが存在するので 最小化可能 • 固定可能性の証明は双劣モジュラの時と同じ – x ○ y = x ⊔ (x ⊔ y)を考えれば良い ⇒ Node multiway cutはO*(4k)時間で解ける。 Subset Feedback Set 入力: G = (V, E), T ⊆ E S ⊆ Vが(Tに対する)subset FVS: Tを通る全ての単純閉路がSの 頂点を通る 問: 大きさkのsubset FVSは存在するか? • O*(2O(klogk))時間 [Cygan-Pilipczuk-Pilipczuk-Wojtaszczyk 2012] • O*(4k)時間 [Iwata-Wahlström-Yoshida 2014] Group FVS 入力: 群(Σ, ○), 有向グラフG = (V, E), φ: E → Σ (φ(uv) = φ(vu)-1) S ⊆ VがGroup FVS: 全ての非0サイクルがSの頂点を通る 問: 大きさkのGroup FVSは存在するか? 多くの問題がGroup FVSに帰着できる (1,0) (0,0) (0,0) (0,1) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) Subset FVSはℤ2|S|で表現可能 オラクルモデル上のGroup FVS 帰着を考えるとΣのサイズは指数にしたい ⇒ 群はオラクルで与えられる ((a, b) ↦ a ○ b) • O*(2O(klogk))時間 [Cygan-Pilipczuk-Pilipczuk 2012] • O*(4k)時間 [Iwata-Wahlström-Yoshida 2014] Problems 双劣モジュラ緩和 k劣モジュラ緩和 Vertex Cover Multiway Cut Unique Label Cover Odd Cycle Transversal Multiway Cut Above LP Subset Feedback Vertex Set Almost 2-SAT Unique Label Cover Group Feedback Vertex Set Vertex Cover Above LP Linear-time FPT 59 極限解 y ∈ D’Vがx ∈ D’Vを支配: • ∀i, xi ∈ D ⇒ yi = xi • ∃i, xi ∉ D ∧ yi ∈ D 緩和問題の最適解x* ∈ D’Vが極限: x*は支配されていない x*が極限な時、分数を整数にすると値が真に増加する。 ⇒ LP解に基づく分岐で有利 k劣モジュラ関数の線形時間FPTアルゴリズム [定理] [Iwata-Wahlström-Yoshida 2014] 関数f’: D’V → ℤ+/2をunary関数, f’π, f’a∨bのm個の和とする。 f’の極限解はO(km × min f’)時間で求められる。 ⇒ Odd Cycle Transversal, Almost 2-SAT, Unique Label Coverに対 する初の線形時間FPTアルゴリズム ネットワークの構築 極限解を求める為にネットワークを構築する 頂点 • ソースs, シンクt • 各頂点vに対して頂点集合Xv := {vi : i ∈ D}を用意 s-tカットが合法: 各頂点vに対して高々一つのXvの頂点がs側に入る。 カットと解の対応 合法なカットと解を以下の様に対応づける • viがs側に存在 ⇔ xv = i • Xvが全てt側に存在 ⇔ xv = 0 各関数に対してネットワークを作成し、合法なカットのサ イズが対応する解のコストに一致することを示す(等価性) 任意の違法な最小カットがサイズを変えずに合法化できる ことを示す(合法化可能性) – Xvの二点以上がs側に含まれていたら、全てt側に移動 すれば良いことを示す Unary関数のネットワーク f’(0) = (f(d1) + f(d2) / 2 f(d1) = 0と仮定してよい。a := f(d2)と置く。 a/2 s d1 t f’(i) – a/2 cost(s, xd1) = a / 2 cost(xi, t) = f’(i) – a / 2 (i ≠ d1) Unary関数の等価性と合法化可能性 等価性 • xv = 0 ⇒ カット = a/2 = f’(0) • xv = d1 ⇒ カット = 0 = f’(1) • xv = i (≠ d1) ⇒ カット = a/2 + f’(i) – a/2 = f’(i) 合法化可能性 • Tv ⊆ Xv, |Tv| ≥ 2をs側の頂点とする。 少なくともカットはa/2以上なので、全てt側に移動可能 置換のネットワーク fπ(x, y) = 0 (x = π(y) or x = y = 0) 1/2 (x = 0 xor y = 0) 1 (otherwise) π = 1 (2 3) s t cost(ui, vπ(i)) = cost(ui, vπ(i)) = 1/2 fa∨bにも同様にして構築可能 極限解の計算 • 合法化可能性より合法な最小s-tカットが得られる。 • 等価性よりこれは最適解に対応する。 極限解を得る為に以下の補題を利用 補題 [Picard, Queyranne 1980] s-t最小カットと、s-t最大フローの残余ネットワークにおけ るsを含む”閉じた”頂点集合には一対一対応がある。 アルゴリズム • 合法な最小カットS ⊆ Vと対応するs-t最大フローを計算 • 残余ネットワークにおける強連結成分を計算 • while これまで見ていない強連結成分⊆V \ Sが存在 – Cを一番tail側の強連結成分とする – もしCをs側に移動しても、合法な最小カットが得られ るなら移動する – そうでなければt側に留める。 • 現在の(合法な)カットに対応する解を出力 s t 正しさ 補題 得られた合法なカットに対応する解は極限解である。 残余ネットワークにおいてsからtに行くパスは存在しない ので、得られたカットは最小カットである。 得られた解x*が極限解でないとすると、あるy*が存在してx* を支配する。 y*に対応する合法カットはx*よりも真にt側に存在する。 この時、強連結成分をs側に移動することが出来るので矛盾。 まとめ • LPに基づく分岐を発想とした離散緩和を紹介 • (広義の)劣モジュラ性を利用することで – 最小化可能性 – 固定可能性 が容易に証明可能 • 紹介していない他の問題にも応用可能 – 劣モジュラ頂点被覆 – 劣モジュラ2SAT • 特殊な場合には最大流を使って線形時間FPTが得られる 今後の課題 • Unique Label Coverの頂点削除版は線形時間FPT? • どのVCSPは最大流で解ける? – 項数 ≤ 4,D = {0, 1}の場合は解決済み[Zivny-Cohen-Jeavons 2009] – 任意のバイナリk劣モジュラ関数? • (広義の)劣モジュラ性を越えた離散緩和? – 有向グラフ?(例: Directed FVS, Directed Multiway Cut) – SDPに由来する緩和? • どのVCSPはI ⊆ DにおいてFPT時間で最小化可能? • オラクルで与えられたk劣モジュラ関数最小化 71
© Copyright 2024 ExpyDoc