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.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
Chen, Lu Mentor: Zhou, Jian Shanghai University, School of Management Chen213.shu.edu.cn.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二
Ion Mandoiu (Georgia Tech) Alex Zelikovsky (Georgia State) ISMP 2000 Practical Approximation Algorithms for Zero- and Bounded-Skew Trees.
A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and.
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.
1 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
PLANAR SHORTEST PATH & R-DIVISIONS Dwyane George March 10, 2015.
Discussion #36 Spanning Trees
Minimum Spanning Tree Algorithms
Cutting a surface into a Disk Jie Gao Nov. 27, 2002.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
1 Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network Prof. Yu-Chee Tseng Department of Computer Science National Chiao-Tung University.
Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore.
Circuit Simulation Based Obstacle-Aware Steiner Routing Yiyu Shi, Paul Mesa, Hao Yu and Lei He EE Department, UCLA Partially supported by NSF Career Award.
6/29/ Routing Prof. Shiyan Hu Office: EERC 731.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Two Discrete Optimization Problems Problem #2: The Minimum Cost Spanning Tree Problem.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
CDCTree: Novel Obstacle-Avoiding Routing Tree Construction based on Current Driven Circuit Model Speaker: Lei He.
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
A Topology-based ECO Routing Methodology for Mask Cost Minimization Po-Hsun Wu, Shang-Ya Bai, and Tsung-Yi Ho Department of Computer Science and Information.
Computability Reports. More examples. Homework: Optimization. Other follow- ups. Start to plan presentation.
Shortest Path Algorithms. Kruskal’s Algorithm We construct a set of edges A satisfying the following invariant:  A is a subset of some MST We start with.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
1 GRAPHS - ADVANCED APPLICATIONS Minimim Spanning Trees Shortest Path Transitive Closure.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Dijkstra’s Algorithm. Announcements Assignment #2 Due Tonight Exams Graded Assignment #3 Posted.
Efficient Route Computation on Road Networks Based on Hierarchical Communities Qing Song, Xiaofan Wang Department of Automation, Shanghai Jiao Tong University,
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Chris Chu Iowa State University Yiu-Chung Wong Rio Design Automation
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Graphs 1 Neil Ghani University of Strathclyde. Where are we …. We studied lists: * Searching and sorting a list Then we studied trees: * Efficient search.
Prof. Yu-Chee Tseng Department of Computer Science
3. Polygon Triangulation
VLSI Physical Design Automation
Minimum Spanning Trees
Chapter 5 : Trees.
12. Graphs and Trees 2 Summary
Lecture 12 Algorithm Analysis
Short paths and spanning trees
Graph Algorithm.
Planarity Testing.
Minimum Spanning Trees
Graphs & Graph Algorithms 2
Outline This topic covers Prim’s algorithm:
Minimum Spanning Tree Algorithms
Weighted Graphs & Shortest Paths
Alan Kuhnle*, Victoria G. Crawford, and My T. Thai
Lecture 12 Algorithm Analysis
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.
Prim’s algorithm for minimum spanning trees
Minimum Spanning Trees
Presentation transcript:

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 Steiner Tree Construction

L o g o Company Logo Outline Introduction 1 Problem Formulation 2 Edge-Based OARST Algorithm 3 Experimental Results 4 Conclusions 5

L o g o Company Logo Outline Introduction 1 Problem Formulation 2 Edge-Based OARST Algorithm 3 Experimental Results 4 Conclusions 5

L o g o Company Logo Introduction Steiner Routing Existing Work: Mostly assumes obstacle-free routing plane Modern VLSI Chip Obstacles: IP cores, macro blocks, pre- route nets

L o g o Company Logo Contents Introduction 1 Problem Formulation 2 Edge-Based OARST Algorithm 3 Experimental Results 4 Conclusions 5

L o g o Company Logo Steiner points Problem Formulation OARSMT Obstacle-Avoiding Rectilinear Steiner Minimal Tree m terminals k rectilinear obstacles rectilinear tree minimum length connects all tmls GIVEN GOAL avoids obstacles NP- Hard

L o g o Company Logo Contents Introduction 1 Problem Formulation 2 Edge-Based OARST Algorithm 3 Experimental Results 4 Conclusions 5

L o g o Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

L o g o Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

L o g o Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

L o g o Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

L o g o Company Logo Step 1: OASG Generation Spanning Graph Octal partition Minimum Spanning Tree (MST) embedded Obstacle-Avoiding Spanning Graph (OASG) On a obstacle-free routing plane [ Zhou et al.] Obstacle- Avoiding Spanning Graph How to define SG when there are obstacles? How to construct OASG efficiently? Is MST still embedded? What if there are obstacles…

L o g o Company Logo Step 1: OASG Generation Obstacle-Avoiding Spanning Graph (OASG) Q1: How to Define SG when there are obstacles? A: 1. Connect the terminals and corners - Intuition: when blocked, shortest paths going through corners 2. Quadrant partition only - easier to handle, does not degrade the solution quality much

L o g o Company Logo Step 1: OASG Generation Obstacle-Avoiding Spanning Graph (OASG) Q2: How to construct OASG efficiently? A: Sweeping Line Algorithm (Quad1) + order the vertices by x+y; + sweep from the first vertex in the order; + Active Set (vertices in red circles): contain all the swept vertices whose closest vertex is to be discovered; + blockage checking…

L o g o Company Logo Step 1: OASG Generation Obstacle-Avoiding Spanning Graph (OASG) Blockage Checking Lemma 1 : (u, v) intersects with a horizontal edge if and only if: 1)The edge is intersecting with the sweeping line 2)The y-coordinate of the edge is between those of u and v u v Use balanced BST to store y-coordinate of the edges, ensuring O(logn) query time

