Routing in Undirected Graphs with Constant Congestion Julia








![Congestion Minimization Route all pairs; minimize congestion • -approximation [Raghavan, Thompson ‘ 87] • Congestion Minimization Route all pairs; minimize congestion • -approximation [Raghavan, Thompson ‘ 87] •](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-9.jpg)




![EDPw. C • Congestion : constant approximation [Raghavan, Thompson ‘ 87] • -approximation with EDPw. C • Congestion : constant approximation [Raghavan, Thompson ‘ 87] • -approximation with](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-14.jpg)

![Well-Linkedness [Robertson, Seymour], [Chekuri, Khanna, Shepherd], [Raecke] Well-Linkedness [Robertson, Seymour], [Chekuri, Khanna, Shepherd], [Raecke]](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-16.jpg)



![High-Level Plan [CKS ‘ 04] 1. Embed an expander on a subset of terminals High-Level Plan [CKS ‘ 04] 1. Embed an expander on a subset of terminals](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-20.jpg)

![Cut-Matching Game [Khandekar, Rao, Vazirani ’ 06] Cut Player: wants to build an expander Cut-Matching Game [Khandekar, Rao, Vazirani ’ 06] Cut Player: wants to build an expander](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-22.jpg)


![Solution? Idea [Rao Zhou ‘ 06]: • Split G into graphs G 1, …, Solution? Idea [Rao Zhou ‘ 06]: • Split G into graphs G 1, …,](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-25.jpg)


















![Grouping Technique [CKS] - well-linked - selected edges • is very well-linked Any partition Grouping Technique [CKS] - well-linked - selected edges • is very well-linked Any partition](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-44.jpg)






![Iteration Description well-linked decomposition |E(A)|≥|out(A)|/4 Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke] • New clusters Iteration Description well-linked decomposition |E(A)|≥|out(A)|/4 Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke] • New clusters](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-51.jpg)







- Slides: 58

Routing in Undirected Graphs with Constant Congestion Julia Chuzhoy Toyota Technological Institute at Chicago

Routing Problems Input: Graph G, source-sink pairs (s 1, t 1), …, (sk, tk). Goal: Route as many pairs as possible; minimize edge congestion.

Routing Problems Input: Graph G, source-sink pairs (s 1, t 1), …, (sk, tk). Goal: Route as many pairs as possible; minimize edge congestion.

Routing Problems Input: Graph G, source-sink pairs (s 1, t 1), …, (sk, tk). Goal: Route as many pairs as possible; minimize edge congestion. Edge congestion: 2

Routing Problems Input: Graph G, source-sink pairs (s 1, t 1), …, (sk, tk). Goal: Route as many pairs as possible; minimize edge congestion. n – number of graph vertices k – number of demand pairs terminals – vertices participating in the demand pairs

Routing Problems Input: Graph G, source-sink pairs (s 1, t 1), …, (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 (s 1, t 1), …, (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 Minimization Route all pairs; minimize congestion
![Congestion Minimization Route all pairs minimize congestion approximation Raghavan Thompson 87 Congestion Minimization Route all pairs; minimize congestion • -approximation [Raghavan, Thompson ‘ 87] •](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-9.jpg)
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 graphs In 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) Congestion Minimization Route maximum number of pairs on edge-disjoint paths Route all pairs; minimize congestion • -approximation • matching integrality gap • • -hardness • -approximation -hardness EDP with Congestion (EDPw. C) A factor- approximation algorithm with congestion c routes. demand pairs with congestion at most c. optimum number of pairs with no congestion allowed
![EDPw C Congestion constant approximation Raghavan Thompson 87 approximation with EDPw. C • Congestion : constant approximation [Raghavan, Thompson ‘ 87] • -approximation with](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-14.jpg)
EDPw. C • 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 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) Congestion Minimization Route maximum number of pairs on edge-disjoint paths Route all pairs; minimize congestion • -approximation • matching integrality gap • -hardness • • -approximation -hardness EDP with Congestion (EDPw. C) • polylog(k)-approximation with congestion 14 • -hardness with congestion c
![WellLinkedness Robertson Seymour Chekuri Khanna Shepherd Raecke Well-Linkedness [Robertson, Seymour], [Chekuri, Khanna, Shepherd], [Raecke]](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-16.jpg)
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 Set S is -well-linked iff for any partition (A, B) of S, Normally out(S) Any matching on the edges of out(S) can be fractionally routed inside S with congestion

