routing in undirected graphs with constant congestion
Post on 23-Feb-2016
37 Views
Preview:
DESCRIPTION
TRANSCRIPT
Routing in Undirected Graphs with Constant Congestion
Julia ChuzhoyToyota Technological Institute at
Chicago
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
Edge congestion: 2
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
n – number of graph verticesk – number of demand pairsterminals – vertices participating in the demand pairs
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
• 3 pairs with congestion 2
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
• 3 pairs with congestion 2• 2 pairs with congestion 1
Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths
Congestion MinimizationRoute all pairs; minimize congestion
Congestion Minimization
Route all pairs; minimize congestion• -approximation [Raghavan,
Thompson ‘87]• -hard to approximate [Andrews,
Zhang ‘07]
Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths• When k is constant, can be solved efficiently [Robertson,
Seymour ‘90]• NP-hard in general [Karp ’72]• -approximation algorithm [Chekuri, Khanna,
Shepherd ’06]. Best possible?– LP-relaxation: maximum multicommodity flow
between the demand pairs with no congestion.– Integrality gap: [Chekuri, Khanna, Shepherd ‘06]
Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths• When k is constant, can be solved efficiently [Robertson,
Seymour ‘90]• NP-hard in general [Karp ’72]• -approximation algorithm [Chekuri, Khanna,
Shepherd ’06]. • When global min-cut is , there is a polylog(n)
approximation [Rao, Zhou ‘06]• -hardness of approximation for any
[Andrews, Zhang ‘05], [Andrews, C, Guruswami, Khanna, Talwar, Zhang ’10]
Special Cases
Expander graphsIn a strong enough constant-degree expander, any demand set on vertices can be routed on edge-disjoint paths [Frieze ‘00]
Planar graphs, Trees…
Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths
• -approximation•matching integrality gap
• -hardness
Congestion MinimizationRoute all pairs; minimize congestion
• -approximation
• -hardness
EDP with Congestion (EDPwC)A factor- approximation algorithm with congestion c routes . demand pairs with congestion at most c.
optimum number of pairs with no congestion allowed
EDPwC• Congestion : constant
approximation [Raghavan, Thompson ‘87]
• -approximation with congestion c [Azar, Regev ’01], [Baveja, Srinivasan ’00], [Kolliopoulos, Stein ‘04]
• polylog(n)-approximation with congestion poly(log log n) [Andrews ‘10]
Today: polylog(k)-approximation with congestion 14.
• -hardness for any c [Andrews, C, Guruswami, Khanna, Talwar, Zhang ’10]
Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths
• -approximation•matching integrality gap
• -hardness
Congestion MinimizationRoute all pairs; minimize congestion
• -approximation
• -hardness
EDP with Congestion (EDPwC)• polylog(k)-approximation with congestion 14
• -hardness with congestion c
Well-Linkedness[Robertson,Seymour], [Chekuri, Khanna, Shepherd],
[Raecke]
Well-Linkedness
Graph G is -well-linked for the set T of terminals, iff for any partition (A,B) of V(G),
Well-Linkedness
out(S)
Set S is -well-linked iff for any partition (A,B) of S,
Normally
Any matching on the edges of out(S) can be fractionally routed inside S with congestion
Pre-Processing
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Theorem [Chekuri, Khanna Shepherd ‘04]Can efficiently partition G into disjoint subgraphs G1,…, Gr, such that:
• For each induced sub-problem Gi the terminals are well-linked
• Total fractional solution value for all induced sub-problems is
Can assume w.l.o.g. that G is well-linked for the terminals
1. Embed an expander on a subset of terminals into G.– expander vertices terminals– expander edges paths in G
2. Route a subset of the demand pairs in the expander
High-Level Plan [CKS ‘04]
Embedding congestion: max load on any edge of G
Crossbar
GoalEmbed an expander over a subset of terminals into G.• Include polylog(k)-fraction of the terminals• Constant congestion
Cut-Matching Game [Khandekar, Rao, Vazirani ’06]
Cut Player: wants to build an expanderMatching Player: wants to delay its construction
There is a strategy for cut player, s.t. after O(log2n) iterations, we get an expander!
Embedding Expander into Graph
Embedding Expander into Graph
After O(log2k) iterations, we get an expander embedded into G.
Problem: congestion Ω(log2k)
Solution?Idea [Rao Zhou ‘06]:• Split G into graphs G1,…,Gh
– V(Gi)=V(G) for all i– Every edge of G belongs to at most one Gi
– Each Gi well-linked for the terminals– h=O(log2k)
• Run the cut-matching game. Use Gi to route flow in iteration i.Problem: Can only do it if min-cut in G is Ω(log5n)• [Andrews ‘10] adapted this to general graphs, with
congestion poly(log log n)
Getting a Constant Congestion
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).
G is well-linked for the terminals.Goal: Route OPT/polylog(k) demand pairs with constant congestion.
Starting Point
Embedding an Expander into G
Expander vertex connected component in G containing the terminalExpander edge path connecting some pair of vertices in the two componentsAn edge of G may only belong to a constant number of the components/paths.
Embedding an Expander into G
Routing on vertex-disjoint paths in X gives a good routing in G!
Expander vertex connected component in G containing the terminalExpander edge path connecting some pair of vertices in the two componentsAn edge of G may only belong to a constant number of the components/paths.
Embedding an Expander into G
Embedding an Expander into G
Families of Good Vertex Sets
Good Vertex Subset
S is a good vertex subset iff:• S contains no terminals• S is well-linked• There are k/polylog k
paths connecting out(S) to the terminals, with congestion polylog k.
Family of Good Vertex SubsetsΩ(log2k) disjoint good vertex subsets.• Each subset can send k/(polylog k) flow units
to the terminals• total congestion polylog k
Rest of the proof
1. We can find a good family of subsets.2. Given a good family of subsets, we can
embed an expander into G.
Rest of the proof
1. We can find a good family of subsets.2. Given a good family of subsets, we can
embed an expander into G.
Want:• k/polylog k trees• every edge of G participates in a constant number of
trees• Each tree Ti spans a distinct terminal ti and a distinct
edge eij in out(Sj) for each j.
Want:• k/polylog k trees• every edge of G participates in a constant number of
trees• Each tree Ti spans a distinct terminal ti and a distinct
edge eij in out(Sj) for each j.• Edge eij is viewed as a copy of ti for set Sj.
Embedding an Expander
Embedding an Expander
Expander vertex the tree spanning the terminalExpander edges: via the cut-matching game of [KRV]
Embedding an Expander
Embedding an Expander
After O(log2k) iterations, we obtain an expander embedded into G.…
- well-linked
Grouping Technique [CKS]
• is very well-linkedAny partition of into equal-sized subsets can be integrally routed with congestion 2.
• .
- selected edges
Embedding an Expander
After O(log2k) iterations, we obtain an expander embedded into G.…
Rest of the proof
1. We can find a good family of subsets.2. Given a good family of subsets, we can
embed an expander into G.
Rest of the proof
1. We can find a good family of subsets.2. Given a good family of subsets, we can
embed an expander into G.
Contracted Graphs
contract
Only contract clusters C where• C is well-linked• Does not contain terminals• |out(C)|<k/polylog(k)
Good contracted graph
Finding a Good Vertex Subset
• Start with G.• In every iteration:– either find a good vertex subset– or find a good contracted graph with fewer edges
Iteration Description
|E(A)|≥|out(A)|/4
uncontract
Iteration Descriptionwell-linked
decomposition
|E(A)|≥|out(A)|/4
Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke]
• New clusters are well-linked
• …
Iteration Descriptionwell-linked
decomposition
contract
now |E(A)|<<|out(A)|
Problem: for some cluster C, |out(C)| may be too large
|E(A)|≥|out(A)|/4
Iteration Description
C is a good cluster?• Well-linkedC
Iteration Description
C
C is a good cluster? Well-linked• Can route k/polylog(k)
flow units to the terminals?
yes no
C is a good set!
A small cut separates C from the terminals
Iteration Description
uncontract
well-linked decomposition
contract
good contracted graph with fewer edges!
Finding a Good Vertex SubsetRandom subset A of vertices
Uncontract + Well-linked decomposition
All clusters have small out-degree?
Good vertex subset?
yes smaller contracted graph
yesdone!
no
no
smaller contracted graph
uncontract + WLD+contract
Algorithm for EDPwCFind a good family of vertex subsets
Embed an expander into G
Find vertex-disjoint routing on the expander
Transform into routing in G
Summary
• We obtain a polylog(k)-approximation for EDPwC with congestion 14.
• Smaller congestion?• Congestion minimization?
Thank you!
top related