L o g o Company Logo Step 1: OASG Generation Obstacle-Avoiding Spanning Graph (OASG) Data Structure for the Active Set Balanced BST (x as the keys) No Obstacle x y O(logn) query, insertion, deletion time Hierarchical Balanced Binary Search Tree

L o g o Company Logo Step 1: OASG Generation Obstacle-Avoiding Spanning Graph (OASG) Q3: Does the OASG contain the MST connecting all the terminals? A: Unfortunately no, but we can extract a structure called MTST from OASG as the starting point for refinement

L o g o Company Logo Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Map an OASG to a Complete Graph CG + a vertex for each terminal + edge length equals the shortest path length between the two end vertices on the OASG MTSTMTSTMTSTMTST MTSTMTSTMTSTMTST p1p1 p2p2 p3p p1p1 p2p2 p3p

L o g o Company Logo Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Generate MST(CG) Map MST(CG) to MTST(OASG) MTSTMTSTMTSTMTST MTSTMTSTMTSTMTST p1p1 p2p2 p3p p1p1 p2p2 p3p The definition gives a trivial algorithm to generate MTST. However, its complexity is at least O(n 2 logn)

L o g o Company Logo Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? Extreme Cases All vertices are terminals: MTST degenerated to MST, which can be found using Kruskal’s algorithm in O(nlogn) time Only two terminals: MTST degenerated to shortest path between these two terminals, which can be found by Dijkstra’s algorithm in O(nlogn) time It is reasonable to assume that certain combination of Dijkstra’s and Kruskal’s alg. can generate MTST in O(nlogn) time

L o g o Company Logo 1.Add a dummy node and zero-weighted edges Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 p4p4 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c

L o g o Company Logo 1 p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg.

L o g o Company Logo 1 p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg. 3.Remove the dummy node and edges

L o g o Company Logo 1 p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg. 3.Remove the dummy node and edges 4. Treat each tree as a super node and apply Kruskal’s Alg.

L o g o Company Logo 1 p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg. 3.Remove the dummy node and edges 4. Treat each tree as a super node and apply Kruskal’s Alg.

L o g o Company Logo 1 p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg. 3.Remove the dummy node and edges 4. Treat each tree as a super node and apply Kruskal’s Alg.

L o g o Company Logo 1 p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? 1 p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg. 3.Remove the dummy node and edges 4. Treat each tree as a super node and apply Kruskal’s Alg.

L o g o Company Logo p4p4 Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) Can we do better than O(n 2 logn)? p1p1 p2p2 p3p3 c1c1 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c Time Complexity: O(nlogn) Dijkstra’s and Kruskal’s Alg. on a sparse graph 8

L o g o Company Logo Step 3: Edge-Based Refinement Obstacle-Avoiding Rectilinear Steiner Tree (OARST) From MTST to OARST Obstacle-Free: - consider vertex-edge pairs for tree length reduction (O(n 2 ) pairs) [Borah et al.]

L o g o Company Logo Step 3: Edge-Based Refinement Obstacle-Avoiding Rectilinear Steiner Tree (OARST) Handling Obstacles u v path longest path MTST path’ MTST Consider each neighboring vertex-edge pair (u, e) where e is on the MTST e Find out v, the closest on-MTST vertex to u (Extended-Dijkstra in Step 2 can be reused here to identify all such pairs) Add Steiner points, connect path Remove e and path longest (path longest for all (u, e) pair can be identified by Tarjan’s offline least common ancestor alg. )

L o g o Company Logo Step 3: Edge-Based Refinement Obstacle-Avoiding Rectilinear Steiner Tree (OARST) Handling Obstacles Q: Do the newly added edges intersect with the obstacles? No. Because there should not be any vertex within the yellow area u p q e = (p, q)

L o g o Company Logo Obstacle-Avoiding Rectilinear Steiner Tree (OARST) Complexity of the Algorithm MTST Construction: Dijkstra’s and Kruskal’s Alg. on sparse graphs (O(nlogn)) OASG Generation: Sweeping line alg. with efficient active set implementation (O(nlogn)) Edge-Based Refinement: Consider only O(n) vertex- edge pairs (O(nlogn)) Time Complexity Analysis Step 1: O(nlogn) Step 2: O(nlogn) Step 3: O(nlogn) Entire Alg.: O(nlogn)

L o g o Company Logo Contents Introduction 1 Problem Formulation 2 Edge-Based OARST Algorithm 3 Experimental Results 4 Conclusions 5

L o g o Company Logo Experimental Results

L o g o Company Logo Experimental Results

L o g o Company Logo Experimental Results

L o g o Company Logo Experimental Results

L o g o Company Logo Experimental Results Tree Length mkFeng’sLin’sOursImpr% IND % IND % IND % RC % RC % RC % Running Time (sec) Feng’sLin’sOurs Speedup X X X X X X Commonly Used Test Cases

L o g o Company Logo Experimental Results Tree Length mk Feng’sLin’sOursImpr% RL % RL % RL % RL % RL % Running Time (sec) Feng’sLin’sOurs Speedup X X X X X Large Test Cases Across a larger set of test cases, compared to Lin et al.’s heuristic, our algorithm achieves 25.8X speedup on average, while the length of the resulting OARSTs is only 1.58% larger on average

L o g o Company Logo Conclusions Problem Formulation Problem Formulation Three-Step O(nlogn) OARST Algorithm Three-Step O(nlogn) OARST Algorithm OASG Generation O(nlogn) MTST Construction O(nlogn) Edge-Based Refinement O(nlogn) Experimental Results Illustrate the Effectiveness and Efficiency of Our Approach Experimental Results Illustrate the Effectiveness and Efficiency of Our Approach

L o g o