Transcript mg2009 8372

Interchanging distance and
capacity in probabilistic mappings
Uriel Feige
Weizmann Institute
Harald Racke
Optimal Hierarchical Decompositions for
Congestion Minimization in Networks
[STOC 2008]
Presentation based on discussions with
Reid Andersen from Microsoft Research.
Motivating example
Graph Bisection
Given a (weighted) graph with an even
number of vertices, partition its vertices
into two equal sets, minimizing the number
of edges cut.
Motivating example
Graph Bisection
Given a (weighted) graph with an even
number of vertices, partition its vertices
into two equal sets, minimizing the number
of edges cut.
Coping with NP-hardness
• Bi-criteria approximation: near bisection of
nearly optimal width [Leighton and Rao; Linial,
London and Rabinovich; Arora, Rao and
Vazirani].
Based on metric embeddings into l1 and into (l2)2.
O(log1/2 n) pseudo approximation.
• Feige and Krauthgamer: O(log3/2 n)
approximation. ARV + dynamic programming.
• Racke: O(log n) approximation.
Based on probabilistic capacity mappings.
Intuition
Unary subset sum can be reduced to
deciding whether the bisection width is 0.
28
19
35
85
73
97
77
Any approximation algorithm for bisection
“must” use dynamic programming.
Easy family of graphs
For many NP-hard graph properties,
dynamic programming runs in time
exponential in treewidth.
Min-bisection on trees is in P.
Plan of attack
Given an input graph, find a “low distortion
embedding” into a tree.
Solve min-bisection optimally on the tree.
Will provide a solution to the original
problem, with approximation ratio at most
the distortion.
A problem
The distortion when embedding a graph into
a tree is large (e.g., for the n-cycle).
Solution [Alon, Karp, Peleg and West;
Bartal]: a probabilistic embedding into
(dominating) trees.
Suffices when objective function is linear, as
in bisection.
Modified plan of attack
Given an input graph, find a low distortion
probability distribution over embeddings to
polynomially many (dominating) trees.
Solve min-bisection optimally on each of
these trees.
Best solution will solve the original problem
within an approximation ratio of at most
the average distortion.
Another problem
“Standard” low distortion embeddings relate
to distortion of distances.
Small cut in tree does not imply small cut in
graph. E.g., distortion 3 for complete
graph.
Capacities rather than distances
Distance distortion 3 for complete graph.
Give every tree edge a capacity equal to the
capacity of the associated cut.
n2/2 capacity distortion.
Racke’s approach
Consider distortion of capacities rather than
distances.
Find a low distortion (of capacity) probability
distribution of embeddings into
(dominating) trees.
Solve min-bisection on every tree (use DP).
Approximation ratio for bisection of best
solution is bounded by the distortion.
Racke’s main theorem
Theorem: there are probability distributions
of embeddings into (dominating) trees with
O(log n) distortion of capacity.
Proof: based on a reduction to existing
results for distortion of distances.
Corollary: an O(log n) approximation for minbisection. (And other corollaries.)
In this talk
An abstract version of Racke’s result.
• Applies more generally.
• Tighter parameters.
• More modular presentation: easier to
understand.
(Implicit in Racke’s work. We make it
explicit.)
The abstract framework
E set of items (edges).
P ½ 2E collection of subsets of E (“paths”).
M:E
P maps edges to paths. Can be
represented as a matrix:
Mij indicates if edge j lies in path M(i) in map M.
M family of admissible mappings (trees).
Probabilistic mapping between E and M:
probability distribution over mappings M 2 M.
M weight of mapping M
A mapping M
0
1
1
0
1
1
0
1
1
1
0
0
0
0
1
0
Edge 2 is mapped to the path {1,2,4}
Distance mapping
•
•
•
•
Edge i has positive length leni.
distM(i)=j Mij lenj length of path M(i).
distM(i)/leni
stretch of edge i.
Average stretch of edge i under a
probabilistic mapping: weighted average
according to M of stretches of i.
• Stretch of probabilistic mapping: maximum
over all edges of their average stretches.
Notes
For certain length functions and
mappings, the stretch of an edge may
be smaller than 1.
The stretch of the shortest edge is at
least 1.
Stretch of probabilistic mapping is at
least 1.
Capacity mapping
• Edge i has positive capacity capi.
• loadM(j) = i Mij capi
sum of capacities of edges whose paths
under M contain edge j.
• Congestion of edge j = loadM(j)/capj.
• Average congestion of edge j: average
weighted according to M.
• Congestion of probabilistic mapping:
maxj[avgM-congestion(j)].
Notes
For certain mappings, the congestion of
an edge may be smaller than 1.
The sum of capacities of M(E) is at
least as large as sum of capacities of
E.
Congestion of probabilistic mapping is
at least 1.
Main theorem
For every  and every admissible family M,
the two statements are equivalent:
• For every collection of lengths leni there is
a probabilistic mapping with stretch at
most .
• For every collection of capacities capi
there is a probabilistic mapping with
congestion at most .
A spanning tree example
E set of edges in a graph.
P set of paths in the graph.
M Admissible maps correspond to spanning
trees of the graph.
M an edge is mapped to the unique path
between its endpoints.
An instructive graph
Probabilistic mappings
• For any choice of lengths, probabilistic
mapping with max-avg(stretch) < 3.
• For any choice of capacities, probabilistic
mapping with max-avg(congestion) < 3.
Will illustrate both statements when the
graph is unweighted.
Uniform length, low stretch
Delete at random one column
Delete at random one column
Max[avg(stretch)] < 2
Uniform capacity, low congestion
Keep at random one path
Keep at random one path
Max[avg(congestion)] < 3
Simultaneous low stretch
and low congestion
If top edge is in spanning tree, it is loaded by
n1/2.
If top edge is not in spanning tree, it is
stretched by n1/2.
Hence for every distribution over spanning
trees, either stretch or congestion is n1/2/2.
Implication for main theorem
For every  and every admissible family M, the two
statements are equivalent:
• For every collection of lengths leni there is a
probabilistic mapping with stretch at most .
• For every collection of capacities capi there is a
probabilistic mapping with congestion at most .
The probabilistic mappings achieving the
two guarantees are sometimes very
different from each other.
A useful equivalence
[Alon, Karp, Peleg, West]
Lemma: for every   1, admissible family
M and length function len, there is a
probabilistic mapping of stretch at most 
iff for every nonnegative coefficients i
(with  i = 1) for the edges, there is a
mapping M 2 M s.t.
 i distM(i)/leni  
