Fine-Grained Complexity and Algorithm Design Boot Camp Lower Bounds Based on SETH Dániel Marx (slides by Daniel Lokshtanov) Simons Institute, Berkeley, CA September 4, 2015 Tight lower bounds Have seen that ETH can give tight lower bounds How tight? ETH «ignores» constants in exponent How to distinguish 1.85n from 1.0001n? SAT Input: Formula π with m clauses over n boolean variables. Question: Does there exist an assignment to the variables that satisfies all clauses? Note: Input can have size superpolynomial in n! Fastest algorithm for SAT: 2npoly(m) d-SAT Here all clauses have size ≤ d Input size ≤ nd Fastest algorithm for 2-SAT: Fastest algorithm for 3-SAT: Fastest algorithm for 4-SAT: … Fastest algorithm for d-SAT: Fastest algorithm for SAT: n+m 1.31n 1.47n 1−π π π 2 π 2 Strong ETH Let π π = inf{π βΆ d-SAT has a 2ππ algorithm} Let π ∞ = lim π π π→∞ Know: 0 ≤ sd ≤ s∞ ≤ 1 ETH: s3 > 0 SETH: s∞ =1 Showing Lower Bounds under SETH d-SAT Your Problem 1.99999π Too fast algorithm? The number of 9’s MUST be independent of d Dominating Set Input: n vertices, integer k Question: Is there a set S of at most k vertices such that N[S] = V(G)? Naive: nk+1 Smarter: nk+o(1) Assuming ETH: no f(k)no(k) k/10 n ? nk-1? SAT ο k-Dominating Set Variables SAT-formula k groups, each on n/k variables. One vertex for each of the 2n/k assignments to the variables in the group. Variables SAT-formula k groups, each on n/k variables. x x y Cliques y x y x Selecting one vertex from each cloud corrsponds to selecting an assignment to the variables. y x y Variables SAT-formula k groups, each on n/k variables. x y x y x y x y x Edge if the partial assignment satisfies the clause One vertex per clause in the formula y SAT ο k-Dominating Set analysis Too fast algorithm for k-Dominating Set: nk-0.01 For any fixed k (like k=3) If m ≥ 2n/k then 2n is at most mk, which is polynomial! So m ≤ 2n/k (2π ⋅ 2π/π )π−0.01 The output graph has k2n/k + m ≤ 2k ⋅ 2n/k vertices π ≤ (2π)π ⋅ 2 π−0.01 π = π(1.999π ) Dominating Set, wrapping up A O(n2.99) algorithm for 3-Dominating Set, or a O(n3.99) algorithm for 4-Dominating Set, or a a O(n4.99) algorithm for 5-Dominating Set, or a … … would violate SETH. Treewidth • We have seen: 2tnO(1), 3tnO(1), etc. algorithms and no 2o(t)nO(1) algorithms assuming ETH. Independent Set / Treewidth Input: Graph G, integer k, tree-decomposition of G of width ≤ t. Question: Does G have an independent set of size at least k? DP: O(2tn) time algorithm Can we do it in 1.99t poly(n) time? Next: If yes, then SETH fails! Independent Set / Treewidth Will reduce n-variable d-SAT to Independent Set in graphs of treewidth t, where t ≤ n+d. So a 1.99tpoly(N) algorithm for Independent Set gives a 1.99n+dpoly(n) ≤ O(1.999n) time algorithm for d-SAT. Independent Sets on an Even Path t f True t t f Infindependent set: t f Not in solution: False first True then False t f d-SAT ≤ Independent Set proof by example π = (a ∨ b ∨ c) ∧ (a ∨ c ∨ d) ∧ (b ∨ c ∨ d) b a c c a c d b d a t f t f t f b t f t f t f c t f t f t f d t f t f t f Independent Sets ↔ Assignments π = (a ∨ b ∨ c) ∧ (a ∨ c ∨ d) ∧ (b ∨ c ∨ d) b a c c a c d b d True But what about the a true first then sets? t f false t independent f t f False b t f t f t f True c t f t f t f False d t f t f t f Dealing with trueο false Clause gadgets 1 2 3 1 2 3 1 2 3 1 2 3 1 a b c d Every variable flips trueο false at most once! 2 3 Treewidth Bound by picture b d n a c c a c d b d a t f t f t f b t f t f t f c t f t f t f … … … d t f t f t f … Formal proof - exercise Independent Set / Treewidth wrap up Reduced n-variable d-SAT to Independent Set in graphs of treewidth t, where t ≤ n+d. A 1.99tpoly(N) algorithm for Independent Set gives a 1.99n+dpoly(n) ≤ O(1.999n) time algorithm for d-SAT. Thus, no 1.99t algorithm for Independent Set assuming SETH Assuming SETH, the following algorithms are optimal: – 2t ⋅ poly(n) for Independent Set – 3t ⋅ poly(n) for Dominating Set – ct ⋅ poly(n) for c-Coloring – 3t ⋅ poly(n) for Odd Cycle Transversal – 2t ⋅ poly(n) for Partition Into Triangles – 2t ⋅ poly(n) for Max Cut – 2t ⋅ poly(n) for #Perfect Matching –… 3t lower bound for Dominating Set? Need to reduce k-SAT formulas on n-variables to Dominating Set in graphs of treewidth t, where 3π‘ ≈ 2π So t ≈ π log 3 ≈0.58π Hitting Set / n Input: Family F = {S1,…,Sm} of sets over universe U = {v1, …, vn}, integer k. Question: Does there exist a set X ⊆ U of size at most k such that for every Si ∈ F, Si ∩ X ≠ ∅? Naive algorithm runs in O(2n nm) time. Next: 1.41n poly(n, m) implies that SETH fails d-SAT ≤ Hitting Set π = (a ∨ b ∨ c) ∧ (a ∨ c ∨ d) ∧ (b ∨ c ∨ d) a b c d Budget = 4 a b c d d-SAT vs Hitting Set A cn algorithm for Hitting Set makes a c2n algorithm for d-SAT. Since 1.412n < 1.9999n, a 1.41n algorithm for Hitting Set violates the SETH. Have a n 2 algorithm and a 1.41n lower bound. n Next: 2 lower bound Hitting Set For any fixed Ο΅ > 0, will reduce k-SAT with n variables to Hitting Set with universe with at most (1+π)n elements. So a 1.99n algorithm for Hitting Set gives a 1.99n(1+π) ≤ 1.999n time algorithm for k-SAT Some deep math For every π > 0 there exists a natural number g such that, for t = g(1 + Ο΅) odd we have: π‘ π‘ ≥ 2π 2 Why is this relevant? d-SAT ≤ Hitting Set Group the variables into groups of size g, and set t = π(1 + Ο΅) odd . π‘ Solutiongbudget g Variables: π‘ Will force ≥ Elements: t ο Exactly t π‘ 2 2 2 g from eachggroup g from each group from each group t t Elements ≤ (1 + Ο΅) ⋅ variables t Analyzing a group Group of g variables 2g assignments to variables Injection π‘ π‘ 2 subsets of elements of size exactly Group of t elements π‘ 2 . π‘ Forcing solution 2 vertices in a group? Add all subsets of the group of size π‘ 2 to the family F. Lets call these sets guards Any set that picks less than π‘ 2 elements the group misses a guard. Any set that picks at least π‘ 2 elements from each group hits all the guards Analyzing a group Group of g variables assignments to variables Injection subsets of elements of size exactly π‘ 2 . Group of t elements What about the element subsets of size π‘ do not correspond to assignments? 2 that Sets of size π‘ 2 Adding a set of size π‘ 2 to the family F ensures that the «group complement» set is not picked. All other sets of size π‘ be picked in solution. Forbid sets of size to assignments. π‘ 2 2 in the group may still that do not correspond d-SAT ≤ Hitting Set Variables: g g g g g assignments potential solutions Elements: t t t t Want: Solutions ↔ Satisfying assignments t Forbidding partial assignments Pick any d groups of variables, and consider some assignment to these variables. If this assignment falsifies π we want to forbid the corresponding set in the Hitting Set instance from being selected. Forbidding partial assignments Bad assignment Variables … … Set added to F to forbid the bad assignment Forbidding partial assignments For each bad assignment to at most d groups, forbid it by adding a «bad assignment guard» This adds O(nd2gd) = O(nd) sets to F. Satisfying Assignments ↔ Hitting Sets A satisfying assignment has no bad sub-assignments ο corresponds to a hitting set. A hitting set corresponds to an assignment. If this assignment falsified a clause C, the assignment would be bad for the ≤ d groups C lives in, and miss a bad assignment guard. Hitting Set wrap up Can reduce n variable d-SAT to n(1+Ο΅) element Hitting Set. So a cn algorithm for Hitting Set yields a (c+π)n algorithm for d-SAT. A 1.99n algorithm for Hitting Set would violate SETH. Conclusions SETH can be used to give very tight running time bounds. SETH recently has been used to give lower bounds for polynomial time solvable problems, and for running time of approximation algorithms. Important Open Problems Can we show a 2n lower bound for Set Cover assuming SETH? Can we show a 1.00001 lower bound for 3-SAT assuming SETH?