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.

Slides:



Advertisements
Similar presentations
Iterative Rounding and Iterative Relaxation
Advertisements

Network Design with Degree Constraints Guy Kortsarz Joint work with Rohit Khandekar and Zeev Nutov.
Chapter 5: Tree Constructions
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Triangle partition problem Jian Li Sep,2005.  Proposed by Redstar in Algorithm board in Fudan BBS.  Motivated by some network design strategy.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
Chen, Lu Mentor: Zhou, Jian Shanghai University, School of Management Chen213.shu.edu.cn.
Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees.
Discussion #36 Spanning Trees
Cutting a surface into a Disk Jie Gao Nov. 27, 2002.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
An Approximation Algorithm for Requirement cut on graphs Viswanath Nagarajan Joint work with R. Ravi.
[1][1][1][1] Lecture 2-3: Coping with NP-Hardness of Optimization Problems in Practice May 26 + June 1, Introduction to Algorithmic Wireless.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear.
A General Approach to Online Network Optimization Problems Seffi Naor Computer Science Dept. Technion Haifa, Israel Joint work: Noga Alon, Yossi Azar,
Ion I. Mandoiu Ph.D. Defense of Research August 11, 2000 Approximation Algorithms for VLSI Routing.
Priority Models Sashka Davis University of California, San Diego June 1, 2003.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
Minimum Spanning Tree Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
ICALP'05Stochastic Steiner without a Root1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
1 Oblivious Routing in Wireless networks Costas Busch Rensselaer Polytechnic Institute Joint work with: Malik Magdon-Ismail and Jing Xi.
The Lower Bounds of Problems
Chapter 3 Restriction (1) Steiner Tree Ding-Zhu Du.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Projects Network Theory VLSI PSM 1. Network 1. Steiner trees
1 Mar 05Stochastic Steiner without a Root1 Stochastic Steiner Tree without a Root Martin Pál Joint work with Anupam Gupta.
© Yamacraw, 2002 Symmetric Minimum Power Connectivity in Radio Networks A. Zelikovsky (GSU) Joint work with Joint work with.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
CSE 248 Skew 1Kahng, UCSD 2011 CSE248 Spring 2011 Skew.
Steiner Tree Problem Given: A set S of points in the plane = terminals
Steiner trees: Approximation Algorithms
CSE248 Spring 2011 Skew.
Chapter 7 – Specialized Routing
Introduction to Algorithms
Computing Connected Components on Parallel Computers
Parameterized complexity Bounded tree width approaches
12. Graphs and Trees 2 Summary
Haim Kaplan and Uri Zwick
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Structural graph parameters Part 2: A hierarchy of parameters
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Graph Algorithm.
Minimum Spanning Tree.
Tree Construction (BFS, DFS, MST) Chapter 5
Randomized Algorithms CS648
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Robustness of wireless ad hoc network topologies
Near-Optimal (Euclidean) Metric Compression
Graph Partitioning Problems
Robustness of wireless ad hoc network topologies
Power Efficient Range Assignment in Ad-hoc Wireless Networks
Introduction Wireless Ad-Hoc Network
Autumn 2015 Lecture 10 Minimum Spanning Trees
Minimum Spanning Tree Algorithms
Richard Anderson Lecture 10 Minimum Spanning Trees
Zero Skew Clock tree Implementation
Clustering.
Minimum Spanning Trees (MSTs)
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Clock Tree Routing With Obstacles
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

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

The 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

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

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

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

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

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

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

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

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

Stretching Rooted Spanning Trees Loop length =

Stretching Rooted Spanning Trees Sum of loop lengths =

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

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

The Rooted-Kruskal Algorithm Initially each terminal is a rooted tree; d(t)=0 for all t While  2 roots remain: 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

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’) }

How good is Rooted-Kruskal? 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 ) T 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’) } T 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’) Lemma: delay(T)  length(T)

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’) } Pick closest two roots, t & t’, where d(t)  d(t’) Number terminals in reverse order of becoming non-roots length(T) = Lemma: length(T)  2 OPT

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

Stretching Using Steiner Points

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

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

Running Time  O(N logN) overall 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

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

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

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

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:

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

BST Approximation Theorem: Rectilinear Plane: Arbitrary metric spaces:

Summary of Results 5.44 16.11 12.53 4 3 14 9 Problem Zero-Skew Bounded-skew Metric General Rectilinear Previous factor 5.44 16.11 12.53 New 4 3 14 9

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