![Page 1: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/1.jpg)
Routing in Undirected Graphs with Constant Congestion
Julia ChuzhoyToyota Technological Institute at
Chicago
![Page 2: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/2.jpg)
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
![Page 3: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/3.jpg)
Routing Problems
Input: Graph G, source-sink pairs (s1,t1),…,(sk,tk).Goal: Route as many pairs as possible; minimize edge congestion.
![Page 4: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/4.jpg)
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
![Page 5: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/5.jpg)
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
![Page 6: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/6.jpg)
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
![Page 7: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/7.jpg)
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
![Page 8: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/8.jpg)
Edge Disjoint Paths (EDP)Route maximum number of pairs on edge-disjoint paths
Congestion MinimizationRoute all pairs; minimize congestion
![Page 9: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/9.jpg)
Congestion Minimization
Route all pairs; minimize congestion• -approximation [Raghavan,
Thompson ‘87]• -hard to approximate [Andrews,
Zhang ‘07]
![Page 10: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/10.jpg)
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]
![Page 11: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/11.jpg)
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]
![Page 12: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/12.jpg)
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…
![Page 13: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/13.jpg)
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
![Page 14: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/14.jpg)
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]
![Page 15: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/15.jpg)
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
![Page 16: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/16.jpg)
Well-Linkedness[Robertson,Seymour], [Chekuri, Khanna, Shepherd],
[Raecke]
![Page 17: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/17.jpg)
Well-Linkedness
Graph G is -well-linked for the set T of terminals, iff for any partition (A,B) of V(G),
![Page 18: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/18.jpg)
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
![Page 19: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/19.jpg)
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
![Page 20: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/20.jpg)
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
![Page 21: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/21.jpg)
GoalEmbed an expander over a subset of terminals into G.• Include polylog(k)-fraction of the terminals• Constant congestion
![Page 22: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/22.jpg)
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!
![Page 23: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/23.jpg)
Embedding Expander into Graph
![Page 24: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/24.jpg)
Embedding Expander into Graph
After O(log2k) iterations, we get an expander embedded into G.
Problem: congestion Ω(log2k)
![Page 25: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/25.jpg)
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)
![Page 26: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/26.jpg)
Getting a Constant Congestion
![Page 27: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/27.jpg)
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
![Page 28: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/28.jpg)
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.
![Page 29: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/29.jpg)
Embedding an Expander into G
Routing on vertex-disjoint paths in X gives a good routing in G!
![Page 30: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/30.jpg)
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
![Page 31: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/31.jpg)
Embedding an Expander into G
Families of Good Vertex Sets
![Page 32: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/32.jpg)
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.
![Page 33: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/33.jpg)
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
![Page 34: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/34.jpg)
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.
![Page 35: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/35.jpg)
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.
![Page 36: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/36.jpg)
![Page 37: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/37.jpg)
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.
![Page 38: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/38.jpg)
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.
![Page 39: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/39.jpg)
![Page 40: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/40.jpg)
Embedding an Expander
![Page 41: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/41.jpg)
Embedding an Expander
Expander vertex the tree spanning the terminalExpander edges: via the cut-matching game of [KRV]
![Page 42: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/42.jpg)
Embedding an Expander
![Page 43: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/43.jpg)
Embedding an Expander
After O(log2k) iterations, we obtain an expander embedded into G.…
![Page 44: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/44.jpg)
- well-linked
Grouping Technique [CKS]
• is very well-linkedAny partition of into equal-sized subsets can be integrally routed with congestion 2.
• .
- selected edges
![Page 45: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/45.jpg)
Embedding an Expander
After O(log2k) iterations, we obtain an expander embedded into G.…
![Page 46: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/46.jpg)
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.
![Page 47: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/47.jpg)
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.
![Page 48: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/48.jpg)
Contracted Graphs
contract
Only contract clusters C where• C is well-linked• Does not contain terminals• |out(C)|<k/polylog(k)
Good contracted graph
![Page 49: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/49.jpg)
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
![Page 50: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/50.jpg)
Iteration Description
|E(A)|≥|out(A)|/4
uncontract
![Page 51: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/51.jpg)
Iteration Descriptionwell-linked
decomposition
|E(A)|≥|out(A)|/4
Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke]
• New clusters are well-linked
• …
![Page 52: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/52.jpg)
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
![Page 53: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/53.jpg)
Iteration Description
C is a good cluster?• Well-linkedC
![Page 54: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/54.jpg)
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
![Page 55: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/55.jpg)
Iteration Description
uncontract
well-linked decomposition
contract
good contracted graph with fewer edges!
![Page 56: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/56.jpg)
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
![Page 57: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/57.jpg)
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
![Page 58: Routing in Undirected Graphs with Constant Congestion](https://reader036.vdocument.in/reader036/viewer/2022070421/56816348550346895dd3d82c/html5/thumbnails/58.jpg)
Summary
• We obtain a polylog(k)-approximation for EDPwC with congestion 14.
• Smaller congestion?• Congestion minimization?
Thank you!