430 likes | 557 Views
Degree bounded Network Design. Nikhil Bansal (IBM) Rohit Khandekar (IBM) Viswanath Nagarajan (CMU). Degree Bounded Network Design. Network design: Given a graph G, find min cost spanning tree 2-edge connected subgraph Steiner Tree on a subset of terminals T …
E N D
Degree bounded Network Design Nikhil Bansal (IBM) Rohit Khandekar (IBM) Viswanath Nagarajan (CMU)
Degree Bounded Network Design Network design: Given a graph G, find min cost spanning tree 2-edge connected subgraph Steiner Tree on a subset of terminals T … Degree Bounds: No degree more than 3 Arbitrary degree bounds bv Applications: Models workload on nodes Networking, VLSI, vehicle routing, …
10 10 20 10 10 10 10 trees Additional 10 trees Motivating Problem Input: Rooted directed graph with out-bandwidth bv on vertices Problem: At what max. rate can root broadcast? Problem: Pack max. number of arborescences T1,…,Tk rooted at r, s.t. for each v, i outdeg (v, Ti) · bv 30 r 20 10 10 10 (numberof arborescences = rate of traffic broadcast from r)
Equivalent Formulation More generally:Edge Disjoint Version K-arborescence problem: Given k, can we pack k edge-disjoint arborescences subject to degree bounds? K=1: Can we find one arborescence or not? NP-Hard: if all bv = 1, yes iff a Hamiltonian Path.
Previous Work Undirected Case (k=1): Spanning Tree w/ degree bounds bv Just minimize the maximum degree B* NP-Hard: b* =2 iff Hamiltonian Path +1 (local search) [Furer Raghavachari 94] What if edge costs? O(b* + log n) degree, O(1) cost [ Konemann Ravi 00] O(bv + log n) , O(1) cost [Konemann Ravi 03] (1+) b* + 2 log n/, 1 cost [Chaudhuri Rao Riesenfeld Talwar 05]
Undirected Case (k=1) bv+2, Opt cost [Goemans 06] bv+1, Opt cost [Singh, Lau 07] Very simple algorithm (iterative relaxation) Singh & Lau give very easy proof of +2, but +1 proof not so simple. We give a very simple analysis of +1, Easily generalizes to crossing spanning tree, matroids. Implies (bv+1, Opt) even when packing k MST’s.
General Connectivity Steiner Network:rijedge disjoint paths between i & j (Spanning tree: rij=1 for every vertex pair i and j.) Design min cost Steiner network: 2 approximation [Jain 98] New, very easy proof [Nagarajan, Ravi, Singh, manuscript] Degree bounded Steiner Network: (2 bv + 3, 2) [Lau Naor Salavatipour Singh 07] Recently, ( bv + O(rmax) , 2 ) [Lau Singh 08]
Previous Work: Directed Case 1-arborescence (no cost): (1+) bv + O(log n)/ [Klein Krishnan Raghavachari Ravi 04] 1-arbor. with cost: (2bv+3, 2)[Lau Naor Salavatipour Singh 07] k-arborescences with cost: (3bv+ 4, 3) Intersecting and crossing supermodular requirements Remark: General connectivity problems for directed graphs are much more difficult even without degree bounds.
Our Results: Directed case 1-arborescence (no cost): b(v)+2 K-arborescences (no cost): b(v) + 4 With cost: For k arborescence problem (b(v)/(1-) + 4, 1/Opt) Note: For = ½, (2b(v)+4, 2) improves (3 b(v) + 4, 3) of [Lau et al. 07] Best possible: Integrality gap instance, if out-degree violation b(v)/(1-) + O(1), cost violation is (1-o(1))/ Intersecting (crossing) supermodular, both indegree & outdegree bounds
Various other extensions Other network design problems. Degree bounds ! bounds on arbitrary subsets of edges structured families of edge subsets More general settings. Matroids : Generalize Spanning Trees Matroid intersection : Generalize Arborescences Lattice Polyhedra : Generalize above [B, Khandekar, Konemann, Nagarajan, Peis]
Outline of the talk Undirected Case 1) +1 Algorithm of Singh and Lau 2) Basic Solution, Submodularity, Uncrossing 3) Our simple proof 4) Extension to Matroids General Connectivity requirements Directed Case 1) +2 guarantee for arborescence without costs 2) Integrality Gap
LP formulation Variables xe for each edge For E’ ½ E, x(E’) = e 2 E’ xe For S½V, let E(S) be edges completely in S min e ce xe x(E(S)) · |S|-1 8 S ½ V x(E(V)) = |V|-1 e 2(v) xe· bv8 v (degree constraints) 0 · xe· 1 S Spanning Tree Polytope
Singh and Lau Algorithm Iterative relaxation: 0) Obtain a basic solution to the current LP 1) Apply one of these steps a) If xe = 0 for some e, remove e from graph, E = E\{e} b) If xe = 1 for some e, choose it (and update LP) c) If 9 vertex v, s.t. at most bv+1 adjacent edges with xe > 0, then drop degree constraint. 2) Go to step 0. 0.2 0.5 bv=2 0.6
Intermediate LP F(S) denote edges fixed to 1 in set S. W½ V, vertices with active degree constraint min e ce xe x(E(S)) · |S|-1 - |F(S)| 8 S x(E(V)) = |V|-1- |F(V)| e 2(v) xe· bv – |F(v)| 8v 2 W 0 · xe· 1 Remark: Previous solution is still feasible for new LP. No need to resolve, just convert to a basic feasible solution
Correctness If it does not get stuck, easy to see that solution 1) Satisfies degree bound + 1 2) Cost · original LP cost (at most OPT) Main question: Why can we apply one of the steps above? If 0 < xe < 1 for all edges, can drop some degree constraint. Key Idea: LP solution is sparse (few fractional variables) Essentially only technique (?): LP has few constraints But we have exponentially many ?!
Outline of the talk Undirected Case 1) +1 Algorithm of Singh and Lau 2) Basic Solution, Submodularity, Uncrossing 3) Our simple proof 4) Extension to Matroids General Connectivity requirements Directed Case 1) +2 guarantee for arborescence without costs 2) Integrality Gap
Basic Feasible Solution Vertex solution of polytope System: n variables, m ¸ n constraints n linearly independent constraints ! vertex. polytope
Basic Feasible Solution Our Goal: If no xe = 0 or 1, can drop some degree constraint Basic LP solution, some constraints hold with equality. e 2 E(S) xe = |S|-1 - F(S) S (1) e 2(v) xe = bv – F(v) v 2 W (2) xe = 0,1 Determined by some linearly independent constraints of type (1) and (2) Plan: Cannot have many linearly independent tight constraints. Any linearly independent subset suffices
Submodularity F: 2S! R Submodular if for all S,T s.t. S Å T ; F(S [ T) + F(S Å T) · F(S) + F(T) Supermodular if: F(S [ T) + F(S Å T) ¸ F(S) + F(T) If f is supermodular, then -f is submodular Example: x: E ! R+f(S) =x(E(S)) is supermodular x(E(S[T)) + x(E(SÅT)) ¸ x(E(S)) + x(E(T)) S T
Uncrossing Our constraints: x(E(S)) · |S|-1-F(S) Claim: If S, T are tight, then S[T and SÅT also tight Pf:x(E(S)) + x(E(T)) = |S|-1-F(S) + |T|-1- F(T) x(E(S[T)) + x(E(SÅT)) |S[T|-1-F(S[T) + |SÅT|-1-F(SÅT) Any collection of tight sets can be replaced by laminar family of sets submodular supermodular (submodularity) ¸ ¸ (supermodularity) · (feasibility)
Basic Feasible Solution Our Goal: If no xe = 0 or 1, can drop some degree constraint Basic LP solution, some constraints hold with equality. e 2 E(S) xe = |S|-1 - F(S) S (1) e 2(v) xe = bv – F(v) v 2 W (2) xe = 0,1 E: edges in support Determined by some |E| lin. indep. constraints of type (1) and (2) By uncrossing, (1) form a laminar family L Let T be the set of tight constraints of type (2). Any linearly independent subset suffices |E| = |L| + |T|
Intuition Number of edges |E| = |L| + |T| |T| is at most n. Turns out |L| can be at most n-1. Laminar family is a tree with at most n/2 leaves. Each leaf in L corresponds to a set S, with |S| ¸ 2. (Note: constraint x(E(S)) · |S|-1-|F(S)| is void if |S|=1) In general: Key issue is always how to bound |L|.
Outline of the talk Undirected Case 1) +1 Algorithm of Singh and Lau 2) Basic Solution, Submodularity, Uncrossing 3) Our simple proof 4) Extension to Matroids General Connectivity requirements Directed Case 1) +2 guarantee for arborescence without costs 2) Integrality Gap
Proof: 0.2 0.5 bv=2 Define Spare, sp(v) = e 2 N(v) (1-xe ) Claim: If drop constraint for v, degree violation·sp(v) Pf: Violation = (e 2 N(v)1) - bv • ·e 2 N(v)1 - e 2 N(v) xe = sp(v) Need to show: 9 v with degree violation (v) · 1 (suffices to show that some v with sp(v) < 2) 0.6
S T1 T2 Claim:|L| · x(E(V)) Pf: Assign x(e) tokens to edge e, and give to smallest set containing e. Show, each laminar set gets at least 1 So, E = |L| + |T| implies E · x(E(V)) + |T| v 2 W sp(v) = v 2 We 2 N(v) (1-x(e)) ·E 2(1-x(e)) = 2|E| - 2x(E(V)) · 2|T| ·2 |W| Strictness: For equality, each edge has both end pts in W, T=W and |L| = x(E(V)) (so, each edge contained in L) Consider maximal laminar sets M v 2 T(v) = 2 ME(M)(linear dependence) x(E(S)) – x(E(T1)) – x(E(T2)) = integer > 0
Extensions • Crossing MST: E1,…,Es edge subsets, bounds b1,…,bs. Find min-cost MST with at most bi edges from Ei. Additive r-1 approximation, if an edge lies in ·r sets Ei (Deg. bounded Spanning tree: Ei’s = Nv’s, then r = 2 ) Previously: O(r log n) mult. approx [Bilo, Goyal, Ravi Singh 04] • Min-cost basis in a matroid: E1,…,Es sets of elements with bounds b1,…,bs. Each element in at most r sets Ei. Additive r-1 approx. (Similar results independently obtained by [Kiraly, Lau, Singh 08])
In hindsight |E| = |L| + |T| (basic solution) Bound |L| by some function of xe (often a natural way) |E| - E f(xe) ·|T| · |W| (view as some function of overall spare)
Outline of the talk Undirected Case 1) +1 Algorithm of Singh and Lau 2) Basic Solution, Submodularity, Uncrossing 3) Our simple proof 4) Extension to Matroids General Connectivity requirements Directed Case 1) +2 guarantee for arborescence without costs 2) Integrality Gap
General Connectivity Requirements Steiner Network: rij edge-disjoint path between i,j Min e ce xe (cut formulation) x((S)) ¸ r(S) for all S r(S) = max(i,j) 2(S) rij 0 · xe· 1 Cut formulations problematic. Can only guarantee that some variable ¸ ½ Eg: Min. Spanning Tree Cut LP: x((S)) ¸ 1 for all S G = Cycle, x(e) =1/2 is feasible.
Steiner Network Jain [98]: Can do uncrossing. x((S)) submodular r(S) Weakly Supermodular a) A[B & AÅB tight Or, b) A\B & B\A tight. Jain (iterated rounding): Round xe¸ ½ to 1 Degree bounds: (2bv +3, 2)[ Lau Naor Salavatipour Singh 07] Algorithm: Either some xe¸ ½ or, can drop some degree constraint.
General Connectivity + deg bounds Surprising recent result (bv+ O(rmax),2) [Lau Singh 08] • Some xe¸ ½ s.t. |support| on endpoints of e = O(rmax) 2) Or, can drop some degree constraint “Idea”: Many edges xe¸ ½, few vertices with high support. Tight: Integrality gap of (bv + (rmax), 2)
Outline of the talk Undirected Case 1) +1 Algorithm of Singh and Lau 2) Submodularity, Uncrossing 3) Our simple proof 4) Extension to Matroids General Connectivity requirements Directed Case 1) +2 guarantee for arborescence without costs 2) Integrality Gap
Directed graphs r Cut Formulation for Arborescence x(in(S)) ¸ 1 S µ V \ {r} x(out(v)) · bv Thm: No degree constraints, Polytope integral[Edmonds 70] (just 1 degree constraint ! |E| = 2n-2, possibly ½ integral) Guarantee: (2bv+ 3, 2 cost) [Lau et al 07] (a) Either some xi¸ 1/2 (b) can drop degree constraint
Our Algorithms No cost, guarantee bv + 2 Algorithm (iterated rounding): 1) If tail of e has no degree constraint, set x(e)=1 2) If tail of edge e has a degree constraint a) Either x(e) =1 b) Or, some degree constraint can be dropped
k-Arborescences with costs In the cost version, guarantee (bv/1- + 4 , 1/) Algorithm: If tail of e has no deg. const. and x(e) ¸, set x(e) =1 If tail has degree constraint • Either some x(e) ¸ 1- • Some degree constraint can be dropped
Guarantee, best possible k-ary tree rooted at r bv = k(1-) at internal vertices Solid edge: cost 0, x(e) = 1- Dotted edges: cost 1, x(e) = LP cost = (# of leaves) 1- 1- 1- 1- 1- 1- Integral Cost = (# leaves) + ( 1- ) (# leaves) + (1- )2 (# leaves) + … ¼ LP cost /
Conclusions Iterative relaxation/rounding seems powerful technique Simpler proofs for several traditional results. 1) Can often get around limitations of cut formulations. 2) Is it NP-Hard to improve (bv/(1-), 1/) tradeoff for arborescence with costs? 3) Can we get +1 for arborescence without costs.
Result for structured laminar families Result for matroid intersection Crossing Spanning Tree problem, open problems.
Proof for no cost version E = L + T (uncrossing) Will show: L < x+2W So, E < x+2W+T · x+3W implies 9 v with sp(v) < 3 Give each edge e, xe tokens which lie on head And each W vertex 2 tokens. Show each set in L can get 1 token. Key point: The tail of any edge lies on a W-vertex xe
Make picture of integrality gap instance. to explain …
Node is marked if contains W vertex. : subtree of marked nodes Unmarked leaf: 1 token Unmarked non-leaf does not exist Marked leaf in has private W-vertex E = L + T L < x + 2 W Marked single child node, has a private W-vertex
Gadget: 1- 1- 1- 1-