Lower Bounds Based on SETH D ániel Marx slides by Daniel Lokshtanov Simons Institute Berkeley CA September 4 2015 Insert Academic unit on every page 1 Go to the menu Insert ID: 399513
Download Presentation The PPT/PDF document "Fine-Grained Complexity and Algorithm De..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Fine-Grained Complexity and Algorithm Design Boot CampLower Bounds Based on SETH
Dániel Marx(slides by Daniel Lokshtanov)Simons Institute, Berkeley, CASeptember 4, 2015
Insert
«
Academic
unit»
on every page:
1 Go to the menu «Insert»
2 Choose: Date and time
3 Write the name of your faculty or department in the field «Footer»
4 Choose «Apply to all"Slide2
Tight lower boundsHave seen that
ETH can give tight lower boundsHow tight? ETH «ignores»
constants
in
exponent
How to
distinguish
1.85
n
from
1.0001
n
?Slide3
SATInput: 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
:
2
n
poly(m)Slide4
d-SATHere all clauses have size
dInput size nd
Fastest
algorithm
for
2-SAT: n+mFastest algorithm for 3-
SAT: 1.31n
Fastest
algorithm
for
4
-SAT: 1.47n…Fastest algorithm for d-SAT: Fastest algorithm for SAT:
Slide5
Strong ETHLet
d-SAT has a
algorithm
Know:
0
d
1 ETH: s3 0
SETH:
1
Let
Slide6
Showing Lower Bounds under SETH
Your ProblemToo fast algorithm?d-SAT
The
number
of
9
’s
MUST
be independent of dSlide7
Dominating SetInput: n vertices
, integer kQuestion: Is there a set S of at most k vertices such that
N[S] = V(G)
?
Naive:
n
k+1Smarter: nk+o(1)Assuming ETH: no f(k)no
(k)n
k
/10
?
n
k-1?Slide8
SAT
k
-Dominating Set
Variables
SAT-formula
k
groups, each on
n/k
variables.
One vertex for each of the
2
n/k
assignments to the variables
in the group.Slide9
x
y
x
y
x
y
x
y
x
y
Variables
SAT-formula
k
groups, each on
n/k
variables.
Selecting
one
vertex
from each
cloud corrsponds to selecting
an
assignment
to the
variables
.
CliquesSlide10
x
y
x
y
x
y
x
y
x
y
Variables
SAT-formula
k
groups, each on
n/k
variables.
One vertex per clause in the formula
Edge if the
partial assignment
satisfies the clauseSlide11
SAT k-Dominating Set
analysisToo fast algorithm for k-Dominating Set: nk-0.01
For
any
fixed
k (like k=3)The output graph has k2
n/k + m 2k
2
n/k
vertices
If m 2n/k then 2n is at most mk, which is polynomial!So m
Slide12
Dominating Set, wrapping upA O(n2.99
) algorithm for 3-Dominating Set, or a O(n3.99) algorithm for 4-Dominating Set, or aa
O(n
4.99
)
algorithm for 5-Dominating Set, or a …… would violate SETH.Slide13
TreewidthWe have seen: 2tnO(1)
, 3tnO(1), etc. algorithms and no 2o(t)nO(1) algorithms assuming ETH.Slide14
Independent Set / TreewidthInput: 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(2
t
n)
time
algorithm
Can we do it in 1.99t poly(n) time?Next: If yes, then SETH fails!Slide15
Independent Set / TreewidthWill reduce
n-variable d-SAT to Independent Set in graphs of treewidth t, where t
n+d
.
So a
1.99
tpoly(N) algorithm for Independent Set gives a 1.99n+dpoly(n)
O(1.999n) time
algorithm
for
d
-
SAT. Slide16
Independent Sets on an Even Path
tft
f
t
f
t
f
t
f
True
False
In
independent
set
:
Not in
solution
:
first
True
then
FalseSlide17
d
-SAT
Independent
Set
proof
by
example
= (a
b
c)
(a
c
d
)
(b
c
d)
tftftf
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
a
b
c
d
a
c
b
a
d
c
b
d
cSlide18
Independent Sets Assignments
= (a
b
c)
(a
c
d
)
(b
c
d
)
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
a
b
c
d
a
c
b
a
d
c
b
d
c
True
True
False
False
But
what
about
the
first
true
then
false
independent
sets
? Slide19
Dealing with truefalse
a
b
c
d
Clause
gadgets
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
Every
variable
flips
true
false
at most
once
!Slide20
Treewidth Boundby picture
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
t
f
a
b
c
d
a
c
b
a
d
c
b
d
c
…
…
…
…
n
d
Formal
proof
-
exerciseSlide21
Independent Set / Treewidthwrap 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.99
n+dpoly(n) O(1.999
n
)
time
algorithm
for d-SAT. Thus, no 1.99t algorithm for Independent Set assuming SETHSlide22
Assuming SETH, the following algorithms are optimal: 2
t poly(n) for Independent Set 3t poly(n) for Dominating Set
c
t
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… Slide23
3t lower bound for Dominating Set?
Need to reduce k-SAT formulas on n-variables to Dominating Set in graphs of treewidth t
,
where
So
0.58
Slide24
Hitting Set / nInput: Family F = {S
1,…,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
S
i F, Si X ? Naive algorithm runs in
time.
Next:
implies
that
SETH
fails Slide25
d
-SAT
Hitting
Set
= (a
b
c)
(a
c
d
)
(b
c
d
)
Budget = 4Slide26
d-SAT vs Hitting SetA c
n algorithm for Hitting Set makes a c2n algorithm for d-SAT.Since 1.412n
< 1.9999
n
, a
1.41
n algorithm for Hitting Set violates the SETH.Have a
2n algorithm and a
1.41
n
lower
bound.Next: 2n lower bound Slide27
Hitting SetFor any fixed
, 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 Slide28
Some deep mathFor
every there exists a natural number g such that, for t =
we
have:
Why
is
this
relevant?Slide29
d-SAT Hitting Set
Group the variables into groups of size g, and set
t
=
.
Variables:
g
g
g
g
g
t
t
t
t
t
Elements
(1 +
)
variables
Elements:
Solution
budget
from
each
group
Will force
from
each
group
Exactly
from
each
group
Slide30
Analyzing a group
Group
of
g
variables
Group
of
t
elements
2
g assignments to variables
subsets
of
elements
of
size
exactly
.
InjectionSlide31
Forcing solution
vertices in a group?
Add
all
subsets
of the group of size
to the family F.
Any
set
that picks less than elements the group misses a guard.
Any
set
that
picks
at
least elements from each group
hits all the guards
Lets call these sets guardsSlide32
Analyzing
a
group
Group
of
g
variables
Group
of
t
elements
assignments
to variables
subsets
of
elements
of
size
exactly . Injection
What
about
the
element
subsets
of
size
that
do not
correspond
to
assignments
?
Slide33
Sets of size
Adding a set of
size
to
the
family F ensures that the «
group complement» set is not picked
.
All
other
sets of size in the group may still be picked in solution. Forbid sets of size that do not correspond
to
assignments
.
Slide34
d-SAT Hitting Set
Variables:
g
g
g
g
g
t
t
t
t
t
Elements:
potential
solutions
assignments
Want
:
Solutions
Satisfying
assignments
Slide35
Forbidding partial assignmentsPick 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.
Slide36
Forbidding partial assignments
Variables
…
…
Bad
assignment
Set
added
to
F
to
forbid
the
bad
assignmentSlide37
Forbidding partial assignmentsFor each bad assignment
to at most d groups, forbid it by adding a «bad assignment guard»This adds O(nd
2
gd
) = O(
n
d) sets to F.Slide38
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. Slide39
Hitting Set wrap upCan 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. Slide40
ConclusionsSETH 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.Slide41
Important Open ProblemsCan we show a 2
n lower bound for Set Cover assuming SETH?
Can
we
show a
1.00001
lower
bound
for
3-SAT assuming SETH?