College of Computer & Information Science Spring 2012 Northeastern University 30 March 2012 CS 7880: Network Algorithms and Analysis Scribe: Zhifeng Sun

Lecture Outline:

• Multicommodity flow and Sparsest cut

1 Multicommodity flow

Demands multicommodity flow: Given graph G = (V, E), edge capacity function C : E → ℤ^{+}. There are k ≥ 1 commodities, each with its own source s_{i}, sink t_{i}, and demand dem(i). The objective is to maximize f such that we can send f · dem(i) units of commodity i from s_{i} to t_{i} for each i simultaneously, without violating the capacity constraint of any edge.

Sum-flow multicommodity flow: Given graph G = (V, E), edge capacity function C : E → ℤ^{+}. There are k ≥ 1 commodities, each with its own source s_{i}, sink t_{i}. The objective is to maximize the sum of the flow sent from s_{i} to t_{i}, over all i, without violating the capacity constraint for any edge.

2 Two examples where Max-Flow is not equal to Min-Cut

It is well known that Max-Flow is equal to Min-Cut in Single Commodity Flow problem. But this is not true for Multicommodity Flow when the number of commodities is greater than 1.

First we give the definition of Min-Cut in multicommodity flow problem.

Definition 1. For any cut ⟨S, S̄⟩ of the graph, let C(S, S̄) = ∑_{e∈⟨S,S̄⟩} C(e) which is the total capacities across this cut, and D(S, S̄) = ∑_{{i|s_{i}∈S∧t_{i}∈S̄ or s_{i}∈S̄∧t_{i}∈S}} dem(i) which is the total demand

across this cut. Define the Min-Cut as η = min_{S⊆V} \frac{C(S, S̄)}{D(S, S̄)}. We refer to \frac{C(S, S̄)}{D(S, S̄)} as the ratio of

cut (S, S̄).

Let f^{∗} be the optimal value for demands multicommodity flow. It is clear that f^{∗} ≤ η. The first example (Figure 1, taken from Jon Kleinberg’s lecture notes) shows f^{∗} could be strictly smaller than η in multicommodity flow problem.

In the graph, there are 4 flow pairs, each with a demand of 1, and the shortest path between each pair is 2 hops. So the total capacity consumed when we send f^{∗} flow for each commodity is 8f^{∗}. And there are only 6 edges in the graph. So we have f^{∗} ≤ 3/4. On the other hand, one can see that η is 1.

The second example gives an even worse ratio between Max-Flow and Min-Cut, where f^{∗} ≤ O (\frac{η}{log n}). This example makes use of Uniform Multicommodity Flow and 3-regular expander graph.

Figure 1: Example of Max-Flow and Min-Cut in multicommodity flow

3-regular expanders: 3-regular expander graph has the following properties:

• degree of every vertex is equal to 3

• ∃c > 0 (c is a constant), ∀S ⊆ V if |S| ≤ \frac{|V |}{2} then δ(S) ≥ c|S|. Here δ(S) is the number of edges that cross cut ⟨S, S̄⟩.

Now construct the multicommodity flow problem in the following way. Given a 3-regular expander graph, set the capacity of each edge to one, C(e) = 1. For each pair of vertices (u, v) set a source and sink pair (s_{i}, t_{i}). The demand of each (s_{i}, t_{i}) is equal to one, d_{i} = 1.

Theorem 1. f^{∗} ≤ O (\frac{η}{log n})

Proof. We first show that η = Ω(1/n). Consider any cut (S, S̄). Without loss of generality, we assume |S| ≤ n/2. Owing to the expansion property, the number of edges crossing the cut is at least c|S|. Therefore, the ratio for (S, S̄¯) is at least c|S|/(|S| · |S̄|), which is at least c/n = Ω(1/n).

For each vertex u ∈ V, the number of vertices that are 1-hop away from u is 3 (this is a 3-regular expander graph), the number of vertices that are 2-hop away from u is at most 9, the number of vertices that are 3-hop away from u is at most 27 …. So there are at least \frac{2n}{3} vertices that are more than ⌊log_{3} n⌋ − 1 hops away from u. And the number of pairs that are separated by more than ⌊log_{3} n⌋ − 1 hops is at least n × \frac{2n}{3} = \frac{2n^{2}}{3} . So the total capacity consumed by flows is at least \frac{2n^{2}}{3} × log_{3} n × f^{∗}. The total number of edges in this graph is \frac{3n}{2}. From

\frac{3n}{2} ≥ \frac{2n^{2}}{3} × log_{3} n × f^{∗}

we have

f^{∗} ≤ \frac{9}{4n log_{3} n} = O (\frac{η}{log n})

In other words, the Max-Flow for the Uniform Multicommodity Flow problem is at least a O (\frac{η}{log n})- factor smaller than the min-cut.

3 LP of Demands Multicommodity Flow

Let P_{i} be the set of paths between pair (s_{i}, t_{i}), p_{j}^{i} be the j^{th} path in P_{i}, dem(i) be the demands of pair (s_{i}, t_{i}), and f_{j}^{i} be the amount of commodity i sent on path p_{j}^{i}. Then we get the following LP for Demands Multicommodity Flow problem.

max f
s.t. ∑_{p_{j}^{i}∈P_{i}} f_{j}^{i} ≥ f · dem(i) ∀i
∑_{p_{j}^{i}:e∈p_{j}^{i}} f_{j}^{i} ≤ c_{e}  ∀e
p_{j}^{i} ≥ 0  ∀i, j

And its dual is

min ∑_{e} c_{e}d_{e}
s.t. ∑_{e∈p_{j}^{i}} d_{e} ≥ l_{i} ∀i, j
∑_{i} l_{i} · dem(i) ≥ 1
d_{e} ≥ 0  ∀e

In the dual, d_{e} can be viewed as the distance assigned to the edge. And l_{i} is the length of the shortest path between s_{i} and t_{i}, according to the distances given by d_{e}. A feasible solution to the dual yields a lower bound on f^{∗} (by weak duality). In fact, the proof of Theorem 1 can be seen as one based on weak duality. Take the 3-regular expander graph. We saw that η ≥ \frac{c}{n} where c is a constant. We now show that f^{∗} ≤ O (\frac{1}{n log n}), using the dual LP defined above. Set d_{e} = 2/n^{2} log n. Then

∑_{i} l_{i} ≥ \frac{2}{3}n^{2} log n · \frac{2}{n^{2} log n} ≥ 1

because for each vertex, there are at least \frac{2n}{3} vertices that are more than ⌊log_{3} n⌋ − 1 hops away from it, and the demand for each pair is 1, dem(i) = 1.

By weak duality, we thus have

f^{∗} ≤ ∑_{e} d_{e} = \frac{2}{n^{2} log n} · \frac{3n}{2} = \frac{3}{n log n} = O (\frac{1}{n log n})