Complexity and Algorithm Design Boot Camp
Delve into fine-grained complexity and algorithm design through lower bounds based on SETH, exploring the tightness of ETH, understanding SAT, dominating set problems, and more.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
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 ? 21 2? ??
Strong ETH Let ??= inf{? d-SAT has a 2?? algorithm} Let ? = lim ? ?? Know: 0 sd s 1 SETH: s = 1 ETH: s3> 0
Showing Lower Bounds under SETH Your Problem d-SAT 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) nk/10? 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 y x y x y x y x y Selecting one vertex from each cloud corrsponds to selecting an assignment to the variables. Cliques
Variables SAT-formula k groups, each on n/k variables. x y x y x y x y x y Edge if the partial assignment satisfies the clause One vertex per clause in the formula
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 The output graph has k2n/k + m 2k 2n/k vertices (2? 2?/?)? 0.01 (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 t f t f t f t f In independent set: True Not in solution: False then False first True
d-SAT Independent Set proof by example ? = (a b c) (a c d) (b c d) b c c a c a 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 c c a c a d b d But what about the True a first true then false independent sets? t f t 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 truefalse Clause gadgets 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 a b c d Every variable flips true false at most once!
Treewidth Bound by picture b c c d a c a d b d a t f t f t f b t f t f t f n 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(2nnm) time. Next:1.41npoly(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 b d a c
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 2n algorithm and a 1.41nlower bound. Next:2n 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. Solution budget ? 2 from each group g g g g g Variables: ? Will force 2 from each group Exactly ? t 2 from each group t t Elements: t t Elements (1 + ) variables
Analyzing a group Group of g variables 2g assignments to variables Injection ? subsets of elements of size exactly 2. ?2 ? Group of t elements
? Forcing solution in a group? 2 vertices ? Add all subsets of the group of size 2 to the family F. Lets call these sets guards ? Any set that picks less than elements the group misses a guard. 2 ? Any set that picks at least each group hits all the guards 2 elements from
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 that the group complement set is not picked. 2 to the family F ensures ? All other sets of size be picked in solution. 2 in the group may still ? Forbid sets of size to assignments. 2 that do not correspond
d-SAT Hitting Set g g g g g Variables: assignments potential solutions t t t t t Elements: Want: Satisfying assignments Solutions
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?