Pre-Processing Input: Graph G, source-sink pairs (s 1, t 1), …, (sk, tk). Theorem [Chekuri, Khanna Shepherd ‘ 04] Can efficiently partition G into disjoint subgraphs G 1, …, w. l. o. g. Gr, such that: Can assume that G is well-linked for terminals Gi the terminals • For each inducedthe sub-problem are well-linked • Total fractional solution value for all induced sub-problems is
![HighLevel Plan CKS 04 1 Embed an expander on a subset of terminals High-Level Plan [CKS ‘ 04] 1. Embed an expander on a subset of terminals](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-20.jpg)
High-Level Plan [CKS ‘ 04] 1. Embed an expander on a subset of terminals into G. Crossbar – expander vertices – expander edges terminals paths in G 2. Route a subset of the demand pairs in the Embedding congestion: max load on any edge of G expander

Goal Embed an expander over a subset of terminals into G. • Include polylog(k)-fraction of the terminals • Constant congestion
![CutMatching Game Khandekar Rao Vazirani 06 Cut Player wants to build an expander Cut-Matching Game [Khandekar, Rao, Vazirani ’ 06] Cut Player: wants to build an expander](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-22.jpg)
Cut-Matching Game [Khandekar, Rao, Vazirani ’ 06] Cut Player: wants to build an expander Matching Player: wants to delay its construction There is a strategy for cut player, s. t. after O(log 2 n) iterations, we get an expander!

Embedding Expander into Graph

Embedding Expander into Graph After O(log 2 k) iterations, we get an expander embedded into G. Problem: congestion Ω(log 2 k)
![Solution Idea Rao Zhou 06 Split G into graphs G 1 Solution? Idea [Rao Zhou ‘ 06]: • Split G into graphs G 1, …,](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-25.jpg)
Solution? Idea [Rao Zhou ‘ 06]: • Split G into graphs G 1, …, 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(log 2 k) • Run the cut-matching game. Use Gi to route flow in iteration i. Problem: Can only do it if min-cut in G is Ω(log 5 n) • [Andrews ‘ 10] adapted this to general graphs, with congestion poly(log n)

Getting a Constant Congestion

Starting Point Input: Graph G, source-sink pairs (s 1, t 1), …, (sk, tk). G is well-linked for the terminals. Goal: Route OPT/polylog(k) demand pairs with constant congestion.

Embedding an Expander into G Expander vertex connected component in G containing the terminal Expander edge path connecting some pair of vertices in the two components An 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!

Embedding an Expander into G Expander vertex connected component in G containing the terminal Expander edge path connecting some pair of vertices in the two components An edge of G may only belong to a constant number of the components/paths.

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 Ω(log 2 k) 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 vertex the tree spanning the terminal Expander edges: via the cut-matching game of [KRV]

Embedding an Expander

Embedding an Expander After O(log 2 k) iterations, we obtain an expander embedded into G. …
![Grouping Technique CKS welllinked selected edges is very welllinked Any partition Grouping Technique [CKS] - well-linked - selected edges • is very well-linked Any partition](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-44.jpg)
Grouping Technique [CKS] - well-linked - selected edges • is very well-linked Any partition of into equal-sized subsets can be integrally routed with congestion 2. • .

Embedding an Expander After O(log 2 k) 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 Description welllinked decomposition EAoutA4 Welllinked Decomposition Chekuri Khanna Shepherd Raecke New clusters Iteration Description well-linked decomposition |E(A)|≥|out(A)|/4 Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke] • New clusters](https://slidetodoc.com/presentation_image_h/23559b1b14cb3c5605bd9f5b5fd7bc88/image-51.jpg)
Iteration Description well-linked decomposition |E(A)|≥|out(A)|/4 Well-linked Decomposition [Chekuri, Khanna, Shepherd], [Raecke] • New clusters are well-linked • …

Iteration Description well-linked decomposition |E(A)|≥|out(A)|/4 now |E(A)|<<|out(A)| Problem: for some cluster C, |out(C)| may be too large contract

Iteration Description C C is a good cluster? • Well-linked

Iteration Description C C is a good cluster? ü Well-linked • Can route k/polylog(k) flow units to the terminals? C is a good set! no s e y A small cut separates C from the terminals

Iteration Description uncontract good contracted graph with fewer edges! contract well-linked decomposition

Finding a Good Vertex Subset Random subset A of vertices Uncontract + Well-linked decomposition All clusters have small outdegree? yes smaller contracted graph no Good vertex subset? no yes uncontract + WLD+contract done! smaller contracted graph

Algorithm for EDPw. C Find 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 EDPw. C with congestion 14. • Smaller congestion? • Congestion minimization? Thank you!