College of Computer & Information Science Fall 2007 Northeastern University Handout 19 October 2007 CS G399: Algorithmic Power Tools I Scribe: Hooman Javaheri

Lecture Outline:

• Complete Steiner network analysis

In this lecture, we will complete the analysis for Jain’s algorithm as a 2-approximation algorithm for the Generalized Steinr Network problem.

1 Review of the problem and the algorithm

The Generalized Steiner Network problem is:

Problem 1. Given a graph G(V, E), a cost function c : E → Z^{+}, and a connectivity requirement r_{uv} for each pair (u, v), find a min-cost subgraph of G satisfying the connectivity requirement for all (u, v), where u_{e} is maximum number of copies you can pick for edge e

and the corresponding LP can be written this way

min ∑ c_{e}x_{e}

s.t. ∑_{e∈δ(S)} x_{e} ≥ f(S)

0 ≤ x_{e} ≤ u_{e}

where,

f(S) = max_{u,v_{u∈S,v∈S̄}} r_{uv}

δ(S) is the set of edges connecting S to \overline{S}.

Here is the Jain’s algorithm for the problem:

Algorithm 1: Jain’s algorithm for generalized steiner network problem

1. F ← Ø , Define f according to r_{uv}s. f′ ← f.

2. repeat 2.1. Solve LP for f′ to obtain a solution x with desired property: ∃e s.t. x_{e} ≥ 1/2 2.2. Add ⌈x_{e}⌉ copies of all e s.t. x_{e} ≥ 1/2 to F 2.3. Remove the above edges e from G. 2.4. f′(S) ← max(0, f(S) − δ_{F} (S)) where, δ_{F} (S) is set of edges of F crossing S.

until f′(S) = 0

3. Return F

In the previous lecture, we started a 3 step approach to analyze the algorithm:

1. LP can be solved in Poly-Time ,in fact, we will find an optimal BFS in each iteration.

2. The algorithm is a 2-approximation assuming the desired property in state 2.1 is TRUE.

3.

Theorem 1. Desired Property: for all BFSs, ∃e s.t. x_{e} ≥ 1/2 Actually, we will prove it for 1/3 rather than 1/2. The approach for 1/2 is the similar, but requires some complicated case analysis for which we refer to the original paper.

2 Completing the analysis: Proving desired property theorem

Having proved first two steps, we have got one step to go, the last but definitely not the least step.

As we mentioned before, we are going to prove part 3 in two steps:

1.

Theorem 2. Suppose x is a BFS of Generalized Steiner Network’s LP

Further assume x_{e} ∈ (0, 1) not including 0 and 1. Suppose there are m such edges. There exist a set of m ”TIGHT” constraints that are independent and form a laminar family.

2. if 1 then, ∃e s.t. x_{e} ≥ 1/2.

Let’s define terminology here in more detail.

• Independent: for every S if e cross the cut the coefficient of x_{e} in LP is 1, otherwise is zero, therefore we can define a vector A_{S} of coefficients of each edge. Note that WLOG we can number the edges in arbitrary order and define A_{S} as a m dimension 0-1 vector, where m is the numbers of edges . Collection of sets is independent if their corresponding A_{S}’s are independent.

• Cross: Two sets S and T are said to cross if S − T, T − S, S ∩ T are all non-empty.

• Laminar family: A laminar family is a collection of sets no two of which cross.

2.1 Proof of Theorem 1, assuming Theorem 2.

Assuming that Theorem 2 is true, we are going to prove Theorem 1. First, let’s take a close look at a laminar family.

Let L denote the laminar family in Figure 1. As we mentioned before laminar family can be represented with a tree hierarchy. Figure 2 shows the corresponding tree for laminar family L.

In order to prove that ∃e s.t. x_{e} ≥ 1/3, we only need to show ∃ set S in this Laminar family that has at most 3 1’s in its A_{S} (i. e. there are at most 3 edges crossing this set).

