On the integrality gap of hypergraphic Steiner tree relaxations - - PowerPoint PPT Presentation
On the integrality gap of hypergraphic Steiner tree relaxations - - PowerPoint PPT Presentation
On the integrality gap of hypergraphic Steiner tree relaxations Neil Olver Department of Mathematics, MIT Aussois, January 2012 Joint work with Michel Goemans, Thomas Rothvo and Rico Zenklusen. Steiner tree T erminals Steiner nodes 2 /
Steiner tree
T erminals Steiner nodes
2 / 29
Approximation results
- Perf. guarantee
Folklore 2 Zelikovsky [1991] 11/6 ≤ 1.83 Berman & Ramaiyer [1991] 16/9 ≤ 1.78 Zelikovsky [1993] 1 + ln(2) + ε ≤ 1.70 Karpinski & Zelikovsky [1997] ≤ 1.65 Prömel & Steger [2000] 5/3 ≤ 1.67 Hougardy & Prömel [1999] ≤ 1.59 Robins & Zelikovsky [2005] 1 + ln(3)/2 ≤ 1.55 Byrka, Grandoni, Rothvoß, Sanità [2010] ln(4) + ε ≤ 1.39
3 / 29
Hypergraphic relaxations
◮ Different (but equivalent) relaxations:
◮ Warme [1998] (we’ll use this one). ◮ Polzin and Vahdati-Deneshmand [2003]. ◮ Könemann, Pritchard and T
an [2009].
◮ All have a variable for each component.
4 / 29
Hypergraphic relaxations
◮ Different (but equivalent) relaxations:
◮ Warme [1998] (we’ll use this one). ◮ Polzin and Vahdati-Deneshmand [2003]. ◮ Könemann, Pritchard and T
an [2009].
◮ All have a variable for each component.
4 / 29
Undirected component-based relaxation
min
- C∈K
xC cost(C)
- C∈K
xC(|S ∩ R(C)| − 1)+ ≤ |S| − 1 ∀ ∅ S ⊆ R
- C∈K
xC(|R(C)| − 1) = |R| − 1 xC ≥ 0 ∀ C ∈ K. (LP)
Warme [1998] ◮ K = set of components. ◮ Exponential # of variables—but can get a PTAS by only
considering components up to a certain size.
Borchers & Du [1997]
5 / 29
Integrality gaps
◮ Directed variant used by BGRS for their algorithm—but
their analysis does not bound the integrality gap!
◮ They do prove a bound of 1.55 on the integrality gap by other
methods.
◮ Chakrabarty, Könemann and Pritchard [2010] give a simpler
proof of this bound.
6 / 29
Our results (I)
◮ Deeper understanding of the component-based LP
.
◮ Leads to simpler algorithm, performance directly
comparable to LP solution:
◮ Deterministic (derandomization much simpler than for BGRS
algorithm).
◮ Gives matching bound on the integrality gap. ◮ Don’t need to re-solve LP in each iteration. 7 / 29
Overview of algorithm
◮ Solve component LP to get near-optimal solution x. ◮ Until all terminals are connected:
◮ Select component Q to contract; add Q to solution. ◮ Modify LP solution x to be feasible in the new contracted in-
stance.
8 / 29
Overview of algorithm
◮ Solve component LP to get near-optimal solution x. ◮ Until all terminals are connected:
◮ Select component Q to contract; add Q to solution. ◮ Modify LP solution x to be feasible in the new contracted in-
stance.
◮ No re-solving of LP!
8 / 29
Blowup graph
1 1/2 1/2 1/2 N = 2 X
◮ Choose N s.t. xC · N ∈ N for all C ∈ K. ◮ Make xC · N “copies” of C ∈ K. ◮ Notation: Γ(X) := set of components in X.
9 / 29
Blowup graph
1 1/2 1/2 1/2 N = 2 X
◮ X contains all information about x; in particular, can
determine feasibility.
◮ cost(X) :=
- e∈E(X) c(e) = N · cost(x).
◮ For any F ⊆ E(X), X − F is another blowup graph.
10 / 29
Edge removals
Crucial question What are the possible edge removals after contracting a set of terminals Q?
11 / 29
Edge removals
Crucial question What are the possible edge removals after contracting a set of terminals Q?
◮ Important to look at minimal edge removals:
11 / 29
Edge removals
Crucial question What are the possible edge removals after contracting a set of terminals Q?
◮ Important to look at minimal edge removals:
11 / 29
Edge removals
Crucial question What are the possible edge removals after contracting a set of terminals Q?
◮ Important to look at minimal edge removals:
11 / 29
Edge removals
Crucial question What are the possible edge removals after contracting a set of terminals Q?
◮ Important to look at minimal edge removals:
11 / 29
Edge removals
Crucial question What are the possible edge removals after contracting a set of terminals Q?
◮ Important to look at minimal edge removals:
11 / 29
Matroid structure
Given a set Q of terminals to contract, let BQ = {B ⊆ E(X) | (X /Q) − B is feasible, and B is minimal with this property}. Theorem
◮ BQ form the bases of a matroid MQ of rank N(|R(Q)| − 1).
12 / 29
Matroid structure
Given a set Q of terminals to contract, let BQ = {B ⊆ E(X) | (X /Q) − B is feasible, and B is minimal with this property}. Theorem
◮ BQ form the bases of a matroid MQ of rank N(|R(Q)| − 1). ◮ Can precisely describe the rank function rQ. ◮ MQ is a gammoid.
12 / 29
Thought experiment
◮ We want to show that there exists a component Q and
removal set B ∈ BQ s.t. cost(B)/N is “large” compared to cost(Q).
◮ Try an averaging argument: pick (Q, B) randomly from some
distribution D s.t. B ∈ BQ, and E{cost(B)/N} large compared to E{cost(Q)}.
13 / 29
Thought experiment
◮ We want to show that there exists a component Q and
removal set B ∈ BQ s.t. cost(B)/N is “large” compared to cost(Q).
◮ Try an averaging argument: pick (Q, B) randomly from some
distribution D s.t. B ∈ BQ, and E{cost(B)/N} large compared to E{cost(Q)}.
◮ Choose D s.t. P{Q = C} = 1/|Γ(X)|
∀C ∈ Γ(X).
◮ So E{cost(Q)} = cost(X)/|Γ(X)|. 13 / 29
Thought experiment
◮ We want to show that there exists a component Q and
removal set B ∈ BQ s.t. cost(B)/N is “large” compared to cost(Q).
◮ Try an averaging argument: pick (Q, B) randomly from some
distribution D s.t. B ∈ BQ, and E{cost(B)/N} large compared to E{cost(Q)}.
◮ Choose D s.t. P{Q = C} = 1/|Γ(X)|
∀C ∈ Γ(X).
◮ So E{cost(Q)} = cost(X)/|Γ(X)|.
◮ So if we can also ensure that P{e ∈ B} ≥ α · N/|Γ(X)|, we get
E{cost(B)/N} = 1
N
- e
c(e)P{e ∈ B} = α · cost(X)/|Γ(X)|, implying an integrality gap ≤ α.
13 / 29
Thought experiment
◮ We want to show that there exists a component Q and
removal set B ∈ BQ s.t. cost(B)/N is “large” compared to cost(Q).
◮ Try an averaging argument: pick (Q, B) randomly from some
distribution D s.t. B ∈ BQ, and E{cost(B)/N} large compared to E{cost(Q)}.
◮ Choose D s.t. P{Q = C} = 1/|Γ(X)|
∀C ∈ Γ(X).
◮ So E{cost(Q)} = cost(X)/|Γ(X)|.
◮ So if we can also ensure that P{e ∈ B} ≥ α · N/|Γ(X)|, we get
E{cost(B)/N} = 1
N
- e
c(e)P{e ∈ B} = α · cost(X)/|Γ(X)|, implying an integrality gap ≤ α.
◮ Unfortunately we can’t get better than α = 2.
13 / 29
Removal probabilities
◮ Let B(MQ) be the base polytope associated with MQ. ◮ p ∈ B(MQ) iff there exists a distribution DQ on BQ s.t.
PDQ{e ∈ BQ} = pe.
◮ Consider the scaled Minkowski sum
Brem = 1 |Γ(X)|
- Q∈Γ(X)
B(MQ).
◮ p ∈ Brem iff there exists D s.t. for random (Q, B), B ∈ BQ,
P{Q = C} = 1/|Γ(X)| ∀C and PD{e ∈ B} = pe.
14 / 29
Polymatroids for random contraction
◮ Brem is a polymatroid, with rank function
r = 1 |Γ(X)|
- Q∈Γ(X)
rQ.
◮ But rQ has an implicit description:
rQ(F) = min
S⊇Q hX −F(S).
15 / 29
Polymatroids for random contraction
◮ Brem is a polymatroid, with rank function
r = 1 |Γ(X)|
- Q∈Γ(X)
rQ.
◮ But rQ has an implicit description:
rQ(F) = min
S⊇Q hX −F(S).
Theorem Brem ⊇
N |Γ(X)|B(MR).
Equivalently:
- Q∈Γ(X)
B(MQ) ⊇ N · B(MR).
15 / 29
Core edges
◮ The set of extreme points of B(MR) is precisely BR. ◮ So for any K ∈ BR, the vector p of marginals given by
pe =
- N/|Γ(X)|
e ∈ K e / ∈ K . is in Brem.
16 / 29
Core edges
◮ The set of extreme points of B(MR) is precisely BR. ◮ So for any K ∈ BR, the vector p of marginals given by
pe =
- N/|Γ(X)|
e ∈ K e / ∈ K . is in Brem.
◮ What must remain after removing some B ∈ BR? Precisely a
spanning tree on X /R.
16 / 29
Core edges
◮ The set of extreme points of B(MR) is precisely BR. ◮ So for any K ∈ BR, the vector p of marginals given by
pe =
- N/|Γ(X)|
e ∈ K e / ∈ K . is in Brem.
◮ What must remain after removing some B ∈ BR? Precisely a
spanning tree on X /R.
16 / 29
Witness sets
e
17 / 29
Witness sets
e W(e)
17 / 29
Witness sets
e
17 / 29
Witness sets
e
17 / 29
Weights
◮ Charge cost of cleanup edges to edges in K:
w(f) = c(f) +
- e /
∈K:f∈W(e)
c(e) |W(e)| .
Theorem
There exists a component Q and B ∈ BQ so that w(B)/N ≥ cost(Q).
◮ (Q, B) can be found algorithmically (for each Q, find a
maximum weight basis in BQ; the gammoid structure of MQ is helpful here).
18 / 29
Algorithm
◮ Start with blowup graph X and K ∈ BR. ◮ N = 2 in this example.
19 / 29
Algorithm
◮ Find Q and max weight basis B ∈ BQ s.t. cost(Q) ≤ w(B)/N.
20 / 29
Algorithm
◮ Remove B
21 / 29
Algorithm
◮ Remove B and cleanup edges: F = {e /
∈ K | W(e) ⊆ B}.
21 / 29
Algorithm
◮ Remove B and cleanup edges: F = {e /
∈ K | W(e) ⊆ B}.
◮ Contract Q.
21 / 29
Algorithm
◮ Find Q and B ∈ BQ s.t. cost(Q) ≤ w(B)/N.
22 / 29
Algorithm
◮ Find Q and B ∈ BQ s.t. cost(Q) ≤ w(B)/N. ◮ Remove B
22 / 29
Algorithm
◮ Find Q and B ∈ BQ s.t. cost(Q) ≤ w(B)/N. ◮ Remove B and cleanup edges.
22 / 29
Algorithm
◮ Contract.
23 / 29
Algorithm
◮ Contract. ◮ Final tree.
23 / 29
Full algorithm
For a given blowup graph X and K ∈ BR: Algorithm
◮ T ← ∅ ◮ While T is not a Steiner tree:
◮ Find Q and B ∈ BQ s.t. cost(Q) ≤ w(B)/N. ◮ Cleanup: Let F = {e /
∈ K | W(e) ⊆ B}.
◮ Update: T ← T ∪ Q, X ← (X − B − F)/Q, K ← K \ B.
Theorem
Algorithm returns solution of cost at most ΦK(X)/N, where ΦK(X) =
- e∈K
H(|W(e)|).
24 / 29
Potential analysis
◮ Can find K minimizing ΦK(X) by a dynamic program. ◮ For best K, can show that
◮ ΦK(X) ≤ ln(4)cost(X). ◮ If G is quasi-bipartite, ΦK(X) ≤ 73
60 cost(X).
25 / 29
Our results (II)
◮ Quasi-bipartite:
◮ 73/60 bound on integrality gap (previous best of 1.28 by
Chakrabarty, Könemann and Pritchard [2010]).
◮ Can show how to obtain optimal solution to hypergraphic LP by
solving bidirected relaxation.
◮ Separation of undirected component-based LP by |R|
max-flow computations.
◮ Rank computations with one max-flow.
◮ Easy proof of sparsity of basic solutions (first proven by
Chakrabarty et al. [2010]).
26 / 29
Open problems
◮ Improve the bound! ◮ Practical (non-galactic) approximation algorithms? ◮ Better than 2 bound on integrality gap of bidirected cut
relaxation?
27 / 29
28 / 29
29 / 29