Upload
neal-mccoy
View
216
Download
1
Embed Size (px)
Citation preview
Paths, Trees and Paths, Trees and Minimum Latency Minimum Latency
ToursToursKamalika ChaudhuriKamalika Chaudhuri,,
Brighten Godfrey,Brighten Godfrey, Satish Rao,Satish Rao,Kunal TalwarKunal Talwar
UC BerkeleyUC Berkeley
The ProblemThe Problem Given:Given:
1.1. V: Set of points V: Set of points 2.2. d : Distance function on d : Distance function on
pairs of pointspairs of points3.3. s : Starting point s : Starting point Find a tour of all points, Find a tour of all points,
starting at s, which starting at s, which minimizes the total minimizes the total latencylatency
Also called the Also called the Traveling Repairman Traveling Repairman problemproblem
Some ResultsSome Results
[SG74] NP-Hard on general graphs[SG74] NP-Hard on general graphs [Sitters02] NP Hard on weighted trees[Sitters02] NP Hard on weighted trees [BCCPRS94] MAX-SNP Hard on [BCCPRS94] MAX-SNP Hard on
general graphsgeneral graphs [BCCPRS94] Constant factor [BCCPRS94] Constant factor
algorithm for metric spacesalgorithm for metric spaces [GK96] Approximation ratio : 7.18 + [GK96] Approximation ratio : 7.18 + εε Our approximation ratio : 3.59Our approximation ratio : 3.59
An Algorithm An Algorithm [BCCPRS94][BCCPRS94]
For j=1,2,3,..For j=1,2,3,.. Find a tree TFind a tree Tjj of of
cost at most 2cost at most 2jj which has the most which has the most vertices (*)vertices (*)
Double TDouble Tjj and and shortcut to get shortcut to get tour Ptour Pjj
Concatenate tours Concatenate tours PP11,P,P22,…,…
AnalysisAnalysis Suppose 2Suppose 2jj ·· latencylatencyOPTOPT(i)(i) ·· 2 2j+1j+1
TTj+1j+1 has at least i vertices has at least i vertices Latency of the iLatency of the ithth vertex in our tour is at most vertex in our tour is at most
2 2 ££ 2 2j+1j+1 + 2 + 2 kk 2 2kk
·· 8 8 latencylatencyOPTOPT(i)(i) Problem:Problem:
Assumed that we can find exact solution to k-Assumed that we can find exact solution to k-MST (the minimum spanning tree with k MST (the minimum spanning tree with k vertices)vertices)
approximate k-MSTs : approximation factor 8 approximate k-MSTs : approximation factor 8
Trees vs. PathsTrees vs. Paths [BCCPRS94], [GK96][BCCPRS94], [GK96]
Lower bound: k-MST Lower bound: k-MST
Tours from k-MSTs Tours from k-MSTs
Tours of geometrically Tours of geometrically increasing lengthsincreasing lengths
3.59 3.59 ¼¼ 7.18 7.18 approximationapproximation
Our AlgorithmOur Algorithm
Lower bound: Lower bound: k-stroll k-stroll
Tours fromTours from good k-good k-treestrees
Tours of geometrically Tours of geometrically increasing lengthsincreasing lengths
3.59 approximation3.59 approximation
Trees vs. PathsTrees vs. Paths Our AlgorithmOur Algorithm
Lower bound: Lower bound: k-stroll k-stroll
Tours fromTours from good k-good k-treestrees
Tours of geometrically Tours of geometrically increasing lengthsincreasing lengths
3.59 Approximation3.59 Approximation
This talk:This talk:1.1. k-(stroll, tree)k-(stroll, tree)
2.2. Finding good k-Finding good k-treestrees
Paths vs. TreesPaths vs. Trees Our contribution:Our contribution:
Use Use k-strollk-stroll as a lower bound instead of k-MST as a lower bound instead of k-MST
k-stroll : Given s,the minimum cost path from s with k
vertices
But k-stroll does not seem any easier than k-MST !
Good k-treesGood k-trees
Good k-treeGood k-tree : :1.1. k vertices k vertices
2.2. Tree cost Tree cost ·· optimal optimal k-strollk-stroll
Find a Find a good k-treegood k-tree by a modification of by a modification of the k-MST algorithm the k-MST algorithm [Garg96,AK00][Garg96,AK00]
Finding good k-treesFinding good k-trees
[Garg96, AK00] use a variant of the [Garg96, AK00] use a variant of the primal-dual algorithm of [GW92]primal-dual algorithm of [GW92] Allot a budget Allot a budget to each vertex to each vertex Different Different s produce trees of different size k s produce trees of different size k
Finding good treesFinding good trees
Our algorithm:Our algorithm: Fix endpoint tFix endpoint t Budget ∞ to t, Budget ∞ to t, λλ to all other vertices to all other vertices Run the primal dual algorithm Run the primal dual algorithm
This may not give trees for all kThis may not give trees for all k Use [Garg96,AK00] to find trees for all Use [Garg96,AK00] to find trees for all
kk Argue [ALW02] that we need only the Argue [ALW02] that we need only the
trees producedtrees produced
Analysis – Basic IdeasAnalysis – Basic Ideas
Tree LP:Tree LP:
min min ee c cee x xee
e e 22 (S)(S)xxee ¸̧ 1 : 1 : 88 S S ½½ V V
Path LP:Path LP:
min min ee c cee x xee
e e 22 (S)(S) x xee ¸̧ 1 : 1 : 88 S S ½½ V – {s}, t V – {s}, t 22 S S
e e 22 (S)(S) x xee ¸̧ 2 : 2 : 88 S S ½½ V – {s,t} V – {s,t}
Analysis – Dual LPsAnalysis – Dual LPs
Tree LP:Tree LP:
max max SS y ySS
S:e S:e 22 (S)(S)yySS ·· c cee 88 e e
Path LP:Path LP:
max 2max 2SS y ySS - - T:t T:t 22 T T y yTT
S:e S:e 22 (S)(S)yySS ·· c cee 88 e e
Analysis – Dual LPsAnalysis – Dual LPs
Tree LP:Tree LP:
max max SS y ySS
S:e S:e 22 (S)(S)yySS ·· c cee 88 e e
Path LP:Path LP:
max 2max 2SS y ySS - - T:t T:t 22 T T y yTT
S:e S:e 22 (S)(S)yySS ·· c cee 88 e e
Tree Tree Primal Primal
CostCost
Tree Dual Tree Dual
CostCost· · 2(1-1/n) 2(1-1/n) ££ ¼ ¼
Path Dual Path Dual
CostCost[GW92] [GW92]
)) Cost of the tree Cost of the tree ···Cost of Opt ·Cost of Opt PathPath
Analysis – Basic IdeasAnalysis – Basic Ideas
Tree Tree Primal Primal
CostCost
Tree Dual Tree Dual
CostCost· · 2(1-1/n) 2(1-1/n) ££ ¼ ¼
Path Dual Path Dual
CostCost[GW92] [GW92]
)) Cost of the tree Cost of the tree ···Cost of Opt ·Cost of Opt PathPath
Tree LP:Tree LP:
min min ee c cee x xee
e e 22 (S)(S)xxee ¸̧ 1 : 1 : 88 S S ½½ V V
Path LP:Path LP:
min min ee c cee x xee
e e 22 (S)(S) x xee ¸̧ 1 : 1 : 88 S S ½½ V – {s}, t V – {s}, t 22 S S
e e 22 (S)(S) x xee ¸̧ 2 : 2 : 88 S S ½½ V – {s,t} V – {s,t}
Running TimeRunning Time
Running Time = O(nRunning Time = O(n33 log n) log n) O(nO(n22) time to run primal dual) time to run primal dual O(log n) values of O(log n) values of O(n) guesses for tO(n) guesses for t
Example shows guessing t appears to be Example shows guessing t appears to be necessarynecessary
ConclusionConclusion
Improved approximation factors forImproved approximation factors for Minimum latency : 3.59Minimum latency : 3.59 k-Minimum latency: 8.47k-Minimum latency: 8.47
[GK96] 3.59 is the best we can do by [GK96] 3.59 is the best we can do by stitching together tours stitching together tours
Is there an LP based approach which does Is there an LP based approach which does better? better? [FLT02] Better approximation for minimum [FLT02] Better approximation for minimum
latency set coverlatency set cover