Upload
annora
View
35
Download
1
Embed Size (px)
DESCRIPTION
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
Citation preview
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
in costin cost
Previous ResultsPrevious Results► [FR94] Unweighted graphs[FR94] Unweighted graphs
Additive 1 approximation to degreeAdditive 1 approximation to degree► [KR00] Weighted graphs, uniform degree [KR00] Weighted graphs, uniform degree
boundsbounds deg(v) deg(v) ·· b(1+ b(1+) D + log) D + logbb n n cost(T) cost(T) ·· (1 + 1/ (1 + 1/) OPT) OPT
► [KR03] Non-uniform degree bounds[KR03] Non-uniform degree bounds► [CRRT] Quasipolynomial Running Time[CRRT] Quasipolynomial Running Time
deg(v) deg(v) ·· D + log n / log log n D + log n / log log n cost(T) cost(T) ·· OPT OPT
► [CRRT]Polynomial Running Time[CRRT]Polynomial Running Time deg(v) deg(v) ·· bD + log bD + logbb n n cost(T) cost(T) ·· OPT OPT
LP FormulationLP Formulation► Primal:Primal:
min min ee c cee x xee e e 22 (v)(v) x xee ·· D D x x 22 SP SPGG
► Dual:Dual:
max
v
minT (C(T) + v v(degT(v)
- D))
MST in cost function cuv + u + v
v : Penalties on high-degree vertices
An AlgorithmAn Algorithm
► Solve Dual LP Solve Dual LP Optimal Penalties Optimal Penalties vv
► 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
An AlgorithmAn Algorithm
► Solve Dual LP Solve Dual LP Optimal Penalties Optimal Penalties vv
► 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
An AlgorithmAn Algorithm
► Solve Dual LP Solve Dual LP Optimal Penalties Optimal Penalties vv
► 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
1
1
2
12
1
1
11
1
2
1
DH = 3, DL = 2, L = O
Previous WorkPrevious Work►[FR94] Unweighted graphs, degree [FR94] Unweighted graphs, degree
upper boundsupper bounds Additive 1 approximationAdditive 1 approximation
►[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
Optimal Penalties Optimal Penalties vv►Run our MSTDB algorithm :Run our MSTDB algorithm :
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
W
Feasible SwapsFeasible Swaps► Feasible swap (e,f,T):Feasible swap (e,f,T):
1.1. Tree edge e Tree edge e 2.2. Non-tree edge f Non-tree edge f 3.3. Unique cycle in T Unique cycle in T [[ f f
contains econtains e4.4. c(e) = c(f)c(e) = c(f)
► A feasible swap (e,f,T):A feasible swap (e,f,T): Produces an equal cost treeProduces an equal cost tree ReducesReduces degree of degree of
endpoints of eendpoints of e
1
1 11
2
A
D C
B
ef
Augmenting PathsAugmenting Paths
►Algorithm:Algorithm: Construct an Construct an augmenting path augmenting path of feasible of feasible
swapsswaps
W
Ci
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2
2
W
Ci
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2
2
W
Ci
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2
2
W
Ci
Tree edgeUseful nontree edge
Degree d – 1 nodeDegree d nodeLow degree node
1
11
1
2
2
Algorithm OutlineAlgorithm Outline►Start with:Start with:
Center Set : WCenter Set : W00 Clusters : connected through WClusters : connected through W00
► In step i:In step i: Find an augmenting path of feasible Find an augmenting path of feasible
swaps to improve some v in Wswaps to improve some v in Wii Failure: Center Set and clusters form a Failure: Center Set and clusters form a
high degree witnesshigh degree witness
ConclusionConclusion► Improved approximation for:Improved approximation for:
BDMST (Bounded Degree MST)BDMST (Bounded Degree MST) MSTDB (MST with Degree Bounds)MSTDB (MST with Degree Bounds)
►New Techniques:New Techniques: Improved cost bounding techniques based on Improved cost bounding techniques based on
Edmond’s matching algorithmEdmond’s matching algorithm Improved degree improvement techniques based on Improved degree improvement techniques based on
augmenting pathsaugmenting paths►Open Question:Open Question:
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
Questions?Questions?
Reduce-Max-DegreeReduce-Max-DegreeInitialize:Initialize:► LetLet
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)
SummarySummary► Improved approximation for:Improved approximation for:
BDMST (Bounded Degree MST)BDMST (Bounded Degree MST) MSTDB (MST with Degree Bounds)MSTDB (MST with Degree Bounds)
►New Techniques:New Techniques: Improved cost bounding techniques based on Improved cost bounding techniques based on
Edmond’s matching algorithmEdmond’s matching algorithm Improved degree improvement techniques based on Improved degree improvement techniques based on
augmenting pathsaugmenting paths►Open Question:Open Question:
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
► BDMST Guarantees:BDMST Guarantees: deg(v) deg(v) ·· 10(1+ 10(1+)D + O(1))D + O(1) cost(T) cost(T) ·· (1+1/ (1+1/) OPT) OPT
►MSTDB Algorithm uses MSTDB Algorithm uses Push-RelabelPush-Relabel
Push Relabel[G85, GT86]Push Relabel[G85, GT86]► A node has:A node has:
A LabelA Label An ExcessAn Excess
► Push:Push: Push flow from a higher to a lower label along an edgePush flow from a higher to a lower label along an edge
► Relabel:Relabel: Raise the label of a node with no edges to a lower labelRaise the label of a node with no edges to a lower label
► Feasibility:Feasibility: Node at label L has edges to nodes at label L-1 or Node at label L has edges to nodes at label L-1 or
aboveabove
Push Relabel for Max FlowPush Relabel for Max Flow► Initially:Initially:
Source : Source : 11 excess excess Sink : Sink : 11 deficit deficit All other nodes: 0 excessAll other nodes: 0 excess
►Push and Relabel until:Push and Relabel until: No node has any excessNo node has any excess Or there is a label with Or there is a label with
no nodesno nodes A
Push-Relabel for MSTDBPush-Relabel for MSTDB►Works for MSTDB with degree upper Works for MSTDB with degree upper
bounds onlybounds only►Each node has:Each node has:
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
Algorithm OutlineAlgorithm Outline► Sparse Label:Sparse Label:
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
► Sparse Label Sparse Label !! Witness Witness Average degree : d/5 - 2Average degree : d/5 - 2
Publications & Manuscripts:Publications & Manuscripts:1.1. [CRRT] Improved Approximation Algorithms [CRRT] Improved Approximation Algorithms
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
Future Directions:Future Directions:►Bounded Degree MSTs:Bounded Degree MSTs:
Improve guarantees to:Improve guarantees to:►deg(v) deg(v) ·· B + O(1) B + O(1)►cost(T) cost(T) ·· OPT OPT
►Embedding simple metrics to lEmbedding simple metrics to l11 with with low distortionlow distortion
Questions?Questions?
Picking the Right TreePicking the Right TreeProof:Proof:►We can show that:We can show that:
C(TC(TD’D’) + ) + vv D’D’vv(deg(degTTD’D’(v) – D) (v) – D) ·· OPT OPTDD
► 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
► Running Time:Running Time: QuasipolynomialQuasipolynomial
►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