Title: Packing Element-Disjoint Steiner Trees
1Packing 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
2The Problem
- Given
- Undirected graph G(V,E)
- A set T of k terminals 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
3Example
Observation All leaves in a Steiner tree are
terminals otherwise, we can simply remove it.
4Special cases
- If the number of terminals is 2, k2 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,t is
equal to the minimum number of vertices whose
removal disconnect s,t
- The special case of TV Steiner trees are
spanning trees - Theorem (Nash-Williams/Tutte) If the
vertex-connectivity of G is k then the maximum
number of vertex-disjoint spanning trees in G is
at least k/2
5From algorithmic point of view
- If k2 then the maximum number of vertex-disjoint
paths can be easily found.
- Finding maximum number of vertex-disjoint
spanning trees (i.e. when TV) 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).
6Other variations of the problem
- Packing edge-disjoint Steiner trees (IUE)
- The same input a graph G(V,E) and a set T of k
terminals. - The goal is to find maximum number of
edge-disjoint Steiner trees. - The special case of k2 is easy (by Mengers
Theorem) - The special case of TV Steiner trees are
spanning trees again we can solve the problem in
this case using matroid intersection algorithms
Conjecture (Kriesell99) If the
edge-connectivity of G is k then the maximum
number of edge-disjoint Steiner trees in G is at
least k/2
7Other variations of the problem (contd)
- Theorem (Lau04) If the edge-connectivity of G
is k then the maximum number of edge-disjoint
Steiner trees in G is 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.
8LP-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
9Fractional 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 JMS03, even solving
the LP is ?(log n)-hard
10Our 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
11Proof 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
12Proof of the Main Theorem (contd)
- 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 euv.
- It can be shown that either deleting or
contracting e preseves 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).
13Proof of the Main Theorem (contd)
- 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 Ci be 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)R1,
C(j-1)R2,, CjR. - Merge these classes one by one (in R rounds).
14Proof of the Main Theorem (contd)
- Let D1r be value of D1 after r rounds and HrD1r
T - Assume G1,,Gp are connected components of Hr
- It can be shown that when we add Cr1 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 DRT) becomes a
connected graph, with probability at least 1-1/n - Since there are k/R groups,