Parameterized Complexity Part I – Basics, Kernels and Branching Daniel Lokshtanov Basics / Motivation If L is NP-hard then there is no algorithm which solves all instances of L in polynomial time. What about the easy instances? How do we capture easy? Example: Vertex Cover In: G, k Question: ∃𝑆 ⊆ 𝑉 𝐺 , 𝑆 ≤ k such that every edge in G has an endpoint in S? Such a set S is called a vertex cover. Algorithms for Vertex Cover Naive: O(nkm). Can we do it in linear time for k=10? Or linear time for any fixed integer k? Pre-processing for Vertex Cover If any vertex v has degree ≥ k+1 it must be a part of any vertex cover of size ≤ k Pick it in to solution. Remove v and decrease k by 1. Pre-processing If no vertices of degree ≥ k+1 and ≥ k2 edges left say NO. k2 edges left. Remove vertices of degree 0, then there are 2k2 vertices left. In linear time, we made n ≤ 2k2 and m ≤ k2. Brute force now takes time O((2k2)kk) Running time Total running time is: O(n+m + (2k2)kk) Linear for any fixed k Pretty slow even for k = 10 Parameterized Complexity Every instance comes with a parameter k. Often k is solution size, but could be many other things The problem is fixed parameter tractable (FPT) if exists algorithm with running time f(k)nc. So Vertex Cover parameterized by solution size is fixed parameter tractable. Kernelization For vertex cover we first reduced the instance to size O(k2) in polynomial time, then we solved the instance. Let’s give this approach a name – kernelization. Kernels A f(k)-kernel is a polynomial time algorithm that takes an instance I with parameter k and outputs an equivalent instance I’ with parameter k’ such that: |I’| ≤ f(k) k’ ≤ f(k) (but typically k’ ≤ k) Kernelizable = FPT A problem Π is solvable in f(k)nc time for some f. ⇔ Π is decidable and has a g(k) kernel for some g. Kernelize and solve. If n ≤ f(k), done. If n ≥ f(k) solve in time nc+1 Kernel: Point-line cover In: n points in the plane, integer k Question: Can you hit all the points with k straight lines? Fact: Point-Line cover is NP-Complete. Alien invasion! Take them out with only 3 shots? Reduction rules R1: If some line covers k+1 points use it (and reduce k by one). R2: If no line covers n/k points, say NO. If neither R1 nor R2 can be applied then n ≤ k2. Kernel with k2 points! KPR’13: No kernel with O(k2-ϵ) points unless coNP ⊆ NP/poly Kernelization Initially thought of as a technique for designing FPT algorithms. Interesting in its own right, because it allows us to analyze polynomial time pre-processing. Better kernel for Vertex Cover? Next: kernel for Vertex Cover with 2k vertices, using linear programming relaxation. Vertex Cover (I)LP Minimize ∑𝑥𝑖 ∀𝑢𝑣 ∈ 𝐸 𝐺 : 𝑥𝑢 +𝑥𝑣 ≥ 1 ∀𝑢 ∈ 𝑉 𝐺 : 𝑥𝑢 ≥ 0 𝑥𝑢 ∈ Z If OPTLP > 𝑘 OPT > k output ``no’’ 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 k by 1. Correctness follows from Nemhauser Trotter Polynomial time by LP solving. Kernel Suppose reduction rule can not be applied and 1 consider any {0 , , 1} optimal solution to LP. 2 No vertex is 0 No vertex is 1. (remove isolated vertices) 1 2 All vertices are . OPTLP ≤ k. 1 n≤k 2 n ≤ 2k Vertex Cover Algorithm First apply the simple O(k2) kernel. Then reduce to 2k vertices (in poly(k) time) Try all subsets of the vertices. Running time: = O(n + m + kc + 22k) = O(n+m+4k) Branching A simple and powerful technique for designing FPT algorithms. Vertex Cover (again) Let uv ∈ E G . At least one of u and v must be in the solution. G has a vertex cover of size ≤ k ↔ G\u has a vertex cover of size ≤ k-1 OR G\v has a vertex cover of size ≤ k-1 Recursive algorithm! Running time k k-1 k-1 k-2 k-2 k-3 k-3 ... Total running time is O(2knc) O(n + m + 2kkc) if we run kernel first. 3-Hitting Set Input: Family S1...Sm of sets of size 3 over a universe U = v1...vn, integer k. Question: Is there a set X ⊆ V such that |X|≤ k and every set Si intersects with X? Parameter: k Branching for 3-Hitting Set Pick a set Si = {va,vb,vc}. At least one of them must be in the solution X. Branch on which one, decrease k by one. Remove all sets that are hit. Total running time: O(3k ⋅ (n+m)) Even Better Branching for Vertex Cover (Going below 2k) If all vertices have degree ≤ 2 then G is a set of paths and cycles, so we can solve Vertex Cover in polynomial time. Even Better Branching Let v ∈ V G , degree(v) ≥ 3. If v is not in the solution, then N(v) is. G has a vertex cover of size ≤ k ↔ G\v has a vertex cover of size ≤ k-1 OR G\N(v) has a vertex cover of size ≤ k-degree(v) Recursive algorithm! Running time T(n, k) = Running time on a graph on at most n vertices and parameter at most k. N(k) = Number of nodes in a recursion tree if parameter is at most k. L(k) = Number of leaves in a recursion tree if parameter is at most k. T(n, k) ≤ O(N(k) ⋅ (n+m)) ≤ O(L(k) ⋅ (n+m)) Recurrence L(k) ≤ L(k-1) + L(k-3) If exists vertex of degree ≥3. 1 otherwise. Will prove L(k) ≤ 1.47k by induction. L(k) ≤ L(k-1) + L(k-3) ≤ 1.47k-1 + 1.47k-3 ≤ 1.47k ⋅ (1.47-1 + 1.47-3) ≤ 1.47k (recurrence) (induction hypothesis) (choice of 1.47) Running time analysis Number of leaves in the recursion tree is at most 1.47k, so total running time is O(1.47k(n+m)). Fastest known algorithm for Vertex Cover has running time ≈ 1.27k (Chen, Kanj, Xia, 2010). Alternative Parameters So far we have only seen the solution size as the parameter. Often other parameters also make sense, or even make more sense than solution size. k-Coloring A proper k-coloring is a funcion f : V(G) {1...k} such that no edge has same colored endpoints. Input: G, k Question: Does G have a proper k-coloring? Parameter: k Can not have FPT algorithm – NP-hard for k=3! k-Coloring parameterized by VC Input: G, integer k, set X ⊆ V(G) such that X is a vertex cover of G, integer x = |X|. Question: Does G have a proper k-coloring? Parameter: x FPT now means f(x)nO(1). k-Coloring parameterized by VC If x+1 ≤ k say YES X Thus, assume k ≤ x. Branch on kx colorings of X. I = V(G) \ X For each guess, color I greedily. Total running time: O(kx ⋅ (n+m)) = O(xx ⋅ (n+m)). LMS’11: No xo(x) ⋅ nO(1) time algorithm assuming Exponential Time Hypothesis. Above Guarantee Vertex Cover So far we have only seen the solution size as the parameter for vertex cover. Alternative parameter μ = solution size – OPTLP Note that μ can be very small even if solution size is big! Vertex Cover Above LP In: G, k. Question: Does there exist a vertex cover S of size at most k? Parameter: k − OPTLP where OPTLP is the value of an optimum LP solution. Now FPT means f(k − OPTLP )nc time! Reduction Rule Recall the reduction rule from the kernel for Vertex Cover: – If exists optimal LP solution that sets xv to 1, then exists optimal vertex cover that selects v. – Remove v from G and decrease k by 1. Now the unique LP optimum sets all vertices to 1 2 Branching Pick an edge uv. Solve (G\u, k-1) and (G\v, k-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 OPTLP – k drops by ½ ... in both branches! 𝑇 𝜇 ≤ 2𝑇 𝜇 − 1 2 ≤ 4𝜇 Total time: 4k-OPTLP ⋅ nO(1) Caveat: The reduction does not increase the measure! Part II – Parameterized Reductions Reductions between Problems It is often useful to reduce A to B such that an algorithm for A gives an algorithm for B. - if B is ``easy’’ then A is ``easy’’. - If A is ``hard’’ then B is ``hard’’. Examples: NP-hardness, reductions to 2-SAT, hardness of approximation, reductions to Set Cover. Parameterized Reductions Instance (I,k) of problem A Time: T(I,k) ≤ h(k)|I|O(1) Equivalent instance (I’,k’) of problem B when does a reduction + f(k’)|I’|O(1) time algorithm for B give something meaningful for A? Need: k’ ≤ g(k) for some function g of k only! Algorithms by Reduction Recall, we saw an algorithm for Vertex Cover above LP with running time 4k-OPTLP ⋅ nO(1). Now we give an algorithm for Almost 2-SAT by reduction to Vertex Cover above LP. Almost 2-SAT In: 2-SAT formula ψ, integer k Question: Can we remove k variables from ψ and make it satisfiable? Parameter: k 2-SAT formula example: ψ = (x ∨ y) ∧ (¬x ∨ z) ∧ (y ∨ ¬z) ∧ (¬z ∨ ¬p) ∧ (z ∨ p) Almost 2-SAT ≤ Vertex Cover/k-LP 𝑥 𝑥∨𝑦 𝑦 𝑧 𝑦 ∨ ¬𝑧 ¬𝑥 ¬𝑦 ¬𝑧 Reduction analysis Time taken by reduction: polynomial. n variables in 2-SAT formula ↔ 2n vertices in output graph, OPTLP = n. Vertex Covers of size n+k = OPTLP + k ↔ Almost 2-SAT solutions of size k Vertex Cover 4k-OPTLP ⋅ nO(1) algorithm Almost 2-SAT 4k ⋅ nO(1) algorithm! Odd Cycle Transversal In: G, k Question: Does there exist a set S ⊆ V G of size at most k such that G\S is bipartite? Parameter: k Exercise: Give a 4knO(1) time algorithm for Odd Cycle Transversal. Odd Cycle Transversal ≤ Almost 2-Sat 𝑥 ∨ ¬𝑦 x y x ¬𝑥 ∨ 𝑦 y ¬𝑥 ∨ 𝑧 𝑦 ∨ ¬𝑧 z ¬𝑦 ∨ 𝑧 𝑥 ∨ ¬𝑧 z Parameterized Hardness How can we give (conditional) lower bounds on the running time of parameterized algorithms? Base assumptions + reductions! Coloring/k vs Clique/k Recall that 3-Coloring is NP-complete so we can not have f(k)nO(1) or even nf(k) time algorithm for Coloring/k. We have a O(nk) algorithm for Clique/k. Can we have a f(k)nO(1) time algorithm? Base Assumptions P ≠ NP: FPT ≠ W[1]: ETH: 3-SAT has no polynomial time algorithm. Independent Set has no f(k)nO(1) time algorithm. 3-SAT has no 2o(n)poly(m) time algorithm. (Exponential Time Hypothesis) ETH Basic form: Useful consequences: 3-SAT has no 2o(n)poly(m) time algorithm. 3-SAT has no 2o(n+m)poly(m) time algorithm. Independent Set has no f(k)no(k) time algorithm. (starting points for reductions) Clique/k Exercise: Show that Clique has no f(k)no(k) time algorithm, assuming ETH. Solution: Reduce from Independent Set, take the complement of the input graph. (Add Clique to the bag of problems we can reduce from) MultiColored Clique (MCC) Input: G = (V1 ∪ V2 ∪ ... ∪ Vk, E) and an integer k, where each Vi is an independent set. Question: Does G contain a clique C on k vertices? Parameter: k The Vi’s are called color classes. If G has a k-clique C then |C ∩ Vi| = 1 for all i. Clique ≤ MCC a b c d e f V2 Instance of Clique f e c a d b k=3 a a b b c c d d e e f f V1 Instance of MCC k=3 V3 Clique ≤ MCC Clique size: k Number of vertices: n⋅k Number of edges: O(n⋅k2) f(k)no(k) algorithm for MCC gives f(k)no(k) algorithm for clique. MCC has no f(k)no(k) time algorithm, assuming ETH. MCC useful observations MCC remains hard even on instances – where all color classes have same size, – where the number of edges between each pair of color classes is the same. MultiColored Clique is the starting point of many reductions. Independent Set ≤ Vertex Cover (?) A set X is a vertex cover of G if and only if V(G)\X is independent Given an instance (G,k) for independent set Solve instance (G,n-k) of vertex cover We reduced independent set to vertex cover… … so vertex cover does not have a f(k)no(k) algorithm under ETH? (but didnt we make a 1.47knO(1) one?) Dominating Set Input: G, k. Question: Does G contain a set S on at most k vertices so that N[S] = V(G)? Parameter: k Does Dominating Set have a fixed parameter tractable algorithm? No! Will reduce from MCC. Vertex Representation Strategy (for reductions from MCC) Vertex selection gadgets that encode the selection of a vertex in a color class to go into the clique. Adjacency gadgets that enforce that the selected vertices are adjacent. Typically adjacency is enforced by forbidding nonadjacency. Vertex Representation Adjacency gadgets MCC ≤ Dominating Set k+1 guards Vi Clique Vertex Selection Gadget Complete bipartite graph MCC ≤ Dominating Set Adjacency Gadget u uv Non-edge in MCC instance v MCC ≤ Dominating Set Adjacency gadgets Dominating Set has no f(k)no(k) time algorithm unless ETH fails. List Coloring / VC Input: G, a vertex cover X of G of size x, a list Lv of allowed colors for each v ∈V(G). Question: Does G have a proper coloring which assigns to each vertex v a color from Lv? Parameter: x This generalizes k-coloring, which has a O(xx(n+m)) time algorithm. MCC ≤ List Coloring / VC f a V1 V3 e {e,f} {b,e} b v3 d c V2 List Coloring has no f(x)no(x) time algorithm unless ETH fails. {a,b} v1 {c,e} {a,c} {b,d} {d,f} v2 {c,d} Lower Bounds for FPT problems So far we have seen f(k)no(k) lower bounds for problems which are not FPT. Can we lower bound f(k) for problems that have f(k)nO(1) time algorithms? Reduction starting point 3-SAT has no 2o(n+m)poly(m) time algorithm. Note: 3-SAT does have a trivial O(2nn) time algorithm, so this is FPT parameterized by n. 3-SAT ≤ Independent Set y x y Number of clauses: m x Number of vertices: 3m x y Independent Set 2o(n) algorithm for Independent Set gives 2o(n+m)poly(m) time algorithm for 3-SAT. No 2o(n) algorithm for Independent Set assuming ETH. Independent Set ≤ Vertex Cover The reduction from independent set to vertex cover that did not work when parameter was solution size, works perfectly when parameter is the number of vertices! No 2o(n) algorithm for Vertex Cover assuming ETH. Vertex Cover Vertex Cover size is at most n. (duh!) 2o(k)nO(1) time algorithm yields 2o(n) time algorithm! No 2o(k)nO(1) time algorithm for Vertex Cover assuming ETH. Conclusions Reductions are a useful tool, both for giving algorithms and lower bounds. The precise characteristics of the reductions should be tailored according to what you want to prove. Part III – More Algorithm Design Techniques Iterative Compression Incremental approach – build the instance up iteratively, update solution in each iteration. Tournament Feedback Vertex Set A tournament is a directed graph such that for every pair u,v of vertices either uv or vu is an arc. A feedback vertex set in a directed graph G is a vertex set S such that G\S is acyclic. Tournament Feedback Vertex Set Input: Tournament G, integer k. Question: Does G have a feedback vertex set of size at most k? Parameter: k Triangles Lemma: A tournament G is acyclic if and only if there are no directed triangles in G. Branching on triangles gives 3knO(1) time algorithm. Will now see a 2knO(1) time algorithm. Compression Version Input: Tournament G, integer k, feedback vertex set X of G of size ≤ k+1. Question: Does G have a feedback vertex set S of size at most k? Parameter: k Iterative Compression Lemma: If there exists a O(2knc) time algorithm for the compression version, then there exists a O(2knc+1) time algorithm for TFVS. Next: proof of lemma Iterative Compression Order the vertices as v1, v2 ….. vn. Define Vi = {v1, … , vi} Define Gi = G[Vi] If Gi does not have a feedback vertex set of size ≤ k, then neither does Gn. If Si is a feedback vertex set of Gi, then Xi+1 = Si ∪ vi+1 is a feedback vertex set of Gi+1 Iterative Compression Gk+1 Gk+2 Gk+3 Xk+1 Xk+2 Xk+3 Sk+1 Sk+2 Sk+3 Gn-2 Gn-1 Gn … Xn-2 Xn-1 Xn … Sn-2 Sn-1 Sn Compression XFeedback Feedback = Vk+1 isvertex step vertex a feedback succeeds? set set k+1 vertex If no, setofof answer size size Gk+1k+1 kof ``no’’. size k+1 Solving the Compression Step Input: Tournament G, integer k, feedback vertex set X of G of size ≤ k+1. Question: Does G have a feedback vertex set S of size at most k? Parameter: k Branch on which subset of X goes into S. Gives a 2k+1 factor in the running time. Disjoint TFVS Input: Tournament G, integer k, feedback vertex set X of G. Question: Does G have a feedback vertex set S of size at most k, disjoint from X? No parameter needed – we will solve Disjoint TFVS in polynomial time! Disjoint TFVS acyclic 1 2 3 4 5 X 6 undeletable FVS x V(G) \ X acyclic Disjoint TFVS acyclic Delete from V(G)\X to make 6 sequence 4 non-decreasing! 2 3 5 1 number Longest non-decreasing subsequence is poly time (simple DP). x V(G) \ X acyclic 3 y 1 X undeletable FVS TFVS Wrap Up Disjoint TFVS: Polynomial time. Compression Step: 2k calls to Disjoint TFVS. Main Problem: n iterative calls to compression step. Tournament Feedback Vertex Set has O(2knO(1)) time algorithm 3-Hitting Set Input: Family S1...Sm of sets of size 3 over a universe U = v1...vn, integer k. Question: Is there a set X ⊆ V such that |X|≤ k and every set Si intersects with X? Parameter: k We saw a 3knO(1) time branching algorithm. Now: 2.47knO(1) time using iterative compression Iterative Compression Do iterative compression adding one set at a time. When a set is added, we add one elment from it to the previous solution of size k. We now have a hitting set of size k+1, need one of size k. 3-Hitting Set Compression Input: Family S1...Sm of sets of size 3 over a universe U = v1...vn, integer k. A hitting set Q of size k+1. Question: Is there a hitting set X of size k? Parameter: k 3-Hitting Set Compression For each element q in Q, guess whether it goes into X or not. – If q goes into solution X, remove all sets containing q and decrease k by 1. – If q does not go into solution, remove q from all sets (may create sets of size less than 3) Tentative overhead 2|Q| = 2k+1 (but we will do better) After guessing Since Q was a hitting set, all sets now have size at most 2! – If there is a set of size 1, must pick the element in it and decrease k by 1. – If there is a set of size 0, return ``no’’. All sets now have size exactly 2. But this is just Vertex Cover! Solved in time 1.47knO(1). Running time analysis Iterative compression overhead: m Guessing on Q: 2k+1 Solving Vertex Cover: 1.47knO(1) Running time: 2k+1 ⋅ 1.47knO(1) ⋅ m = 2.94knO(1) Better than 3k… but we promised 2.47k Should not be k at the same time! Better Running Time Analysis 𝑘+1 𝑖 There are choices for Q that decrease the parameter by i. 𝑘 Total running time is: 𝑚⋅ 𝑖=0 𝑘+1 ≤𝑛 𝑂 1 𝑖=0 ≤ 𝑛𝑂 1 𝑘+1 1.47𝑘−𝑖 𝑛𝑂 𝑖 1 𝑘+1 1.47𝑘+1−𝑖 1𝑖 𝑖 1.47 + 1 𝑘+1 ≤ 𝟐. 𝟒𝟕𝒌 𝒏𝑶 𝟏 Color Coding Design randomized algorithm first, then try to de-randomize it. k-Path Input: G, k Question: Is there a path on k vertices in G? Parameter: k Will give an algorithm for k-path with running time (2e)k+o(k)nO(1). Randomized Algorithm Consider a random function f : V(G) {1...k} For a set S on k vertices, what is the probability that all vertices get a different color? Good colorings of S. Possible colorings of S. k! 1 ≥ kk 𝑒𝑘 Stirling approximation Randomized Algorithm Repeat ek⋅t times: Pick random f : V(G) {1...k} Look for a colorful k-path. If the algorithm finds a k-path, then G definitely has one. If there is a k-path, the algorithm will find it with probability at least 1− 1−1 𝑒 𝑘 ⋅𝑡 𝑒𝑘 ≥ 1 − 1 𝑒𝑡 Finding a Colorful k-Path Dynamic programming on the colors used by partial solutions. vertex T[S,v] = subset of {1...k} true If exists path on |S| vertices ending in v, using all colors from S. false otherwise Dynamic Programming T[S\f v , u] T[S,v] = u∈N(v) For each neighbor u of v 2kn table entries Is there a path ending in u that uses all colors in S, except v’s color? O(n) time to fill each entry. Total time: 2kn2 Randomized Algorithm Repeat ek⋅100 times: Pick random f : V(G) {1...k} Look for a colorful k-path. If the algorithm finds a k-path, then G definitely has one. If there is a k-path, the algorithm will find it with probability at least 1 − 1 𝑒 100 Total time: O((2e)kn2). Takes 2kn2 time De-randomization How can we make the algorithm deterministic? Let F = f1...ft be a family of functions with fi: V(G) {1...k}. F is a k-universal hash family F if for every set S ⊆ V(G) of size k, there is an fi ∈ F such that fi makes S colorful. Deterministic Algorithm Construct a k-perfect hash family F. For each f ∈ F: Look for a colorful k-path. If the algorithm finds a k-path, then G definitely has one. If there is a k-path, the algorithm will find it. Total time: O(t + |F|⋅2kn2). Takes t time Takes 2kn2 time Constructing Hash Functions [NSS’95] Can construct a k-perfect hash family F of size ek+o(k)log n in time ek+o(k)n log n. k-Path in time (2e)k+o(k)nO(1)≤ 5.44knO(1) Set Splitting Input: Family S1...Sm of sets over a universe U = v1...vn, integer k. Question: Is there a coloring c : U {0,1} such that at least k sets contain an element colored 0 and an element colored 1? Parameter: k Will give a 2knO(1) time randomized, and a 4knO(1) time deterministic algorithm. Randomized Algorithm Pick a random coloring c : V(G) {1,2}. If c splits at least k sets, return c. If the algorithm returns a coloring, then it is correct. Claim: If there is a coloring ψ that splits at least k sets, then a random coloring will split at least k sets with probability at least 1 2𝑘 The 2knO(1) time randomized algorithm follows directly from the claim. Proof of claim Suppose ψ splits the sets S1...Sk. Make a bipartite graph G=(A ∪ B, E) as follows: – A is a minimal hitting set for S1...Sk colored 0 – B is a minimal hitting set for S1...Sk colored 1 For i from 1 to k Add one edge between a vertex in Si ∩ A and a vertex in Si ∩ B. Set Splitting Graph A B Proof of claim, continued. If c properly colors G then all sets S1...Sk are split. G has ≤ k edges and at most ≤ 2k vertices G has k+x vertices G has ≥ x components Probability that c properly colors G is at least: Number of proper colorings Number of colorings 2x 2k+x = 1 2k Set Splitting Randomized Algorithm Repeat 100 ⋅ 2k times: Pick a random coloring c : V(G) {1...k}. If c splits at least k sets, return c. Running time: O(2knm) If the algorithm returns a coloring, then it is correct. If there is a coloring that splits k sets, the algorithm will find one with probability 1-1/2100. Universal Coloring Family Let F = {c1...ct} be a family of colorings V(G) {0,1} F is a k-universal coloring family if for every set S on at most k vertices and every way of coloring S there is some ci ∈ F which colors S exactly like that. Set Splitting Algorithm Construct 2k-universal coloring family F For each c ∈ F: If c splits at least k sets, return c. If the algorithm returns a coloring, then it is correct. If there is a coloring that splits k sets, the algorithm will find one, since the graph G has ≤ 2k vertices. Running time: O(t + |F|nm) Takes t time Construction of Universal Coloring Families [NSS’95] Can construct a k-universal coloring family F of size 2k+o(k)log n in time 2k+o(k)n log n. (We need a 2k-universal coloring family) Set Splitting in time 4k+o(k)nO(1). Important Separators Mind where you cut Separators A u-v-separator is a set S ⊆ V(G) \ {u,v} such that u and v are in different components of G\S. The set R(u,S) that u can reach in G \ S is the vertex set of the connected component of G\S that contains v. Separators and Reachability u R(u,S) v R(v,S) S Domination of Separators A u-v separator S1 dominates another u-v separator S2 if - |S1| ≤ |S2| Domination is transitive - R(u,S2) ⊆ R(u,S1) S1 u v S2 Important Separators A u-v separator S is important if no other u-v separator dominates it. u v How many important separators? Theorem: [Chen, Liu, Lu] For any graph G, vertices u, v and integer t, there are at most 4t important u-v separators in G of size t. They can be enumerated in time 4tnO(1). Proof is similar in spirit to the Vertex Cover above LP branching Separating Vertex Sets For disjoint vertex sets X and Y, a X-Y-separator is a set S ⊆ V(G) \ (X ∪ Y) such that there is no path from X to Y in G\S. Domination Reachability Important Separators extend naturally to this setting How many important separators? Theorem: [Chen, Liu, Lu] For any graph G, pair of disjoint vertex sets X, Y, and integer t, there are at most 4t important X-Y separators in G of size t. They can be enumerated in time 4tnO(1). Multiway Cut Input: G, vertex set T, integer k Question: Is there a set S ⊆ V(G)\T on at most k vertices such that all vertices of T are in separate componentes of G\S? Parameter: k Will give an algorithm for Multiway Cut with running time 8knO(1). Multiway Cut – Pushing Lemma Lemma: For any terminal v ∈ T there is an optimal multiway cut S such that N(R(v,S)) is an important v-T\v separator. The set reachable from v in G\S. Pushing Lemma – Proof by Picture v Pushing Lemma Consequence (G,T) has a multiway cut of size k ↔ Exists important v-T\v separator S such that (G\S,T) has a multiway cut of size k-|S|. Branch! Runtime Analysis T(k) = number of leaves in recursion tree. 𝑘 ∑ T(k) ≤ 𝑖=1 4𝑖 𝑇(𝑘 − 𝑖) Prove T(k) ≤ 8𝑘 by induction. T(k) ≤ ∑𝑘𝑖=1 4𝑖 8𝑘−𝑖 ≤ ≤ 𝑘 8𝑘 ∑𝑖=1 2𝑖 𝑘 ∑𝑘 1 8 𝑖=1 2𝑖 ≤ 8𝑘 Multiway Cut We just saw 8knO(1) time algorithm. The same algorithm with slightly more clever counting of important separators actually runs in 4knO(1) time. Directed Important Separators In directed graphs, X-Y separators must cut all paths from X to Y. The set R(X,S) is the set of vertices reachable from X in G\S. domination important separators 4k bound on important separators generalizes to directed graphs. Directed Feedback Vertex Set (DFVS) Input: Directed graph G, integer k. Question: Does G have a feedback vertex set of size at most k? Parameter: k Will see a 16k(k+1)!nO(1) time algorithm. Iterative Compression Iterative Compression + branching on the k+1 size solution reduces the problem to the Disjoint DFVS problem, with 2kn overhead. Disjoint DFVS Input: Directed graph G, integer k, vertex set X of size k+1 such that G\X is acyclic. Question: Does G have a feedback vertex set S, disjoint from X, such that |S| ≤ k? Parameter: k Will see a 8k(k+1)!nO(1) time algorithm. Disjoint DFVS Suppose there is a solution S G \ S is a DAG, so it has a topological ordering Guess the ordering restricted to the old disjoint solution X. Add implied arcs. (k+1)! possibilities. Disjoint DFVS-T Input: Directed graph G, integer k, vertex set X of size k+1 such that G\X is acyclic and G[X] is an acyclic tournament. Question: Does G have a feedback vertex set S, disjoint from X, such that |S| ≤ k? Parameter: k Will see a 8knO(1) time algorithm. Solutions to DFVS-T Consider an instance (G, X, k) of DFVS-T Let R = V(G) \ X A solution S ⊆ R must: Separate each v ∈ X from all v’s in-neighbors in X Hit all cycles in G[R ∪ {v}] for each v ∈ X (All such cycles go through v) Necessary and sufficient conitions for a solution! Solutions to DFVS-T X V(G) \ X Splitting X V(G) \ X x in xout G’ DFVS-T Pushing Lemma There is an optimal solution S, such that N(R(x,S)) is an important xout-(X\x ∪ {xin})-separator in G’. The set reachable from x in G\S. Pushing Lemma xin X V(G) \ X S xout G’ Push away from xout Important Separator Proof of Pushing Lemma (Sketch) Among all solutions, S pick one that maximizes R(xout,S). If Z = N(R(xout,S)) is not important, some Z’ dominates it. (S \ Z) ∪ Z’ is a solution with larger R(xout,S). (Short proof omitted) Branching for DFVS-T Some optimal solution contains an important xout-(X\x ∪ {xin})-separator. Branch on all such separators. T(k) ≤ ∑𝑘𝑖=1 4𝑖 𝑇(𝑘 − 𝑖) ≤ 8𝑘 DFVS Wrap Up Iterative Compression + Guessing on ``too big’’ solution gives 2kn instances of Disjoint DFVS. In Disjoint DFVS we guess the order of the disjoint solution, making (k+1)! instances of DFVS-T. DFVS-T has 8knO(1) time algorithm using important separators Total time: 16k(k+1)!nO(1). Part IV – Meta-Theorems What is a meta-theorem? A meta-theorem is a theorem that generates theorems. For example a single algorithm that works for many problems. Nice big hammer for classification Graph Minors Theory developed over >20 papers by Robertson and Seymour, to prove Wagner’s Conjecture. Subgraphs, Contractions and Minors H is a subgraph of G (H ≤s G) if H can be obtained from G by removing vertices and edges. Subgraphs, Contractions and Minors H is a contraction of G (H ≤c G) if H can be obtained from G by contracting edges. Subgraphs, Contractions and Minors H is a minor of G (H ≤m G)if H is a contraction of a subgraph of G. Wagners Conjecture «no infinite antichain» In any infinte sequence of graphs, H1, H2, H3, … there is a pair Hi and Hj such that Hi is a minor of Hj. «well quasi order» Now known as the Graph Minors Theorem. Minor Checking For every H there is a f(H)n3 time algorithm that decides whether an input graph G contains H as a minor. f(H) is really, really large. Minor closed classes For any minor closed class F there is a set of forbidden minors. finite List L = {H1, H2…. Ht} such that G is in F if and only if it excludes all Hi as minors. So L is finite! Without loss of generality L is an anti-chain. Can check whether G ∈ F in O(n3). F-deletion minor closed Input: G, k Question: Is there a set S on at most k vertices such that G\S is in F? Parameter: k For any fixed k, the set of ``yes’’ instances is minor closed! So it has a finite list L of forbidden minors The size of L depends on F and on k, but not on G. f(k)n3 time algorithm! Nonuniform F-deletion problems Vertex Cover Feedback Vertex Set Series-Parallell Deletion Treewidth-x-Deletion Pathwidth-x-Deletion Θ-Deletion K4-Deletion Planarization Better algorithms? Can we get uniform, efficient FPT algorithms for all F-deletion problems? What about polynomial kernels? Nice open problem Some progress has been made Planar F-deletion problems Vertex Cover Feedback Vertex Set Treewidth-x-Deletion Pathwidth-x-Deletion Θ-Deletion K4-Deletion Planarization F excludes at least one planar graph. Planar F-Deletion If F excludes at least one planar graph then F-deletion has: - Polynomial kernel (of size O(kh)) - ckpoly(n) time algorithm - Constant factor approximation* *randomized, unweighted. Courcelle’s Theorem If F is a minor closed graph class that excludes at least one planar graph, then MSO2 model checking is linear time FPT on F. Note: Courcelle’s theorem is usually stated in terms of tree-width. (C)MSO Quantifiers: ∃ and ∀ for variables for vertex sets and edge sets, vertices and edges. Operators: = and ∊ Operators: inc(v,e) and adj(u,v) Logical operators: ∧, ∨ and ¬ (C): Size modulo fixed integers operator: eqmodp,q(S) EXAMPLE: p(G,S) = “S is an independent set of G”: p(G,S) = ∀u, v ∊ S, ¬adj(u,v) CMSO-Optimization Problems Φ-Optimization Input: G Max / Min |S| So that Φ(G, S) holds. CMSO definable proposition Extended Courcelles Theorem If F is a minor closed graph class that excludes at least one planar graph, then Φ-Optimization has a f(Φ)n time algorithm on F. Converse of Courcelle If F is subgraph-closed and contains graphs of treewidth at least (log n)28 then MSO2 modelchecking has no nf(Φ) algorithm under ETH*. Note: The newly proved polynomial grid minor theorem might well make treewidth log n sufficient. *Terms and conditions apply FO-Model Checking If F is minor closed and exludes at least one graph H, then FO-model checking has f(Φ)n time algorithm on F. FO is like MSO but without the sets Integer Linear Programming Linear optimization function subject to linear (inequality) constraints. Variable domain: integers k4.5kpoly(L) time algorithm, where k is the number of variables. Closest String Input: n strings s1…sn over an alphabet A, all of same length L, and an integer k. Question: Is there a string s such that for every i, d(s, si) ≤ k? Parameter: n Note: the parameter is the number of strings, not k Closest String as Hit & Miss For every position, need to choose the letter of solution string s. For all strings s differs from at that position, increase distance by one. Can’t miss any string more than k times. Closest String Alphabet Reduction Can assume that alphabet size is at most n. 1111111111111111 1234123412342222 3214321443322114 1111111111111111 1222122212222222 2212221223232113 Column Types 1111111111111111 1111122212222222 2222221223232113 1 234 5 112 122 122 121 113 Closest String ILP After alphabet reduction, there are at most nn column types. Count the number of columns of each column type. ILP For each column type, make n variables, one for each letter. 𝑥𝑎 𝑡 = number of columns of type t where the solution picks the letter a. Constraints: For each column type t, the chosen letters add up to the number of type t. Objective Function For a string si and column type t, let si[t] be the letter of si in columns of type t. For each string si, its distance from the solution string s is 𝑥𝑎 𝑡 𝑑𝑖 = 𝑡𝑦𝑝𝑒 𝑡 𝑙𝑒𝑡𝑡𝑒𝑟 𝑎≠𝑠𝑖 [𝑡] Objective is Minimize Max di Algorithm for Closest String Number of variables in the ILP is n⋅nn so the final running time is FPT in n. (double exponential) Kernels on Planar Graphs Better kernel for vertex cover? The naive kernel gives a graph with k2 edges and 2k2 vertices encoded in O(k2 log k) bits. We saw a kernel with 2k vertices and k2 edges. DM10: A kernel on k2-c bits for any c > 1 yields coNP ⊆ NP/poly. Vertex Cover on Planar graphs? More reduction rules for vertex cover: - If v has degree 1 pick his neighbor into the solution. - Two false twins of degree 2 pick both their neighbors into solution. Vertex Cover Analysis Vertex Cover, Size ≤ k. Independent Set No vertices of degree 1. Simple plane graphs on k vertices have ≤ 3k edges ≤ 3k vertices of degree 2. How many vertices of degree ≥3? Bipartite Planar Graph Lemma Lemma: Let G be simple, planar and bipartite, with sides A and B, and all vertices in B have degree ≥ 3. Then |B| ≤ 2|A|. (i) #vertices = n = |A| + |B| (ii) #edges = m ≥ 3|𝐵| (iii) #faces = f (iv) Every face has at least 4 edges 4f ≤ 2m f ≤ m/2 (v) Euler’s formula: m = n + f - 2 (iv) + (v) m ≤ n + m/2 – 2 (vi) m ≤ 2n (ii) + (vi) 3|B| ≤ m ≤ 2n ≤ 2|A| + 2|B| |B| ≤ 2|A| Vertex Cover Analysis Vertex Cover, Size ≤ k. Independent Set No vertices of degree 1. ≤ 3k vertices of degree 2. ≤ 2k vertices of degree ≥ 3. Kernel with 6k vertices and 18k edges! Planar vs non-planar kernels Problem Best Known Kernel Vertex Cover O(k2)* Feedback Vertex Set O(k2) Connected Vertex Cover O(2k) Dominating Set Odd Cycle Transversal O(k4.5)** Steiner Tree O(2k) Longest path Best Lower Bound **Compression, *(2k Best Planar Kernel 𝑘 2−𝜖 Randomized O(k)* 𝑘 2−𝜖 O(k) no poly(k) vertices) O(k) no f(k) O(k) 𝑘 2−𝜖 O(k4.5)** no poly(k) O(k142) no poly(k) no poly(k) Connected Vertex Cover Input: Graph G, integer k. Question: Is there a vertex cover S of size at most k such that G[S] is connected? Parameter: k No polynomial kernel on general graphs unless CoNP ⊆ NP/poly Next: simple linear kernel on planar graphs CVC reduction rules Two false twins of degree 1 delete one. Three false twins of degree 2 delete one. CVC Analysis Vertex Cover, Size ≤ k. Independent Set ≤ k vertices of degree 1. ≤ 6k vertices of degree 2. ≤ 2k vertices of degree ≥ 3. Kernel with 10k vertices and 30k edges! Meta-theorem for Kernels Theorem: Every Contraction-Bidimensional, Separable CMSO-Optimization problem has a linear kernel on planar graphs. Contraction-Bidimensional Contracting an edge can not increase OPT t OPT t ≥ c⋅ t2 Separable An optimization problem is separable if for any G, and vertex subset S of G, Boundary of S |OPT(G[S])| = |OPT(G) ∩ S| ± O(|𝛿(S)|) «The size of an optimal solution in G[S] is additively O(|𝛿(S)|)-approximated by |OPT(G) ∩ S|» Meta-theorem for Kernels Theorem: Every Contraction-Bidimensional, Separable CMSO-Optimization problem has a linear kernel on planar graphs. Can be pushed through up to apex-minor free graphs and then to minor-free graphs (losing some problems) and then to topological-minor-free graphs (losing some more problems) Part V – Open Problems What kind of open problems? Maybe not crazy hard, but hopefully non-trivial. Imbalance Input: G, k Question: Is there a vertex ordering with total imbalance at most k? Parameter: k Polynomial kernel? neighbors to my left – neighbors to my right 2O(k) algorithm? 2o(k) algorithm? Contraction Input: G, k Question: Can we contract at most k edges so that G does not contain K1,3 as an induced subgraph? Parameter: k FPT or not? Disjoint Rectangle Stabbing Input: n disjoint rectangles in R2, integer k Question: Can we stab all the rectangles with k axis-parallell lines? Parameter: k Polynomial kernel? kO(k) time algorithm? Odd Cycle Transversal The edge version has a 2knO(1) algorithm. The vertex version is has a 2.32knO(1) algorithm. 2knO(1) for the vertex version? Feedback Vertex Set (in undirected graphs) Deterministic 3knO(1) time algorithm? Deterministic or randomized 2.99knO(1) time algorithm? Point Line Cover ko(k)nO(1) time algorithm? 1.99999n time algorithm? Planar Vertex Cover Kernel with 1.99k vertices? Set Cover (difficult/important) Input: Family S1...Sm of sets over a universe U = v1...vn, integer k. Question: Is there a collection of k sets that together cover the universe? Parameter: n Note, parameter is universe size! 1.99n algorithm? (I rather expect a Strong ETH lower bound) Concrete 3-SAT lower bound. (difficult/important) 1.0000001n lower bound for 3-SAT assuming Strong ETH? Book (near) (future) (hopefully) Kernelization Theory of Parameterized Preprocessing Book (near future, hopefully) Parameterized Complexity Thank you!