Our proof will be based on case analysis and contradiction. In other words we will show that if all sets have more than 3 crossing edges, then we obtain a contradiction.

Figure 1: Laminar Family L

Figure 2: Corresponding tree for L

• CASE 1: Let suppose all sets are disjoint. We have m edges correspond to 2m end-points. In this scenario, each edge crosses two sets. Considering we have only m sets, it is trivial to see that Theorem 1 holds true in this situation.

• CASE 2: Let’s look at the tree corresponding to first 10 sets of the laminar family L (Figure 2.). If we assume that each set has at least 4 crossing edges, adding up the number of the edges for leaves of the tree, we will have 24 end-points which is not possible since we at most have 20 endpoints for 10 sets.

• CASE 3: ???

2.2 Proof of Theorem 2.

Definition: Function δ is SUBMODULAR if for all S and T both of the following conditions hold,

|δ(S)| + |δ(T)| ≥ |δ(S − T)| + |δ(T − S)|

and,

Figure 3: Corresponding tree for L

|δ(S)| + |δ(T)| ≥ |δ(S ∩ T)| + |δ(T ∪ S)| We can easily show that δ(S) in our problem is submodular. Figure 3 depicts S and T crossing. We can define 6 types of edges corresponds to their origins and destinations. Using the counting argument it’s easy to see that all types of edges but Type V I counts in both right-hand-side and

let-hand-side equally and type V I edges only count toward the left-hand side.

Lemma 1. If S and T are crossing and tight, then either S − T and T − S are tight and

A_{S−T} + A_{T −S} = A_{S} + A_{T}

or S ∩ T and S ∪ T are tight and

A_{S∩T} + A_{T ∪S} = A_{S} + A_{T}

Proof. Given solution x, S and T, if x is tight at S and T we have

δ_{x}(S) = ∑_{e∈δ(S)} x_{e} = f(S)

δ_{x}(T) = ∑_{e∈δ(T)} x_{e} = f(T)

According to submodularity of cut functions, we have either δ_{x}(S − T) = f(S − T) and δ_{x}(T − S) = f(T − S) or δ_{x}(S ∩ T) = f(S ∩ T) and δ_{x}(T ∪ S) = f(T ∪ S)

Lemma 2. f(S) is weakly supermodular. i. e.

Either

f(S) + f(T) ≤ f(S − T) + f(T − S)

or

f(S) + f(T) ≤ f(S ∩ T) + f(S ∪ T)

Proof. Proof is similar to proof of submodularity of cut functions.

Let us suppose f(S) + f(T) ≤ f(S − T) + f(T − S), Therefore

δ_{x}(S − T) + δ_{x}(T − S) ≤ δ_{x}(S) + δ_{x}(T)
= f(S) + f(T)
≤ f(S − T) + f(T − S)

Since x is feasible, δ(S_{T}) ≥ f(S − T) and δ_{x}(T − S) ≥ f(S − T). Therefore, δ_{x}(S ∩ T) = f(S ∩ T) and δ_{x}(T ∪ S) = f(T ∪ S) (by definition of δ(S) and f(S)). We then also have

δ_{x}(S − T) + δ_{x}(T − S) = δ_{x}(S) + δ_{x}(T)

This leads to

A_{S−T} + A_{T −S} = A_{S} + A_{T}

Note: assuming second part of Lemma 2 and same approach we can get A_{S∩T} + A_{T ∪S} = A_{S} + A_{T}.

Lemma 3. Let L be a laminar family and S be a set not in L and also independent of L. Suppose S crosses T in L. Then each of S ∩ T, S ∪ T, S − T, T − S cross fewer sets in L than S.

Proof. Figure 4 depicts S crossing T. Imagine how the other sets in L can cross S. There are in total 3 types of crossing sets. S may cross all 3 types, while S − T ans S ∪ T only cross Type I and II, also T − S and S ∩ T only cross Type III. None of these sets cross T. Therefore, each of those sets cross fewer sets than S itself. We will wrap up the proof in the next class.