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 / 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 x C cost ( C ) C ∈ K x C ( | S ∩ R ( C ) | − 1 ) + ≤ | S | − 1 � ∀ ∅ � S ⊆ R (LP) C ∈ K � x C ( | R ( C ) | − 1 ) = | R | − 1 C ∈ K x C ≥ 0 ∀ C ∈ K . 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 X 1 / 2 1 / 2 1 1 / 2 N = 2 ◮ Choose N s.t. x C · N ∈ N for all C ∈ K . ◮ Make x C · N “copies” of C ∈ K . ◮ Notation: Γ( X ) := set of components in X . 9 / 29
Blowup graph X 1 / 2 1 / 2 1 N = 2 1 / 2 ◮ 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 B Q = { B ⊆ E ( X ) | ( X /Q ) − B is feasible , and B is minimal with this property} . Theorem ◮ B Q form the bases of a matroid M Q of rank N ( | R ( Q ) | − 1 ) . 12 / 29
Matroid structure Given a set Q of terminals to contract, let B Q = { B ⊆ E ( X ) | ( X /Q ) − B is feasible , and B is minimal with this property} . Theorem ◮ B Q form the bases of a matroid M Q of rank N ( | R ( Q ) | − 1 ) . ◮ Can precisely describe the rank function r Q . ◮ M Q is a gammoid. 12 / 29
Thought experiment ◮ We want to show that there exists a component Q and removal set B ∈ B Q 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 ∈ B Q , 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 ∈ B Q 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 ∈ B Q , 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 ∈ B Q 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 ∈ B Q , 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 � c ( e ) P { e ∈ B } = α · cost ( X ) / | Γ( X ) | , N e implying an integrality gap ≤ α . 13 / 29
Thought experiment ◮ We want to show that there exists a component Q and removal set B ∈ B Q 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 ∈ B Q , 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 � c ( e ) P { e ∈ B } = α · cost ( X ) / | Γ( X ) | , N e implying an integrality gap ≤ α . ◮ Unfortunately we can’t get better than α = 2. 13 / 29
Removal probabilities ◮ Let B ( M Q ) be the base polytope associated with M Q . ◮ p ∈ B ( M Q ) iff there exists a distribution D Q on B Q s.t. P D Q { e ∈ B Q } = p e . ◮ Consider the scaled Minkowski sum 1 � B rem = B ( M Q ) . | Γ( X ) | Q ∈ Γ( X ) ◮ p ∈ B rem iff there exists D s.t. for random ( Q, B ) , B ∈ B Q , P { Q = C } = 1 / | Γ( X ) | ∀ C and P D { e ∈ B } = p e . 14 / 29
Polymatroids for random contraction ◮ B rem is a polymatroid, with rank function 1 � r = r Q . | Γ( X ) | Q ∈ Γ( X ) ◮ But r Q has an implicit description: r Q ( F ) = min S ⊇ Q h X − F ( S ) . 15 / 29
Polymatroids for random contraction ◮ B rem is a polymatroid, with rank function 1 � r = r Q . | Γ( X ) | Q ∈ Γ( X ) ◮ But r Q has an implicit description: r Q ( F ) = min S ⊇ Q h X − F ( S ) . Theorem N B rem ⊇ | Γ( X ) | B ( M R ) . Equivalently: � B ( M Q ) ⊇ N · B ( M R ) . Q ∈ Γ( X ) 15 / 29
Core edges ◮ The set of extreme points of B ( M R ) is precisely B R . ◮ So for any K ∈ B R , the vector p of marginals given by � N/ | Γ( X ) | e ∈ K p e = ∈ K . 0 e / is in B rem . 16 / 29
Core edges ◮ The set of extreme points of B ( M R ) is precisely B R . ◮ So for any K ∈ B R , the vector p of marginals given by � N/ | Γ( X ) | e ∈ K p e = ∈ K . 0 e / is in B rem . ◮ What must remain after removing some B ∈ B R ? Precisely a spanning tree on X /R . 16 / 29
Core edges ◮ The set of extreme points of B ( M R ) is precisely B R . ◮ So for any K ∈ B R , the vector p of marginals given by � N/ | Γ( X ) | e ∈ K p e = ∈ K . 0 e / is in B rem . ◮ What must remain after removing some B ∈ B R ? Precisely a spanning tree on X /R . 16 / 29
Witness sets e 17 / 29
Witness sets W ( e ) e 17 / 29
Witness sets e 17 / 29
Witness sets e 17 / 29
Weights ◮ Charge cost of cleanup edges to edges in K : c ( e ) � w ( f ) = c ( f ) + . | W ( e ) | e / ∈ K : f ∈ W ( e ) Theorem There exists a component Q and B ∈ B Q so that w ( B ) /N ≥ cost ( Q ) . ◮ ( Q, B ) can be found algorithmically (for each Q , find a maximum weight basis in B Q ; the gammoid structure of M Q is helpful here). 18 / 29
Algorithm ◮ Start with blowup graph X and K ∈ B R . ◮ N = 2 in this example. 19 / 29
Algorithm ◮ Find Q and max weight basis B ∈ B Q 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
Recommend
More recommend