slides

Subexponential time algorithms and
lower bounds for finding path and
tree decompositions with few bags
Joint work (in progress) with Hans Bodlaender.
Jesper Nederlof
Technical University Eindhoven
Treewidth
Refer to
as a
bag.
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All ,
containing induce a connected subtree.
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
B
D
G
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
D
FG
B
D
G
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
D
FG
B
D
G
B
E
G
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
D
FG
B
D
G
B
E
G
BC
E
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
D
FG
Separates A, F
and CEH.
B
D
G
B
E
G
BC
E
E
GH
Treewidth
Definition
A treedecomposition of graph
is a pair
where
with
and a tree with vertex set such that:
1.
2.
3.
,
: All ,
containing induce a connected subtree.
Definition
The width of a treedecomposition is . The
treewidth of a graph is the minimum width among all possible
tree decompositions of G.
Pathwidth
Definition
Apath
treedecomposition of graph
is a pair
where
with
and a path
tree with vertex set such that:
1.
2.
3.
,
: All ,
containing induce a connected subtree.
Definition
The width of a path
treedecomposition is . The
path
treewidth
of a graph is the minimum width among all possible
path decompositions of G.
tree
Pathwidth
Definition
Apath
treedecomposition of graph
is a pair
where
with
and a path
tree with vertex set such that:
1.
2.
3.
,
: All Example
A
B
D
F
C
E
G
H
,
containing induce a connected subtree.
AB
D
D
FG
B
D
G
B
E
G
BC
E
E
GH
Pathwidth
Definition
Apath
treedecomposition of graph
is a pair
where
with
and a path
tree with vertex set such that:
1.
2.
3.
,
: All Example
A
AB
D
B
D
E
G
,
containing induce a connected subtree.
H
D
FG
Length: 4
B
D
G
B
E
G
BC
E
E
GH
Bounded length Path decompositions
β€’ Given 𝐺, π‘˜; find PD of width k and min. length.
β€’ NP-complete for k β‰₯ 4 (Dereniowski et al.)
– `Para-NP-complete’
– Poly-time for k<=3
n denotes |V|
β€’ Today: Solvable in 2𝑂(𝑛/ log 𝑛) for fixed k. Not
solvable in 2π‘œ(𝑛/ log 𝑛) under ETH.
The algorithm
Naïve branching algorithm
β€’ Most naïve algorithm you can think of
𝑋1
𝑋2
𝑋3
𝑋4
Naïve branching algorithm
β€’ Most naïve algorithm you can think of
𝑋1
𝑋2
𝑋3
𝑋4
Naïve branching algorithm
β€’ Most naïve algorithm you can think of
𝑋1
𝑋2
𝑋4
Not covered yet:
E ∈ 𝑋1 βˆͺ X2
A
B
D
E
G
H
𝑋3
Need:
Edges incident to 𝑋4 βˆ– 𝑋3
are contained in 𝑋3 or 𝑋4 .
Dealt with,
Not relevant
anymore!
Naïve branching algorithm
β€’ Most naïve algorithm you can think of
𝑋1
𝑋2
𝑋3
𝑋4
A
B
D
E
G
H
Need:
Edges incident to 𝑋4 βˆ– 𝑋3
are contained in 𝑋3 or 𝑋4 .
Dealt with,
Not relevant
anymore!
Naïve branching algorithm
β€’ Most naïve algorithm you can think of
– Plus a bit of memorization
𝑋1
𝑋2
𝑋3
𝑋4
A
B
Need:
Edges
𝑁 𝑋4incident
\X3 βŠ† 𝑋to3 𝑋
βˆͺ4π‘‹βˆ–4 𝑋3
are contained in 𝑋3 or 𝑋4 .
D
G
its incident edges
A bit of memorization
are contained in
β€’ Subproblems can be described
the rightby
bags
– An 𝐿 βŠ† 𝑉 that needs to be the last bag.
– A bit for every connected component of 𝐺[𝑉 βˆ– 𝐿]
indicating whether it has been covered already
– A vector indicating for every isomorphism class of a cc,
how many times it has been covered.
β€’ #distinct subproblems ≀ π‘›π‘˜ 2𝑛 :not good enough.
A bit of memorization
β€’ Subproblems can be described by
– An 𝐿 βŠ† 𝑉 that needs to be the last bag.
– A bit for every connected component of 𝐺[𝑉 βˆ– 𝐿]
indicating whether it has been covered already
– A vector indicating for every isomorphism class of a cc,
how many times it has been covered.
β€’ #distinct subproblems ≀ π‘›π‘˜ 2𝑛 :not good enough.
β€’ #distinct subproblems ≀ 2𝑂(𝑛/ log 𝑛) :good enough!
A bit of memorization
β€’ A vector indicating for every isomorphism class of a cc,
how many times it has been covered.
1
lg 𝑛
8
– Large cc’s (size β‰₯
): only 8𝑛/ lg 𝑛 of them -> at
most 28𝑛/ lg 𝑛 possibilities.
There are at most 24π‘˜π‘ isomorphism classes of
graphs of graphs on N vertices with path width k.
1
lg 𝑛):
8
1
lg 𝑛
2
– Small cc’s (size ≀
at most 2
=
𝑛 isomorphism classes-> at most 𝑛 𝑛 possibilities.
– Need some isomorphism canonization+datastructure
The lower bound
β€’ Exponential Time Hypothesis (ETH): we cannot
determine satisfiability of an n-variable CNF-formula
in 2π‘œ(𝑛) time.
β€’ Frequence ≀ πŸ‘, 3-DM not in 2π‘œ(𝑛) time unless ETH
fails (cor. of van Rooij et al) .
– Given n-sized sets P,Q,R, and 𝑇 βŠ† 𝑃 × π‘„ × π‘…, find n
disjoint triples from T; any elements occurs at most thrice
in the triples.
β€’ Disjoint strings not in 2π‘œ(𝑛) time unless ETH fails.
– Given 𝐴, 𝐡, 𝐢 βŠ† {0,1}6 log 𝑛 , find n disjoint triples
π‘Ž, 𝑏, 𝑐 ∈ 𝐴 × π΅ × πΆ such that π‘Ž + 𝑏 + 𝑐 β‰Ό 1.
Reducing freq.≀3 3-DM to disj. strings
β€’ Unify P, 𝑄, 𝑅 with {1, … , 𝑛};
β€’ Construct A,B,C βŠ† {0,1}6 log 𝑛 :
Added elements π‘Ž +
𝑏+𝑐 β‰Ό1
iff corresponding
𝑝, π‘ž, π‘Ÿ ∈ T.
– Denote 𝑏(π‘₯) for the bin. representation
– Denote 𝑏 β€² π‘₯ = 𝑏 π‘₯ 𝑏 π‘₯
– For p ∈ 𝑃, add 𝑏′(𝑝) 𝟎 𝟎 to A
– For q ∈ 𝑄, add 𝟎|𝑏′(π‘ž)|𝟎 to B
– For 𝑝, π‘ž, π‘Ÿ ∈ 𝑇, add 𝑏 β€² 𝑝 |𝑏 β€² π‘ž |𝑏 β€² π‘Ÿ to C
– If π‘Ÿ ∈ R has frequency f(r),
β€’ Add f(r)-1 elements 𝟎|𝟎|𝑏′(π‘Ÿ) to A
β€’ Add f(r)-1 elements 𝟎|𝟎|𝟎 to B
Clean up unused
elements added to C
Reducing disj.strings to min length pathwidth
K=199, length 5
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
π‘Ž2
π‘Ž1
1
0 0
π‘²πŸ“πŸ
𝐾50
𝐾50
𝐾50
𝐾50
𝐾50
𝐾99
1 0
π‘²πŸ“πŸ
𝐾50
𝐾50
𝐾50
0 0
𝐾50
𝐾50
π‘Ž1
π‘Ž2
6 log 𝑛
bags
6 log 𝑛
bags
𝐾50
1 0
𝐾50
𝐾50
π‘²πŸ“πŸ
𝐾50
𝐾50
𝐾99
1
𝐾50
π‘²πŸ“πŸ
𝐾50
𝐾50
π‘Ž3
6 log 𝑛
bags
48
49
𝐾50
𝐾50
𝐾
𝑏2
𝑏1
1
0 0
π‘²πŸπŸ’
𝐾13
𝐾13
𝐾13
𝐾13
π‘Ž1 + 𝑏9
𝐾15
𝐾13
1 0
π‘²πŸπŸ’
0 0
𝐾13
𝐾13
𝐾13
𝐾13
𝐾13
π‘Ž2 + 𝑏4
1 0
𝐾13
𝐾13
π‘²πŸπŸ’
𝐾13
𝐾13
1
𝐾13
π‘²πŸπŸ’
𝐾13
𝐾13
π‘Ž3 + 𝑏2
8
9
10
𝐾13
𝐾13
𝐾
𝑐2
𝑐1
1
0 0
π‘²πŸπŸ’
𝐾3
𝐾5
𝐾3
𝐾3
1 0
𝐾3
π‘²πŸ’
𝐾3
π‘Ž1 + 𝑏9 +𝑐2
0𝑂(𝑛
0 lg1𝑛)0vertices,
1
so
π‘œ(𝑁/ lg 𝑁)
2 𝑲 𝐾 𝑲time
𝐾
𝐾
𝐾
𝐾 algorithm
𝐾
𝐾
𝐾 for
𝐾 N-vertex
𝐾
𝐾
π‘œ(𝑛)
MLPD implies 2
for
disj.
strings.
π‘Ž2 + 𝑏4 + 𝑐4
π‘Ž3 + 𝑏2 + 𝑐3
𝐾3
3
𝐾3
3
3
𝐾3
3
πŸ’
3
πŸ’
3
3
3
3
3
0
1
3
𝐾
Concluding Remarks
β€’ Upper bound is quite similar to algorithm of
Bodlaender and van Rooij (TAPAS’11).
β€’ Similar results for minimum length tree
decompositions and intervalizing colored
graphs.
β€’ Thanks for listening!