Paths, Trees and Minimum Latency Tours Kamalika Chaudhuri, Brighten Godfrey, Satish Rao, Satish Rao,...

Preview:

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

Recommended