660 likes | 802 Views
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.
E N D
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: ce • Degree bound : D • Find a minimum cost tree that respects the degree bounds 2 2 1 1 1 2 2 1 1 1 2 2 MST BDMST, D = 3
BDMST : The Problem • Generalization of Minimum Cost Hamiltonian Path • For general weighted graphs, • No Polynomial-Factor Approximation unless P=NP • Our Work: • Relax degree bounds to obtain an approximation in cost
Previous Results • [FR94] Unweighted graphs • Additive 1 approximation to degree • [KR00] Weighted graphs, uniform degree bounds • deg(v) · b(1+) D + logb n • cost(T) · (1 + 1/) OPT • [KR03] Non-uniform degree bounds • [CRRT] Quasipolynomial Running Time • deg(v) · D + log n / log log n • cost(T) · OPT • [CRRT]Polynomial Running Time • deg(v) · bD + logb n • cost(T) · OPT
LP Formulation • Primal: min e ce xe e 2(v) xe· D x 2 SPG • Dual: maxv minT (C(T) + vv(degT(v) - D)) MST in cost function cuv + u + v v : Penalties on high-degree vertices
An Algorithm • Solve Dual LP • Optimal Penalties v • Pick MST in cost function (cuv + u + v) with: • Low maximum degree • Low actual cost
An Algorithm • Solve Dual LP • Optimal Penalties v • Pick MST in cost function (cuv + u + v) with: • Maximum degree : D • Real cost : OPT
An Algorithm • Solve Dual LP • Optimal Penalties v • Pick MST in cost function (cuv + u + v) with: • Maximum degree : D + O(log n/loglog n) • Real cost : OPT
Picking the Right Tree • T is MST in cost function cuv + u + v with: • Max degree : D + O(log n/loglogn) • For every vertex v with v > 0, Min degree : D – O(log n/loglog n) • Theorem: T has • Max degree: D + O(log n/log log n) • Actual cost : OPT
MSTDB Problem • Given: • Graph: G • Edge costs: ce • Degree upper bound: DH • A set of nodes: L • Degree lower bound on L: DL • Find a MST with • Max degree : DH • Min degree of L : DL • Or prove that no such tree exists 2 1 1 1 1 2 1 1 1 1 1 2 DH = 3, DL = 2, L = O
Previous Work • [FR94] Unweighted graphs, degree upper bounds • Additive 1 approximation • [F93] Degree upper bounds • Finds an MST with max degree bD + logb n • Or proves no MST with max degree D exists
Our Guarantees • Given: • Graph: G • Edge costs: ce • Degree upper bound: DH • A set of nodes: L • Degree lower bound on L: DL • We can find an MST with: • Max Degree: DH + O(log n/log log n) • Min Degree of L : DL – O(log n/log log n) • Or prove that no MST with given bounds exist
Final BDMST Algorithm • Solve Dual LP • Optimal Penalties v • Run our MSTDB algorithm : • Cost function : cuv + u + v • Degree upper bound : D • L: Set of nodes with v > 0 • Degree lower bound : D • Theorem: Failure contradicts optimality of v
MSTDB Algorithm Outline • Start with arbitrary MST T0 • Phase i: Ti-1 : use Augmenting Paths to • Reduce the degree of a “high degree” node • Or increase the degree of a “low degree” node • Success: • New tree Ti • Failure: • Witness for either DH = dmax(Ti-1) – O(log n/log log n) or DL = dmin(L) + O(log n/log log n)
1 B A 1 1 1 D 2 C Useful Edges and Witness Witness: Structure to show a lower(upper) bound on the degree of any MST • Useful edge: • Occurs in some MST of G e f
High Degree Witness • High degree Witness: • Center Set : W • Clusters: C1, .., Ck • No useful intercluster edge W In any MST: Max Degree (W) ¸d (|W| + k – 1) / |W| e
Feasible Swaps • Feasible swap (e,f,T): • Tree edge e • Non-tree edge f • Unique cycle in T [ f contains e • c(e) = c(f) • A feasible swap (e,f,T): • Produces an equal cost tree • Reduces degree of endpoints of e 1 B A 1 1 1 e f D 2 C
Augmenting Paths • Algorithm: • Construct an augmenting path of feasible swaps
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge W 2 2 1 1 Ci 1 1
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge W 2 2 1 1 Ci 1 1
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge W 2 2 1 1 Ci 1 1
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge W 2 2 1 1 Ci 1 1
Algorithm Outline • Start with: • Center Set : W0 • Clusters : connected through W0 • In step i: • Find an augmenting path of feasible swaps to improve some v in Wi • Failure: Center Set and clusters form a high degree witness
Conclusion • Improved approximation for: • BDMST (Bounded Degree MST) • MSTDB (MST with Degree Bounds) • New Techniques: • Improved cost bounding techniques based on Edmond’s matching algorithm • Improved degree improvement techniques based on augmenting paths • Open Question: • Can degree bounds be relaxed to additive constant? • [FR94] Gives additive 1 for unweighted graphs
Reduce-Max-Degree Initialize: • Let • Sd = nodes with degree d or more • Pick d : • |Sd-1| · (log n/log log n) |Sd| • Center Set : • W0 = Sd[ Sd-1 • Initial clusters: • Components when W0 is deleted from T
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 1 1 W 2 2 Ci
Reduce-Max-Degree • For each useful intercluster edge f : • Find feasible swap (e,f,T) that improves v 2 Wt • Remove v from Wt • Form new cluster with: • e • f • v • children clusters of v
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 1 1 2 2
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 2 2 1 1
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 1 1 2 2
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 1 1 2 2
Reduce-Max-Degree Termination Conditions: • Degree d vertex v removed from Wt: • Can find a sequence of swaps to improve v • Number of degree d vertices decreases by one
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 1 1 2 2
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 1 1 2 2
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 2 2 1 1
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 2 2 1 1
Degree d – 1 node Degree d node Tree edge Low degree node Useful nontree edge 1 1 2 2 1 1
Reduce-Max-Degree Termination Conditions: • Degree d vertex v removed from Wt: • Can find a set of swaps which improve v • Number of degree d vertices decreases by one • No feasible intercluster edges: • Can find witness to show that max degree of any MST is at least d – O(log n/log log n)
Obtaining a Witness • Center Set : Wt • |Wt| · |Sd| • Clusters: • From deleting Wt: ¸ (d-2)|Wt| • Lost from merges: · |Sd-1| • Total: ¸ (d-2)|Wt| - |Sd-1| • Witness Quality: • At least (d-2) - O(log n/log log n)
Summary • Improved approximation for: • BDMST (Bounded Degree MST) • MSTDB (MST with Degree Bounds) • New Techniques: • Improved cost bounding techniques based on Edmond’s matching algorithm • Improved degree improvement techniques based on augmenting paths • Open Question: • Can degree bounds be relaxed to additive constant? • [FR94] Gives additive 1 for unweighted graphs
A Better Algorithm • Suppose given DH, we can find an MST with : • Max Degree : 5DH + 2 • Or show there is no MST with max degree DH • BDMST Guarantees: • deg(v) · 10(1+)D + O(1) • cost(T) · (1+1/) OPT • MSTDB Algorithm uses Push-Relabel
Push Relabel[G85, GT86] • A node has: • A Label • An Excess • Push: • Push flow from a higher to a lower label along an edge • Relabel: • Raise the label of a node with no edges to a lower label • Feasibility: • Node at label L has edges to nodes at label L-1 or above
Push Relabel for Max Flow • Initially: • Source : 1 excess • Sink : 1 deficit • All other nodes: 0 excess • Push and Relabel until: • No node has any excess • Or there is a label with no nodes A
Push-Relabel for MSTDB • Works for MSTDB with degree upper bounds only • Each node has: • A label • An excess/deficit degree • Excess and Deficits: • deg(v) ¸ d : (deg(v) – d + 1) units excess • deg(v) < d-1: (d – 1 – deg(v)) units deficit
Push-Relabel for MSTDB • Push: • A node can transfer degree to a node at a lower label • Relabel: • Raise the label of a node which cannot transfer degree to any node at a lower level • Feasibility: • A node at label L can be improved only by nodes at label L-1 or higher
Algorithm Outline • Sparse Label: • Has less than 4 times as many nodes as the number of nodes in all the labels above it • Algorithm: Push and relabel until: • Either no nodes have any excess • Or there is a sparse label • Sparse Label ! Witness • Average degree : d/5 - 2
Publications & Manuscripts: • [CRRT] Improved Approximation Algorithms for Degree Bounded MSTs using Push-Relabel • [CRRT] What would Edmonds do? Augmenting Paths and Witnesses for Degree Bounded MSTs • [CCWBPK04] Selfish Caching in Distributed Systems : A Game Theoretic Approach, PODC 2004 • [CGRT03] Paths, Trees and Minimum Latency Tours, FOCS 2003