Proof – use 0-sum games
View as a 0-sum two player game. Map
player chooses an admissible mapping M.
Edge player chooses an edge i.
Value for edge player: stretch of i under M.
Probabilistic mapping
= a mixed strategy for the map player.
Nonnegative coefficients i
= a mixed strategy of the edge player.
The minimax theorem
The lemma is equivalent to the minimax
theorem:
minMmaxE(stretch)=maxminM(stretch)
If direction
Inequality holds.
Edge player cannot ensure stretch larger
than .
Map player can limit edge player to stretch
of .
Probabilistic mapping is a mixed strategy for
map player.
Wins against every edge.
Only if direction
No probabilistic mapping of stretch at most
.
Map player cannot limit value to .
Edge player can get expected value larger
than .
Mixed strategy for edge player gives i.
Map player cannot choose a map M
satisfying the inequality.
Likewise
Lemma 2: for every   1, admissible family
M and capacity function cap, there is a
probabilistic mapping of congestion at
most  iff for every nonnegative
coefficients i (with  i = 1) for the
edges, there is a mapping M 2 M s.t.
 i loadM(i)/capi  
Back to main theorem
For every  and every admissible family M,
the two statements are equivalent:
• For every collection of lengths leni there is
a probabilistic mapping with stretch at
most .
• For every collection of capacities capi
there is a probabilistic mapping with
congestion at most .
Proof that low congestion implies
low stretch
Assume probabilistic mapping with
congestion .
By Lemma 2, for every , there is M with
 j loadM(j)/capj  .
Rewriting the load as a sum:
i,j j Mij capi/capj  .
Need to prove that there is a probabilistic mapping
with stretch at most .
By Lemma 1, suffices to show that for every
, there is a mapping M with
 i distM/ leni  .
Rewriting distance as sum:
i,j i Mij leni/lenj  .
Know that for all  and cap there is M
i,j j Mij capi/capj  .
Find for every  and len an M satisfying
i,j i Mij leni/lenj
 .
Choose j = j and capi = i/leni (and then of
course capj = j/lenj), find M that satisfies the
first inequality, and it will satisfy the second.
Proof that low stretch implies low
congestion
Same as before, this time choosing
i = i and leni = i/capi, finding M that
satisfies the second inequality, which
will necessarily also satisfy the first
inequality.
The proof does not assume that:
• The matrix M is a 0/1 matrix.
• Lengths and capacities of edges are
nonnegative (though they cannot be 0).
• “Paths” are actual paths in graphs.
• Edges are edges of graphs.
Hence the theorem applies in more general
situations.
The algorithmic aspect
• The proof of the main theorem as presented is
existential.
• Will give a polynomial time algorithm that finds a
probabilistic mapping whenever the associated
0-sum two player game can be solved efficiently.
• Standard low regret online algorithms (e.g.,
multiplicative weight update) solve 0-sum
games under fairly general conditions.
Approximation algorithm
Let  be a desired target distortion for
probabilistic capacity embedding. To
efficiently find such a mapping, it suffices
that for every nonnegative coefficients i
(with  i = 1) for the edges, can
efficiently find a mapping M 2 M s.t.
 i loadM(i)/capi  
Alternative sufficient condition
By main theorem, it also suffices that for
every length function len and every
nonnegative coefficients i (with  i = 1)
for the edges, can efficiently find a
mapping M 2 M satisfying
 i distM(i)/leni  
Back to min-bisection
simplified version
• E is a set of edges in a graph G.
• P is the collection of all paths.
• M is collection of spanning trees.
Every edge of G is mapped to its unique
path in the tree.
Load on tree edge equals the capacity of the
cut.
Load of tree bisection is lower than
graph bisection
The load on a cut in the tree is at least as
high as the capacity of the same cut in the
graph.
Approximating min-bisection
Consider minimum bisection in graph. Its
average load in the dominating trees
(average weighted by M) is at most 
times larger than its capacity.
Hence the minimum of all minimum load
bisections of trees is a  approximation for
minimum bisection.
The value of 
For spanning trees, max-avg(stretch) is at
most O*(log n) [Elkin, Emek, Spielman and
Teng; Abraham, Bartal and Neiman].
By our main theorem, the same holds for
congestion.
Gives O*(log n) approximation for bisection.
Racke’s approximation for
min-bisection
Use probabilistic mappings into trees (that
may use non-graph edges). There, maxavg(stretch) is at most O(log n)
[Fakcharoenphol, Rao, and Talwar].
Every edge of the tree is a shortest path in
G. Every edge of G is mapped to its
unique path in the tree, and hence to a
sequence of paths of G.
Hence M has nonnegative integer entries.
Summary
Probabilistic mappings of low congestion are
useful algorithmic tools for cut problems
(and for oblivious routing …).
Given the same family of admissible
mappings, the maximum stretch (over all
length functions) equals the maximum
congestion (over all capacity functions).
Proof is algorithmic (in most cases).