Poly-Logarithmic Approximation for EDP with Congestion 2 Julia Chuzhoy Toyota Technological...
-
Upload
christina-burkinshaw -
Category
Documents
-
view
214 -
download
0
Transcript of Poly-Logarithmic Approximation for EDP with Congestion 2 Julia Chuzhoy Toyota Technological...
Poly-Logarithmic Approximation for
EDP with Congestion 2
Julia ChuzhoyToyota Technological Institute at Chicago
Shi LiDepartment of Computer Science
Princeton Unveristy
Edge-Disjoint Path(EDP)
• Input : Graph G, k pairs (s1,t1),…, (sk, tk) of terminals
• Goal : Route as many pairs as possible using edge-disjoint paths
can route 2 pairs
s1
t1s2
t2s3
t3
s4
t4
n #verticesk #pairs terminals non-terminals
Congestion Minimization
• Input : Graph G, k pairs (s1,t1),…, (sk, tk) of terminals
• Goal : route all pairs so as to minimize the congestion
congestion = 3
s1
t1s2
t2s3
t3
s4
t4
n #verticesk #pairs terminals non-terminals
Known ResultsEdge Disjoint Paths
Congestion Minimization
Goalroute maximum # of
pairs with no congestion
route all pairs; minimize congestion
Approx.
Hardness
-integrality gap for natural LP relaxation for EDP [GVY93]
[CKS06] [RT87]
[AZ07][ACG+10]
LP Relaxation and Gap Instance
s1
s2
sk
t1 t2 tk
fractional : k/2 integral : 1k =
Edge Disjoint Path with Congestion
(EDPwC)• OPT = optimum solution for EDP
• can route at most pairs without congestion
(w.r.t the LP relaxation)
• How many pairs can we route with congestion c?
• a solution is an α-approximation for EDP with
congestion c if it routes OPT/α pairs with congestion c
Congestion
Approximation Θ(.)
c2 3 14
[ACG+10]
[Chu12]
[And10]
[AR01, BS00, KS04] [KK11]
[CKS06]
[RT87]
1
This Paper
approximationhardness
Main Theorem: There is a polylog(k)-approximation algorithm for EDP with congestion 2
We can route OPT/polylog(k) pairs with congestion 2, where OPT is the optimum number of pairs with congestion 12
Well-Linkedness• Given a set T of degree-1 terminals in graph G, • G is well-linked for T, iff for any cut (A, B) of G,
• a cluster S of G, and a subset Γ of out edges of S, define “S is well-linked for Γ ” similarly
SG
A B
Main Lemma : Given a well-linked instance, we can route k/polylog(k) pairs with congestion 2
Lemma([CKS06]) W.L.O.G, instance is well-linked:• G has degree 4• Each terminal has degree 1• Each terminal is in exactly 1 pair• G is well-linked for the set of 2k terminals
Well-Linked Instances
“cross-bar” of congestion 14
routing of k/polylog(k) pairs with congestion 14
High-Level Idea of [Chu12]Our Improvement
2
2
Cross-Bar• γ =polylog(k) disjoint clusters S1,
S2, …, Sγ
• k*=k/polylog(k) trees T1, T2,…, Tk*,
each Tj contains a terminal tj, a
edge eij in out(Si) for each i[γ]
• for each i[γ], Si is well-linked for
the set {ei1, ei2, …, eik*}
• the k* terminals {t1,t2,…,tk*} come
from k*/2 pairs of the input
S1
S2
Sγ
Si
congestion of cross bar is congestion caused by
eij
tj
Cross-Bar Construction
in[Chu12]1. select a family of clusters
with good properties
2. build trees
3. connect more terminals so that they form pairs
S1
S2
Sγ
SiProblems:
a) trees cause congestion 2 and go through clusters
b) terminals do not form pairs
our improvement: to avoid accumulating congestion, merge the 3 steps
Our AlgorithmClustering Algorithm
Cross-Bar Constructor
many paths with congestion 2
cross-bar of congestion 2
failure + feedback
disjoint “large” clusters S = (S1, S2, …, Sγ )
1. select a family of clusters with good properties
2. build trees
3. connect more terminals to trees so they form pairs
Clustering AlgorithmClustering Algorithm
Cross-Bar Constructor
many paths with congestion 2
cross-bar of congestion 2
failure + feedback
disjoint “large” clusters S = (S1, S2, …, Sγ )
Clustering Algorithm• Maintaining a clustering C (initially, singletons) of G\T into
small clusters• Each iteration
1. Randomly partition the clusters into γ parts
2. Uncontract the clusters
3. Decompose each part into well-linked clusters
CC
A cluster S is small if out(S)< k1 = k/polylog(k); otherwise, it is large
Clustering Algorithm• Maintaining a clustering C (initially, singletons) of G\T into
small clusters• Each iteration
4. If some part does not contain any large cluster
Update C by replacing that part, and start a new iteration
5. Otherwise, return γ large clusters, 1 from each part
C
if the cross-bar constructor fails, with the feedback,the clustering algorithm will make progress
Well-Linked Decomposition
• Is S well-linked for out(S)?o Yes : doneo No : find and remove the sparse
cut and recursively apply the procedure on the 2 sub-clusters
Cross-bar ConstructorClustering Algorithm
Cross-Bar Constructor
many paths with congestion 2
cross-bar of congestion 2
failure + feedback
disjoint “large” clusters S = (S1, S2, …, Sγ )
• find a degree-3 tree of clusters, o edge k/polylog(k) paths
• connect the tails of paths inside clusters of degree ≥ 2
• return the trees and degree-1 and -2 clusters
techniques:bounded degree tree [Singh Lau 07]Splitting-off [Jac98]
Cross-bar Constructor :
High-Level Idea
Summary• A polylog(k)-approximation for EDP with congestion
2.• Future directions:
o Simpler algorithm?o Better approximation for EDP with congestion 1?
(interesting even for planar graphs)o Better approximation or better hardness for congestion
minimization problem?
Thank you