Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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

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

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

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

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

6 L o g o www.themegallery.com 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

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

8 L o g o www.themegallery.com Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

9 L o g o www.themegallery.com Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

10 L o g o www.themegallery.com Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

11 L o g o www.themegallery.com Company Logo Algorithm Overview OASG MTSTOARST Tmls, Obsts

12 L o g o www.themegallery.com 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…

13 L o g o www.themegallery.com 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

14 L o g o www.themegallery.com 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…

15 L o g o www.themegallery.com 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

16 L o g o www.themegallery.com 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

17 L o g o www.themegallery.com 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

18 L o g o www.themegallery.com 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 p3p3 1 1 1 1 3 3 3 3 2 2 p1p1 p2p2 p3p3 1 5 4

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

20 L o g o www.themegallery.com 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

21 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 1 4 5 0 0 0 0

22 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 4 5 0 0 0 0 1.Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg.

23 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 4 5 1.Add a dummy node and zero-weighted edges 2.Construct shortest path tree using Dijkstra’s Alg. 3.Remove the dummy node and edges

24 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 4 5 1.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.

25 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 4 5 1.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.

26 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 4 5 1.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.

27 L o g o www.themegallery.com 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 10 2 2 1 6 4 8 3 1 3 3 5 7 1 1 1 2 4 5 3 2 4 5 1.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.

28 L o g o www.themegallery.com 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 10 5 6 4 6 9 1 4 6 9 Time Complexity: O(nlogn) Dijkstra’s and Kruskal’s Alg. on a sparse graph 8

29 L o g o www.themegallery.com 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.]

30 L o g o www.themegallery.com 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. )

31 L o g o www.themegallery.com 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)

32 L o g o www.themegallery.com 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)

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

34 L o g o www.themegallery.com Company Logo Experimental Results

35 L o g o www.themegallery.com Company Logo Experimental Results

36 L o g o www.themegallery.com Company Logo Experimental Results

37 L o g o www.themegallery.com Company Logo Experimental Results

38 L o g o www.themegallery.com Company Logo Experimental Results Tree Length mkFeng’sLin’sOursImpr% IND031050 -623633-1.63% IND042579 -11211131-0.89% IND053371 -13921379-1.10% RC10500100 1980101715191688591.07% RC111000100 2505702377942357950.35% RC12100010000 1723990 803483852401-8.02% Running Time (sec) Feng’sLin’sOurs Speedup 0.01 1X 0.02 1X 0.02 1X 0.030.710.087.8X 0.040.330.158.5X 2.821.105.9313.4X Commonly Used Test Cases

39 L o g o www.themegallery.com Company Logo Experimental Results Tree Length mk Feng’sLin’sOursImpr% RL015000 -492865504887-2.44% RL0210000500 -6485086414451.09% RL0310000100 -6522416446161.17% RL041000010 -7099047010881.24% RL05100000 -7416977317901.34% Running Time (sec) Feng’sLin’sOurs Speedup -161.065.1831.1X -218.732.2895.9X -204.612.04100.3X -256.811.85138.8X -284.261.84154.5X 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

40 L o g o www.themegallery.com 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

41 L o g o


Download ppt "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."

Similar presentations


Ads by Google