Augmenting Paths, Augmenting Paths, Witnesses and Witnesses and Improved Improved Approximations for Approximations for Bounded Degree MSTs Bounded Degree MSTs K. Chaudhuri K. Chaudhuri , S. Rao, S. Riesenfeld, , S. Rao, S. Riesenfeld, K. Talwar K. Talwar UC Berkeley UC Berkeley
66
Embed
Augmenting Paths, Witnesses and Improved Approximations for Bounded Degree MSTs
Augmenting Paths, Witnesses and Improved Approximations for Bounded Degree MSTs. K. Chaudhuri , S. Rao, S. Riesenfeld, K. Talwar UC Berkeley. BDMST : The Problem. Given: Graph: G Edge costs: c e Degree bound : D Find a minimum cost tree that respects the degree bounds. 2. 2. 1. 1. 1. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Augmenting Paths, Augmenting Paths, Witnesses and Improved Witnesses and Improved
Approximations for Approximations for Bounded Degree MSTsBounded Degree MSTs
K. ChaudhuriK. Chaudhuri, S. Rao, S. Riesenfeld, , S. Rao, S. Riesenfeld, K. TalwarK. Talwar
UC BerkeleyUC Berkeley
BDMST : The ProblemBDMST : The Problem►Given:Given:
Graph: GGraph: G Edge costs: cEdge costs: cee Degree bound : DDegree bound : D
►Find a minimum cost Find a minimum cost tree that respects the tree that respects the degree boundsdegree bounds
2
1
2
12
2
1
11
1
2
2
BDMST, D = 3
MST
BDMST : The ProblemBDMST : The Problem►Generalization of Minimum Cost Hamiltonian Generalization of Minimum Cost Hamiltonian
Path Path
► For general weighted graphs,For general weighted graphs, No Polynomial-Factor Approximation unless P=NPNo Polynomial-Factor Approximation unless P=NP
►Our Work:Our Work: Relax degree bounds to obtain an approximation Relax degree bounds to obtain an approximation
► Pick MST in cost function (cPick MST in cost function (cuvuv + + uu + + vv) with:) with: Low maximum degreeLow maximum degree Low actual cost Low actual cost
► Pick MST in cost function (cPick MST in cost function (cuvuv + + uu + + vv) with:) with: Maximum degree : DMaximum degree : D Real cost : OPTReal cost : OPT
► Pick MST in cost function (cPick MST in cost function (cuvuv + + uu + + vv) with:) with: Maximum degree : D + O(log n/loglog n)Maximum degree : D + O(log n/loglog n) Real cost : OPTReal cost : OPT
Picking the Right TreePicking the Right Tree► T is MST in cost function cT is MST in cost function cuvuv + + uu + + vv
with:with:1.1. Max degree : Max degree : D + O(log n/loglogn)D + O(log n/loglogn)2.2. For every vertex v with For every vertex v with vv > 0, > 0,
Min degree :Min degree : D – O(log n/loglog n)D – O(log n/loglog n)► Theorem: T hasTheorem: T has
Max degree:Max degree: D + O(log n/log log n)D + O(log n/log log n) Actual costActual cost :: OPTOPT
MSTDB ProblemMSTDB Problem► Given:Given:
Graph: GGraph: G Edge costs: cEdge costs: cee Degree upper bound: DDegree upper bound: DHH A set of nodes: LA set of nodes: L Degree lower bound on L: DDegree lower bound on L: DLL
► Find a MST withFind a MST with Max degree : DMax degree : DHH Min degree of L : DMin degree of L : DLL
► Or prove that no such tree Or prove that no such tree existsexists
►[F93] Degree upper bounds[F93] Degree upper bounds Finds an MST with max degree bD + logFinds an MST with max degree bD + logbb n n Or proves no MST with max degree D existsOr proves no MST with max degree D exists
Our GuaranteesOur Guarantees►Given:Given:
Graph: GGraph: G Edge costs: cEdge costs: cee Degree upper bound: DDegree upper bound: DHH A set of nodes: LA set of nodes: L Degree lower bound on L: DDegree lower bound on L: DLL
►We can find an MST with:We can find an MST with: Max Degree: DMax Degree: DHH + O(log n/log log n) + O(log n/log log n) Min Degree of L : DMin Degree of L : DLL – O(log n/log log n) – O(log n/log log n)
►Or prove that no MST with given bounds existOr prove that no MST with given bounds exist
Final BDMST AlgorithmFinal BDMST Algorithm►Solve Dual LP Solve Dual LP
Cost function : cCost function : cuvuv + + uu + + vv Degree upper bound : DDegree upper bound : D L: Set of nodes with L: Set of nodes with vv > 0 > 0 Degree lower bound : DDegree lower bound : D
►Theorem: Failure contradicts optimality of Theorem: Failure contradicts optimality of vv
MSTDB Algorithm OutlineMSTDB Algorithm Outline► Start with arbitrary MST TStart with arbitrary MST T00
► Phase i: TPhase i: Ti-1 i-1 : use : use Augmenting PathsAugmenting Paths to to Reduce the degree of a “high degree” nodeReduce the degree of a “high degree” node Or increase the degree of a “low degree” nodeOr increase the degree of a “low degree” node
► Success:Success: New tree TNew tree Tii
► Failure:Failure: WitnessWitness for either D for either DHH = d = dmaxmax(T(Ti-1i-1) – O(log n/log log ) – O(log n/log log
n) or Dn) or DLL = d = dminmin(L) + O(log n/log log n)(L) + O(log n/log log n)
Useful Edges and WitnessUseful Edges and Witness
►Useful edge:Useful edge: Occurs in some MST Occurs in some MST
of Gof G 1
1
1 1
2
A
D C
B
ef
Witness:Structure to show a lower(upper) bound on the degree of any MST
High Degree WitnessHigh Degree Witness►High degree High degree
Witness:Witness: Center Set : WCenter Set : W Clusters: CClusters: C11, .., C, .., Ckk No No usefuluseful intercluster intercluster
edgeedge
In any MST:Max Degree (W) ¸ d (|W| + k – 1) / |W| e
Can degree bounds be relaxed to additive constant?Can degree bounds be relaxed to additive constant?► [FR94] Gives additive 1 for unweighted graphs[FR94] Gives additive 1 for unweighted graphs
SSdd = nodes with degree d or more = nodes with degree d or more► Pick d :Pick d :
|S|Sd-1d-1| | ·· (log n/log log n) |S (log n/log log n) |Sdd||► Center Set :Center Set :
WW00 = S = Sdd [[ S Sd-1d-1
► Initial clusters:Initial clusters: Components when WComponents when W00 is deleted from T is deleted from T
W
Ci
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
22
Reduce-Max-DegreeReduce-Max-Degree►For each useful intercluster edge f :For each useful intercluster edge f :
Find feasible swap (e,f,T) that improves v Find feasible swap (e,f,T) that improves v 22 W Wtt
Remove v from WRemove v from Wtt Form new cluster with:Form new cluster with:
►ee►ff►vv►children clusters of vchildren clusters of v
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
22
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
22
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
1
1
1
2
2
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2 2
Reduce-Max-DegreeReduce-Max-DegreeTermination Conditions:Termination Conditions:1.1. Degree d vertex v removed from WDegree d vertex v removed from Wtt::
Can find a sequence of swaps to improve Can find a sequence of swaps to improve vv
Number of degree d vertices decreases Number of degree d vertices decreases by oneby one
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2 2
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2 2
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2 2
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2 2
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2 2
Reduce-Max-DegreeReduce-Max-DegreeTermination Conditions:Termination Conditions:1.1. Degree d vertex v removed from WDegree d vertex v removed from Wtt::
Can find a set of swaps which improve vCan find a set of swaps which improve v Number of degree d vertices decreases by Number of degree d vertices decreases by
oneone
2.2. No feasible intercluster edges:No feasible intercluster edges: Can find witness to show that max degree of Can find witness to show that max degree of
any MST is at least d – O(log n/log log n)any MST is at least d – O(log n/log log n)
Obtaining a WitnessObtaining a Witness►Center Set : WCenter Set : Wtt
|W|Wtt| | ·· |S |Sdd||►Clusters:Clusters:
From deleting WFrom deleting Wtt:: ¸̧ (d-2)|W (d-2)|Wtt|| Lost from merges:Lost from merges: ·· |S |Sd-1d-1|| Total:Total: ¸̧ (d-2)|W (d-2)|Wtt| - |S| - |Sd-1d-1||
►Witness Quality:Witness Quality: At least (d-2) - O(log n/log log n) At least (d-2) - O(log n/log log n)
Can degree bounds be relaxed to additive constant?Can degree bounds be relaxed to additive constant?► [FR94] Gives additive 1 for unweighted graphs[FR94] Gives additive 1 for unweighted graphs
A Better AlgorithmA Better Algorithm► Suppose given DSuppose given DHH, we can find an MST with :, we can find an MST with :
Max Degree : 5DMax Degree : 5DHH + 2 + 2 Or show there is no MST with max degree DOr show there is no MST with max degree DHH
A labelA label An excess/deficit degreeAn excess/deficit degree
►Excess and Deficits:Excess and Deficits: deg(v) deg(v) ¸̧ d : (deg(v) – d + 1) units excess d : (deg(v) – d + 1) units excess deg(v) < d-1: (d – 1 – deg(v)) units deficitdeg(v) < d-1: (d – 1 – deg(v)) units deficit
Push-Relabel for MSTDBPush-Relabel for MSTDB►Push:Push:
A node can transfer degree to a node at a A node can transfer degree to a node at a lower labellower label
►Relabel:Relabel: Raise the label of a node which cannot Raise the label of a node which cannot
transfer degree to any node at a lower transfer degree to any node at a lower levellevel
►Feasibility:Feasibility: A node at label L can be improved only by A node at label L can be improved only by
nodes at label L-1 or higher nodes at label L-1 or higher
Has less than 4 times as many nodes as the Has less than 4 times as many nodes as the number of nodes in all the labels above itnumber of nodes in all the labels above it
► Algorithm: Push and relabel until:Algorithm: Push and relabel until: Either no nodes have any excessEither no nodes have any excess Or there is a sparse labelOr there is a sparse label
for Degree Bounded MSTs using Push-Relabelfor Degree Bounded MSTs using Push-Relabel2.2. [CRRT] What would Edmonds do? [CRRT] What would Edmonds do?
Augmenting Paths and Witnesses for Degree Augmenting Paths and Witnesses for Degree Bounded MSTsBounded MSTs
3.3. [CCWBPK04] Selfish Caching in Distributed [CCWBPK04] Selfish Caching in Distributed Systems : A Game Theoretic Approach, PODC Systems : A Game Theoretic Approach, PODC 20042004
4.4. [CGRT03] Paths, Trees and Minimum Latency [CGRT03] Paths, Trees and Minimum Latency Tours, FOCS 2003Tours, FOCS 2003
► If degIf degTTD’D’(v) (v) ¸̧ D when D when D’D’vv > 0 > 0
C(TC(TD’D’) ) ·· OPT OPTDD
Picking the Right TreePicking the Right Tree[KR00][KR00] [Our Work][Our Work]
► [F93] Max Degree:[F93] Max Degree: bB + logbB + logbb n n
►Max DegreeMax Degree B + O(log n/log log B + O(log n/log log
n)n)
►Technical slide with equation about Technical slide with equation about how imposing both upper and lower how imposing both upper and lower bounds on degrees gives us optimal bounds on degrees gives us optimal costcost
Picking the Right TreePicking the Right Tree[KR00][KR00] [Our Work][Our Work]►Guarantees: For Guarantees: For > 0 > 0
Max degree:Max degree: (1 + (1 + )bB + log)bB + logbb n n Max Cost:Max Cost: (1 + 1/(1 + 1/) OPT) OPT
► Running time:Running time: PolynomialPolynomial
►Guarantees:Guarantees: Max degree:Max degree: B + O(log n/log log n)B + O(log n/log log n) Max Cost:Max Cost: OPTOPT
►Augmenting paths and witnesses : Augmenting paths and witnesses : MSTs with Degree BoundsMSTs with Degree Bounds
LP FormulationLP Formulation
max
v
minT (C(T) + v v(degT(v)
- B)
MST in cost function cuv + u + v
►OPT Dual:OPT Dual:
Properties:1. Max degree : B2. For all v such that v > 0
deg(v) = B
LP FormulationLP Formulation► Primal:Primal:
min min ee c cee x xee e e 22 (v)(v) x xee ·· B B x x 22 SP SPGG
► Dual:Dual:
max
v
minT (C(T) + v v(degT(v)
- B)
MST in cost function cuv + u + v
LP FormulationLP Formulation► Primal:Primal:
min min ee c cee x xee e e 22 (v)(v) x xee ·· B B x x 22 SP SPGG
► Dual:Dual:
max
v
minT (C(T) + v v(degT(v)
- B)
MSTDB Algorithm OutlineMSTDB Algorithm Outline► Start with arbitrary MST TStart with arbitrary MST T00► In Phase iIn Phase i
ddmaxmax = max degree (T = max degree (Ti-1i-1)) ddminmin = min degree (L) = min degree (L) SSHH = all nodes of degree d = all nodes of degree dmaxmax – O(log n/log log n) or more – O(log n/log log n) or more SSLL = all nodes in L of degree d = all nodes in L of degree dminmin + O(log n/log log n) or less + O(log n/log log n) or less
► TryTry Improve a node in SImprove a node in SHH or S or SLL
► Success:Success: New tree TNew tree Tii► Failure:Failure: Witness for DWitness for DHH = d = dmaxmax – O(log n/log log n) – O(log n/log log n)
and Dand DLL = d = dminmin + O(log n/log log n) + O(log n/log log n)
Low Degree WitnessLow Degree WitnessProof:Proof:► Any MST on W, CAny MST on W, C11, .., C, .., Ckk
has (|W| + k – 1) edgeshas (|W| + k – 1) edges
► At most (2|W| + k – 2) At most (2|W| + k – 2) endpoints can be in Wendpoints can be in W
► Average degree of W Average degree of W ·· bb (2|W| + k – 2)/ |W| (2|W| + k – 2)/ |W| cc