the fault-tolerant group steiner problem rohit khandekar ibm watson joint work with g. kortsarz and...
Post on 22-Dec-2015
216 Views
Preview:
TRANSCRIPT
The Fault-Tolerant GroupSteiner Problem
Rohit KhandekarIBM Watson
Joint work with G. Kortsarz and Z. Nutov
Fault-tolerant group Steiner problem
Given: A weighted graph G(V,E), a collection of subsets (groups) gi V and a root r.
The goal: Find a minimum weight subgraph in which for each gi, at least 2 vertices have edge (or vertex) disjoint paths to r.
An example
g1 g2 g3 g1 g2g3
r
Previous work on fault-tolerant problems: Steiner networks
Steiner Network:
Instance: A complete graph with edge (or vertex) costs, connectivity requirements r(u,v)
Objective: Min-cost subgraph with r(u,v) edge (or vertex) disjoint uv-paths for all u,v in V
k-edge-Connected Subgraph: r(u,v) = k for all u,v, edge-disjointness
k-vertex-Connected Subgraph: r(u,v) = k for all u,v, vertex-disjointness
Previous work on Steiner Network
Edge case:A sequence of papers reaching a 2-approximation[Jain 98]
Vertex case:Labelcover hard [Kortsarz, Krauthgamer, Lee 04]kε approximation is unlikely for some universal ε>0 [Chakraborty, Chuzhoy, Khanna 08] Undirected and directed problems are equivalent for k>n/2 [Lando, Nutov 08] O(log n)-approximation for metric cost [Cheriyan, Vetta 05]O(k3 log n)-approximation [Chuzhoy, Khanna 09]
2-connectivity problems (like ours)
2-edge-connected subgraph spanning k vertices:O(log n log k) [Lau, Naor, Salavatipour, Singh 09](fault tolerant version of k-MST)
Same problem with 2-vertex-connectivity:O(log n log k) [Chekuri, Korula 08]
Finding buy at bulk trees with 2-vertex-disjoint paths from the terminals to the root: O(log3 n) [Antonakopoulos, Chekuri, Shepherd, Zhang 07]
Our results
Problem Edge case Vertex case
FTGS-2(each group has 2 vertices)
3.55
VC hardO(log2 n)
FTGS-k(each group has k vertices)
O(k log2 n) O(k log2 n)
FTGS(with disjoint groups)
O(n log n)
GS hard
O(n log n)
GS hard
FTGS directed Label Cover Hard Label Cover Hard
FTGS = Fault tolerant group Steiner, GS = Group Steiner, VC = Vertex cover
Our results
Problem Edge case Vertex case
FTGS-2(each group has 2 vertices)
3.55
VC hardO(log2 n)
FTGS-k(each group has k vertices)
O(k log2 n) O(k log2 n)
FTGS(with disjoint groups)
O(n log n)
GS hard
O(n log n)
GS hard
FTGS directed Label Cover Hard Label Cover Hard
FTGS = Fault tolerant group Steiner, GS = Group Steiner, VC = Vertex cover
Why is our problem difficult?
Known algorithms for Group Steiner tree are based on approximating the given metric by tree metrics [Bartal 98], [Fakcharoenphol, Rao, Talwar 03] and solving the problem on trees.
This reduction does not preserve the connectivity information and hence cannot be used here.
An intriguing question: Can we approximate Group Steiner problem without first transforming the graph into a tree?
Algorithm for FTGS-2 (edge case)
As |gi| = 2, all terminals must be connected to the root in any feasible solution.
Therefore we first find a STEINER TREE T connecting all terminals to the root (1.55-approximation).
Then we augment T to a feasible FTGS-2 solution.
Violated sets
Say that X V is violated if there is only one edge leaving X, but there should be two edges leaving X (i.e., X does not contain r but contains a group).
Claim: If X and Y are violated, either X U Y and X ∩ Y are both violated, or X-Y and Y-X are both violated.
Such a family of violated sets is called “uncrossable”.
For any violated set X, the set X ∩ T must be a sub-tree of T containing an entire group.
Subtrees are laminar! (i.e., either two subtrees are disjoint or one is contained in the other.)
Why are violated sets uncrossable?
gi
X ∩ T
The two cases
g1 g2
X ∩ TY ∩ T
X-Y=X and Y-X=Y
g1
g2
X ∩ T
Y ∩ T
X∩Y=Y and XUY=X
Consequence
The problem of finding a minimum cost cover of an uncrossable family admits 2 approximation (Primal-Dual) [Goemans, Goldberg, Plotkin, Shmoys, Tardos 94].
Therefore, overall we get 1.55 + 2 = 3.55 approximation.
It is also easy to see that the problem is Vertex Cover hard.
Algorithm for FTGS-2 (vertex case)
First step: Steiner tree (same)
Second step: Augmentation problem is now different
u1
u2
u
g
The augmentation problem
Theorem:The group g is satisfied iff either u1 or u2 is 2-vertex-connected with r.
u1
u2
u
g
The augmentation problem
u1
u2
u
g
r
The augmentation problem
Profit(v) = number of groups g for which v serves the role of either u1 or u2
u1
u2
u
g
Density version of 2-vertex-connected graph problem
Given a graph with profits on vertices, find a subgraph H that minimizes the ratio of cost(H) to the profit of vertices that are 2-vertex-connected to r in H.
O(log n)-approximation [Chekuri, Korula 08]
This combined with the set-cover analysis gives O(log2 n)-approximation.
FTGS-k (|g| ≤ k for all groups g)
A similar argument with a careful counting gives O(k log2 n) approximation if groups are assumed to be disjoint.
Thanks!
How many groups can u1 or u2 cover?
g3 g1 g1 g4g3 g3
P=2
P=3
r
g4 g1 g3
g2
P=4
P=2 P=1 P=1 g2
top related