the fault-tolerant group steiner problem rohit khandekar ibm watson joint work with g. kortsarz and...

Post on 22-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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