Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees.

Similar presentations


Presentation on theme: "Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees."— Presentation transcript:

1 Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees

2 Zero-Skew Trees Zero-Skew Tree: rooted tree in which all root-to-leaf paths have the same length Used in VLSI clock routing & network multicasting

3 The Zero-Skew Tree Problem Zero-Skew Tree Problem Given: set of terminals in rectilinear plane Find: zero-skew tree with minimum total length Previous results [CKKRST 99] NP-hard for general metric spaces factor 2e ~ 5.44 approximation Our results: factor 4 approximation for general metric spaces factor 3 approximation for rectilinear plane

4 Overview Constructive lower-bound on optimum ZST length Converting spanning tree to zero-skew trees Finding spanning trees with small conversion cost Improved conversion using Steiner points Approximation algorithms for bounded-skew trees Conclusions and open problems

5 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

6 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

7 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

8 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

9 ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

10 Constructive Lower-Bound Computing N(r) is NP-hard, but … Lemma: For any ordering of the terminals, if then

11 Constructive Lower-Bound r N(r) 2 n n-1

12 Stretching Rooted Spanning Trees ZST root = spanning tree root where = max path length from to a leaf of ZST root-to-leaf path length =

13 Stretching Rooted Spanning Trees Loop length =

14 Stretching Rooted Spanning Trees Sum of loop lengths =

15 Zero-Skew Spanning Tree Problem Theorem: Every rooted spanning tree can be stretched to a ZST of total length where Zero-Skew Spanning Tree Problem: Find rooted spanning tree minimizing

16 How good are the MST and Min-Star?... MST: min length, huge delay 0 1 2 N-1 3 N-2 … … Star: min delay, huge length

17 The Rooted-Kruskal Algorithm While  2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t)  d(t’) t’t t’ becomes child of t, root of merged tree is t d(t)  max{ d(t), d(t’) + dist(t,t’) } t’t

18 The Rooted-Kruskal Algorithm While  2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t)  d(t’) t’ becomes child of t, root of merged tree is t d(t)  max{ d(t), d(t’) + dist(t,t’) }

19 How good is Rooted-Kruskal? While  2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t)  d(t’) t’ becomes child of t, root of merged tree is t d(t)  max{ d(t), d(t’) + dist(t,t’) } Lemma: delay(T)  length(T) Initially each terminal is a rooted tree; d(t)=0 for all t d(t)  max{ d(t), d(t’) + dist(t,t’) } At the end of the algorithm, d(t)=delay (t ) TT Pick closest two roots, t & t’, where d(t)  d(t’) Initially each terminal is a rooted tree; d(t)=0 for all t At the end of the algorithm, d(t)=delay (t ) When edge (t,t’) is added to T: length(T) increases by dist(t,t’) delay(T) increases by at most dist(t,t’)

20 How good is Rooted-Kruskal? While  2 roots remain: Initially each terminal is a rooted tree; d(t)=0 for all t Pick closest two roots, t & t’, where d(t)  d(t’) t’ becomes child of t, root of merged tree is t d(t)  max{ d(t), d(t’) + dist(t,t’) } Lemma: length(T)  2 OPT Pick closest two roots, t & t’, where d(t)  d(t’) Number terminals in reverse order of becoming non-roots length(T) =

21 Factor 4 Approximation Length after stretching = length(T) + delay(T) delay(T)  length(T) length(T)  2 OPT  ZST length  4 OPT Algorithm: Rooted-Kruskal + Stretching

22 Stretching Using Steiner Points

23 Factor 3 Approximation Length after stretching = length(T) + ½ delay(T) delay(T)  length(T) length(T)  2 OPT  ZST length  3 OPT Algorithm: Rooted-Kruskal + Improved Stretching

24 Practical Considerations For a fixed topology, minimum length ZST can be found in linear time using the Deferred Merge Embedding (DME) algorithm [Eda91, BK92, CHH92] Practical algo: Rooted-Kruskal + Stretching + DME Theorem: Both stretching algorithms lead to the same ZST topology when applied to the Rooted- Kruskal tree

25 Running Time Stretching: O(N logN) Rooted-Kruskal: O(N logN) using the dynamic closest-pair data structure of [B98] DME: O(N) [Eda91, BK92, CHH92]  O(N logN) overall

26 Extension to Other Metric Spaces Everything works as in rectilinear plane, except: 2 Running time of Rooted-Kruskal becomes O(N ) No equivalent of DME known for other spaces The space must be metrically convex to apply second stretching algorithm

27 Bounded-Skew Trees b-bounded-skew tree: difference between length of any two root-to-leaf paths is at most b Bounded-Skew Tree Problem: given a set of terminals and bound b>0, find a b-bounded-skew tree with minimum total length Previous approximation guarantees [CKKRST 99]: factor 16.11 for arbitrary metrics factor 12.53 for rectilinear plane Our results: factor 14, resp. 9 approximation

28 BST construction idea + lower bound Two stage BST construction: Cover terminals by disjoint b-bounded-skew trees Connect roots via a zero-skew tree Lemma: For any set of terminals, and any

29 Constructing the tree cover T  MST on terminals, rooted arbitrarily W   While T   do: Find leaf of T furthest from the root Find its highest ancestor u that still has delay  b Add u to W Add T to the tree cover and delete it from T u Lemma:

30 BST Approximation Algorithm: Output tree cover  approximate ZST on W

31 BST Approximation Theorem: Rectilinear Plane: Arbitrary metric spaces:

32 Summary of Results ProblemZero-SkewBounded-skew Metric GeneralRectilinearGeneralRectilinear Previous factor 5.4416.1112.53 New factor 43149

33 Open Problems Complexity of ZST problem in rectilinear plane Complexity of finding the spanning tree with minimum length+delay? Zero-skew Steiner ratio: supremum, over all sets of terminals, of the ratio between minimum ZST length and minimum spanning tree length+delay What is the ratio for rectilinear plane? What is the ratio for arbitrary spaces? (  4,  3) Planar ZST / BST


Download ppt "Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees."

Similar presentations


Ads by Google