1 / 14

Packing Element-Disjoint Steiner Trees

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)

merry
Download Presentation

Packing Element-Disjoint Steiner Trees

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. Example: Observation: All leaves in a Steiner tree are terminals; otherwise, we can simply remove it.

  4. 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

  5. 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).

  6. 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

  7. 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.

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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).

  13. 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).

  14. 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,

More Related