LP-Based Parameterized Algorithms for Separation Problems D. Lokshtanov, N.S. Narayanaswamy V. Raman, M.S. Ramanujan S. Saurabh Message of this talk It was open for quite a while whether Odd Cycle Transversal and Almost 2-Sat are FPT. A simple branching algorithm for Vertex Cover known since the mid 90’s solves both problems in time π∗ (4π ). Some more work gives π∗ (2.32π ). Results 4π−πΏπ [CPPW11] ≤ (Above LP) Multiway Cut ≤ 2.32π−πΏπ (Above LP) Vertex Cover 2.32π ≤ Almost 2-SAT 2.32π Odd Cycle Transversal How does one get a 4k-LP algorithm? Branching: on both sides k-LP decreases by at least ½. How to improve? Decrease k-LP more. Multiway Cut In: Graph G, set T of vertices, integer k. Question: ∃π ⊆ π πΊ such that no component of G\S has at least two vertices of T? FPT by Marx, 04 Faster FPT by Chen et al, 07 Fastest FPT and FPT/k-LP by Cygan et al, 11 Vertex Cover In: G, t Question: ∃π ⊆ π πΊ , π ≤ t such that every edge in G has an endpoint in S? Long story... Here: π∗ (2.32π‘−πΏπ ). Almost 2-SAT In: 2-SAT formula π, integer k Question: Can we remove k variables from π and make it satisfiable? FPT by Razgon and O’Sullivan, 08 Here: π∗ (2.32π ). Odd Cycle Transversal In: G, k Question: ∃π ⊆ π πΊ , π ≤ k such that G\S is bipartite? FPT: π∗ (3π ) by Reed et al. Here: π∗ (2.32π ). Vertex Cover In: G, t Question: ∃π ⊆ π πΊ , π ≤ t such that every edge in G has an endpoint in S? Minimize ∑π₯π ∀π’π£ ∈ πΈ πΊ : π₯π’ + π₯π£ ≥ 1 π₯π ≥ 0 π₯π ∈ Z Vertex Cover Above LP In: G, t Question: ∃π ⊆ π πΊ , π ≤ t such that every edge in G has an endpoint in S? Running Time: π∗ (π π‘ − πΏπ ), where LP is the value of the optimum LP solution. π = π‘ − πΏπ Odd Cycle Transversal ο Almost 2-Sat π₯ ∨ ¬π¦ x y x ¬π₯ ∨ π¦ y ¬π₯ ∨ π§ π¦ ∨ ¬π§ z ¬π¦ ∨ π§ π₯ ∨ ¬π§ z Almost 2-SAT ο Vertex Cover/t-LP π₯ π₯∨π¦ π¦ π§ π¦ ∨ ¬π§ ¬π₯ ¬π¦ ¬π§ Nemhauser Trotter Theorem (a) There is always an optimal solution to Vertex 1 Cover LP that sets variables to {0 , , 1}. 2 1 , , 1}–solution 2 (b) For any {0 there is a matching from the 1-vertices to the 0-vertices, saturating the 1-vertices. Nemhauser Trotter Proof +Ο΅ -Ο΅ +Ο΅ π <π π -Ο΅ π >π π -Ο΅ π π Reduction Rule If exists optimal LP solution that sets xv to 1, then exists optimal vertex cover that selects v. ο Remove v from G and decrease t by 1. Correctness follows from Nemhauser Trotter Polynomial time by LP solving. Branching Pick an edge uv. Solve (G\u, t-1) and (G\v, t-1). LP(G\u) > LP(G) – 1 since otherwise there is an optimal LP solution for G that sets u to 1. Then LP(G\u) ≥ LP(G) − 1 2 Branching - Analysis LP – t drops by ½ ... in both branches! π π ≤ 2π π − 1 2 ≤ 4π Total time: π∗ (4π‘−πΏπ ) Caveat: The reduction does not increase the measure! Moral Nemhauser Trotter reduction + classic «branch on an edge» gives π∗ 4πΏπ−π‘ time algorithm for Vertex Cover and π∗ 4π time algorithm for Odd Cycle Transversal and Almost 2-Sat. Can we do better? Surplus The surplus of a set I is |N(I)| – |I|. The surplus can be negative! 1 , , 1}-LP 2 In any {0 solution, the total weight is n/2 + surplus(V0)/2. Solving the Vertex Cover LP is equivalent to finding an independent set I of minimum surplus. Surplus and Reductions If «all ½» is the unique LP optimum then surplus(I) > 0 for all independent sets. Can we say anything meaningful for independent sets of surplus 1? 2? k? Surplus Branching Lemma Let I be an independent set in G with minimum surplus. There exists an optimal vertex cover C that either contains I or avoids I. Surplus Branching Lemma Proof πΆ∩πΌ πΆ\πΌ I N(I) R Branching Rule Find an independent set I of minimum surplus. Solve (G\I, t-|I|) and (G\N(I), t-|N(I)|). LP(G\I) > LP(G) - |I|, since otherwise LP(G) has an optimal solution that sets I to 1. So πΏπ πΊ\I ≥ πΏπ πΊ − πΌ + t-LP drops by at least ½. 1 2 Branching Rule Analysis Cont’d Analyzing the (G\N(I), t-N(I)) side: LP(G\N(I)) + |N(I)| = n/2 + surplus(I)/2 ≥ LP G + surplus(I)/2 So LP(G\N(I)) ≥ LP(G) − |N(I)| + surplus(I)/2 t-LP drops by at least surplus(I)/2 Branching Summary The measure k-LP drops by (½, surplus(I)/2). Will see that independent sets of surplus 1 can be reduced in polynomial time! Measure drops by (½,1) giving a π∗ 2.618π‘−πΏπ time algorithm for Vertex Cover Reducing Surplus 1 sets. Lemma: If surplus(I) = 1, I has minimum surplus and N(I) is not independent then there exists an optimum vertex cover containing N(I). I N(I) R Reducing Surplus 1 sets. Reduction Rule: If surplus(I) = 1, I has minimum surplus and N(I) is independent then solve (G’,t-|I|) where G’ is G with N[I] contracted to a single vertex v. I N(I) R Summary Nemhauser Trotter lets us assume surplus > 0 More rules let us assume surplus > 1 (≥ 2)* If surplus ≥ 2 then branching yields π∗ 2.618π‘−πΏπ time for Vertex Cover The correctness of these rules were also proved by NT! Can we do better? Can get down to π∗ (2.32π‘−πΏπ ) by more clever branching rules. Yields π∗ (2.32π‘−πΏπ ) for Almost 2-SAT and Odd Cycle Transversal. Should not be the end of the story. Better OCT? Can we get down to π∗ (2π ) for Odd Cycle Transversal? LP Branching in other cases I believe many more problems should have FPT algorithms by LP-guided branching. What about ... (Directed) Feedback Vertex Set, parameterized by solution size k?