140 likes | 156 Views
Packing Element-Disjoint Steiner Trees. Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department of Combinatorics and Optimization University of Waterloo. The Problem. Given: Undirected graph G(V,E)
E N D
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department of Combinatorics and Optimization University of Waterloo
The Problem • Given: • Undirected graph G(V,E) • A set Tof kterminals in G; other vertices are called Steiner nodes • Find: • Maximum number of Steiner trees that are disjoint on the Steiner nodes and the edges (element-disjoint) • Steiner tree: a tree that contains all the terminals T We denote this problem by IUV
Example: Observation: All leaves in a Steiner tree are terminals; otherwise, we can simply remove it.
Special cases: • If the number of terminals is 2, k=2: Steiner trees are paths; • So asking for maximum number of vertex-disjoint paths between two points Theorem (Menger): The maximum number of vertex-disjoint paths between two nod s,tis equal to the minimum number of vertices whose removal disconnect s,t • The special case of T=V: Steiner trees are spanning trees; Theorem (Nash-Williams/Tutte): If the vertex-connectivity of Gis k then the maximum number of vertex-disjoint spanning trees in G is at least k/2
From algorithmic point of view • If k=2then the maximum number of vertex-disjoint paths can be easily found. • Finding maximum number of vertex-disjoint spanning trees (i.e. when T=V) can be solved in poly-time by matroid intersection algorithms. • Finding maximum number of vertex-disjoint Steiner trees is NP-hard. In fact: Theorem (Cheriyan & S.): It is NP-hard to approximate the maximum number of vertex-disjoint Steiner trees within a factor of (log n).
Other variations of the problem Packing edge-disjoint Steiner trees (IUE): • The same input: a graph G(V,E) and a set Tof kterminals. • The goal is to find maximum number of edge-disjoint Steiner trees. • The special case of k=2 is easy (by Menger’s Theorem) • The special case of T=V: Steiner trees are spanning trees; again we can solve the problem in this case using matroid intersection algorithms Conjecture (Kriesell’99): If the edge-connectivity of Gis k then the maximum number of edge-disjoint Steiner trees in Gis at least k/2
Other variations of the problem (cont’d) • Theorem (Lau’04): If the edge-connectivity of Gis k then the maximum number of edge-disjoint Steiner trees in Gis at least k/26 • The known O(1)-approximations for IUE are based on solving a special case of IUV (bipartite) • The problem is significantly harder on directed graphs: Theorem (Cheriyan & S.’04): The problem of packing element-disjoint directed Steiner trees is hard to approximate within (n1/3-). There is an O(n1/2+)-approximation for this problem. A similar upper and lower bounds hold for packing edge-disjoint directed Steiner trees.
LP-formulation and generalization We settle down the approximability of IUV by giving an O(log n)-approximation algorithm even for a more general setting Suppose we are given G(V,E), with terminals T, capacity cv for each vertex v2 V Find a maximum size set of Steiner trees such that each vertex v is in at most cv trees Let be the set of all Steiner trees in G For every F2 let xF be a 0/1 variable we can formulate the problem as an IP/LP
Fractional IUV • The LP-relaxation of the problem will be: • The separation oracle for the dual of this LP is the minimum node-weighted Steiner tree problem • Therefore, by a theorem of [JMS’03], even solving the LP is (log n)-hard
Our Results Main Theorem : There is a polytime randomized algorithm with ratio O(log n) for (uncapacitated) IUV. The algorithm finds a solution that is within a factor O(log n) of the optimal solution to the fractional IUV. The same approximation ratio holds for capacitated IUV. Since IUV (and even fractional IUV) is (log n)-hard we obtain: Corollary: The approximability threshold of IUV is (log n). We give the sketch of the proof for uncapacitated version
Proof of the Main Theorem: Let k be the largest vertex-connectivity between terminals Clearly k is an upper bound for the (fractional) solution The algorithm finds a set of element-disjoint Steiner trees. First we reduce the problem to the bipartite case: Bipartite IUV: if the input graph G is bipartite with one part being terminals and one part being Steiner points
Proof of the Main Theorem (cont’d) • By adding Steiner vertices on the edges we can assume there is no edge between terminals. • So we have to pack Steiner trees that are disjoint on Steiner nodes only. • Consider any edge e=uv. • It can be shown that either deleting or contracting epreseves the connectivity of terminals. So Theorem: Given a graph G=(V,E) with terminal set T that is k-connected (and has no edge between terminals), there is a poly-time algorithm to obtain a bipartite graph G’ from G such that G’ has the same terminal set and is k-connected (on terminals).
Proof of the Main Theorem (cont’d) • Theorem 2: Given an instance of bipartite IUV such that the graph is k-connected, there is a randomized poly-time algorithm that finds a set of element-disjoint Steiner trees. Proof sketch: • Let and color Steiner nodes u.r. with one of k/R colors (c¸ 6) • Equivalently: color every Steiner node u.r. with one of k colors 1,…,k; let Cibe color class i • Partition the color classes into k/R super-classes where each super-class Dj consists of R consecutive color classes C(j-1)R+1, C(j-1)R+2,…, CjR. • Merge these classes one by one (in R rounds).
Proof of the Main Theorem (cont’d) • Let D1r be value of D1 after r rounds and Hr=D1r[ T • Assume G1,…,Gp are connected components of Hr • It can be shown that when we add Cr+1 to Hr , the probability that G1 (or any fixed component of Hr) does not become connected to others is at most 1/e • So, in expected, the number of connected components of Hr drops by a constant factor (1-1/e) in each round • So after R rounds HR (which is DR[T) becomes a connected graph, with probability at least 1-1/n • Since there are k/R groups,