2. Expansionsfor Reductions
Joint work with
Fedor Fomin, Daniel Lokshtanov,
Geevarghese Philip, and Saket Saurabh
University of Bergen
University of California, San Diego
The Institute of Mathematical Sciences
15. Claim:
If N(A) q|A|, then there exists a subset S of A such that:
there q matchings saturating the subset S
that are vertex-disjoint in B.
provided B does not have any isolated vertices.
16. Claim:
If N(A) q|A|, then there exists a subset S of A such that:
there q matchings saturating the subset S
that are vertex-disjoint in B.
provided B does not have any isolated vertices.
17. Claim:
If |B| q|A|, then there exists a subset S of A such that:
there q matchings saturating the subset S
that are vertex-disjoint in B,
provided B does not have any isolated vertices.
18. Crucially: it turns out that the endpoints of the matchings
in B (the larger set) do not have neighbors outside S.
25. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
Any hitting set whose size is a polynomial function of k.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
26. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
A subset whose removal makes the graph acyclic.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
27. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
A polynomial function of k.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
28. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
At least twice the size of the hitting set.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
29. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
Find an approximate hitting set T.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
30. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
If T does not contain v, we are done.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
31. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
Else: v ∈ T. Delete T v from G.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
32. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
e only remaining cycles pass through v.
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
33. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
Find an optimal cut set for paths from N(v) to N(v).
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
34. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
Why is this cut set small enough?
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
35. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
36. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from
N(v) to N(v) is small.
37. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from
N(v) to N(v) is not small...
38. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from
N(v) to N(v) is not small... we get a reduction rule.
39. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
When is this cut set small enough?
More than k vertex-disjoint paths from N(v) to N(v)
→ v belongs to any hitting set of size at most k.
40. Given a high-degree vertex v, finding a small hitting set that
does not contain v.
When is this cut set small enough?
So either v “forced”, or we have hitting set of suitable size.
Notice that we arrive at either situation in polynomial time.
64. Notice that this does not lead to a larger FVS:
For every vertex v in S that a FVS of G leaves out,
65. Notice that this does not lead to a larger FVS:
For every vertex v in S that a FVS of G leaves out,
it must pick a vertex u that kills no more than all of S.
81. So the degree into every component is bounded by (q − 1),
82. So the degree into every component is bounded by (q − 1),
but there could be lots of components!
83. So the degree into every component is bounded by (q − 1),
but there could be lots of components!
If there are at least
q|HS|
components,
84. So the degree into every component is bounded by (q − 1),
but there could be lots of components!
If there are at least
q|HS|
components, we get a q-expansion!
85. So the degree into every component is bounded by (q − 1),
but there could be lots of components!
If there are at least
q|HS|
components, we get a q-expansion!
If we can handle the expansion, note that we will end up
with a degree bound of:
(q − 1)q|HS|.
86. So the degree into every component is bounded by (q − 1),
but there could be lots of components!
If there are at least
q|HS|
components, we get a q-expansion!
If we can handle the expansion, note that we will end up
with a degree bound of:
(q − 1)q|HS|.
87. So the degree into every component is bounded by (q − 1),
but there could be lots of components!
If there are at least
q|HS|
components, we get a q-expansion!
If we can handle the expansion, note that we will end up
with a degree bound of:
(q − 1)qpoly(k).
98. Notice that this does not lead to a larger solution:
For every vertex v in S that a solution in G leaves out,
99. Notice that this does not lead to a larger solution:
For every vertex v in S that a solution in G leaves out,
it must pick a vertex u that kills no more minor models than
all of S.
108. What’s left?
Finding the small hitting set that avoids v.
• Assume we have an approximation algorithm.
If v is not in the approximate solution, then we are
done.
If v is in the approximate solution, again, delete all of
the hitting set except v, so the remaining graph only
has minor models passing through v.
109. eorem
Let F be a minor-closed family of graphs such that its
obstruction set contains a planar graph. Given a graph
G, in polynomial time we can find a subset T ⊆ V(G)
such that G[V T] is an element of F and |T|
(OPT · log3/2
OPT). Here OPT is the size of smallest
such set T.
110. eorem
Let F be a minor-closed family of graphs such that its
obstruction set contains a planar graph. Given a graph
G, in polynomial time we can find a subset T ⊆ V(G)
such that G[V T] is an element of F and |T|
(k · log3/2
k). Here OPT is the size of smallest such set
T.
112. What’s left?
Finding the small hitting set that avoids v.
• So we have an approximate solution, T.
113. What’s left?
Finding the small hitting set that avoids v.
• So we have an approximate solution, T.
• If v is not in the approximate solution, then we are
done.
114. What’s left?
Finding the small hitting set that avoids v.
• So we have an approximate solution, T.
• If v is not in the approximate solution, then we are
done.
• If v is in the approximate solution, again, delete all of
the hitting set except v, so the remaining graph only
has minor models passing through v.
116. In this graph, all minor models of θq pass through v.
e graph G T
has constant treewidth:
117. In this graph, all minor models of θq pass through v.
e graph G T
has constant treewidth:
free of θc minor models + large treewidth
=
(q × q) grid minor ⇒ θc minor model
118. In this graph, all minor models of θq pass through v.
e graph G T ∪ {v}
has constant treewidth.
free of θc minor models + large treewidth
=
(q × q) grid minor ⇒ θc minor model
119. Promise: v is not at the center of a (k + 1)-flower.
120. Promise: v is not at the center of a (k + 1)-flower.
Stare at the tree decomposition of G S.
121. Promise: v is not at the center of a (k + 1)-flower.
Stare at the tree decomposition of G S.
At every bag, compute the number of vertex-disjoint minor
models that pass through v in the graph G S ∪ {v}
122. Promise: v is not at the center of a (k + 1)-flower.
Stare at the tree decomposition of G S.
At every bag, compute the number of vertex-disjoint minor
models that pass through v in the graph G S ∪ {v}
Note the bags at which this measure flips.
123. ere are at most k such bags of constant size.
124. ere are at most k such bags of constant size.
Add all vertices in all these bags to the hitting set.
126. Checking if v is at the center of a (k + 1) flower:
maximum number of vertex-disjoint minor models of θq
passing through v.
max |S|{
∀p ∈ S ∃Xp ⊆ V,
∀p ∈ S, q ∈ S :
p = q ⇒ Xp ∩ Xq = ∅
φq(Xp ∪ v)
}
127. Checking if v is at the center of a (k + 1) flower:
maximum number of vertex-disjoint minor models of θq
passing through v.
max |S|{
∀r ∈ S ∃Xr ⊆ V,
∀p ∈ S, q ∈ S :
p = q ⇒ Xp ∩ Xq = ∅
φq(Xp ∪ v)
}
128. Checking if v is at the center of a (k + 1) flower:
maximum number of vertex-disjoint minor models of θq
passing through v.
max |S|{
∀r ∈ S ∃Xr ⊆ V,
∀p ∈ S, q ∈ S :
p = q ⇒ Xp ∩ Xq = ∅
φq(Xp∪v)
}
129. Checking if v is at the center of a (k + 1) flower:
maximum number of vertex-disjoint minor models of θq
passing through v.
max |S|{
∀r ∈ S ∃Xr ⊆ V,
∀p ∈ S, q ∈ S :
p = q ⇒ Xp ∩ Xq = ∅
φq(Xp∪v)
}
130. Checking if v is at the center of a (k + 1) flower:
maximum number of vertex-disjoint minor models of θq
passing through v.
max |S|{
∀r ∈ S ∃Xr ⊆ V,
∀p ∈ S, q ∈ S :
p = q ⇒ Xp ∩ Xq = ∅
φq(Xp∪v)
}
131. On a graph of constant treewidth, detecting large flowers is
polynomial time.
132. On a graph of constant treewidth, detecting large flowers is
polynomial time. And thus we are (finally!) done.