1 / 41

Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ.

An O ( n log n ) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear Steiner Tree Construction. Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. Outline. 1. Introduction. 2. Problem Formulation. 3. Edge-Based OARST Algorithm. 4. Experimental Results.

tracylee
Download Presentation

Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear Steiner Tree Construction Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ.

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

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

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

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

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

  7. Contents 1 Introduction 2 Problem Formulation 3 Edge-Based OARST Algorithm 4 Experimental Results 5 Conclusions Company Logo

  8. Algorithm Overview Tmls, Obsts OASG MTST OARST Company Logo

  9. Algorithm Overview Tmls, Obsts OASG MTST OARST Company Logo

  10. Algorithm Overview Tmls, Obsts OASG MTST OARST Company Logo

  11. Algorithm Overview Tmls, Obsts OASG MTST OARST Company Logo

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

  13. 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 Company Logo

  14. 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… ? Company Logo

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

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

  17. 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 Company Logo

  18. MTST Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) 1 • Map an OASG to a • Complete Graph CG • + a vertex for each • terminal • + edge lengthequals • the shortest path • length between the • two end vertices on • the OASG p1 2 5 p1 3 p2 p2 3 3 3 4 2 1 1 p3 1 p3 1 Company Logo

  19. MTST Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) 1 • Generate MST(CG) • Map MST(CG) to • MTST(OASG) p1 2 5 p1 3 p2 p2 3 3 3 4 The definition gives a trivial algorithm to generate MTST. However, its complexity is at least O(n2logn) 2 1 1 p3 1 p3 1 Company Logo

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

  21. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 0 1 3 c7 0 1 0 p2 0 7 c6 Company Logo

  22. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges • Construct shortest path • tree using Dijkstra’s Alg. 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 0 1 3 c7 0 1 0 p2 0 7 c6 Company Logo

  23. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges • Construct shortest path • tree using Dijkstra’s Alg. • 3. Remove the dummy node • and edges 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 1 3 c7 1 p2 7 c6 Company Logo

  24. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges • 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. 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 1 3 c7 1 p2 7 c6 Company Logo

  25. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges • 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. 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 1 3 c7 1 p2 7 c6 Company Logo

  26. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges • 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. 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 1 3 c7 1 p2 7 c6 Company Logo

  27. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 5 • Add a dummy node and zero-weighted edges • 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. 3 1 c9 6 c1 2 c3 p4 2 4 1 1 2 5 1 4 c10 c5 p3 p1 2 3 1 3 4 5 c4 8 1 3 c7 1 p2 7 c6 Company Logo

  28. Can we do better than O(n2logn)? Step 2: MTST Construction Minimum Terminal Spanning Tree (MTST) c8 c2 9 c9 c1 • Time Complexity: O(nlogn) • Dijkstra’s and Kruskal’s Alg. • on a sparse graph c3 p4 4 6 1 c10 c5 p3 p1 4 c4 6 6 8 5 c7 p2 9 c6 Company Logo

  29. 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(n2) pairs) [Borah et al.] Company Logo

  30. Step 3: Edge-Based Refinement Obstacle-Avoiding Rectilinear Steiner Tree (OARST) Handling Obstacles pathMTST • 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 <u, v> • pairs) u pathlongest • Add Steiner points, connect path <u, v> • Remove e and pathlongest (pathlongest for • all (u, e) pair can be identified by Tarjan’s • offline least common ancestor alg. ) v path’MTST Company Logo

  31. 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 e = (p, q) q Company Logo

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

  33. Contents 1 Introduction 2 Problem Formulation 3 Edge-Based OARST Algorithm 4 Experimental Results 5 Conclusions Company Logo

  34. Experimental Results Company Logo

  35. Experimental Results Company Logo

  36. Experimental Results Company Logo

  37. Experimental Results Company Logo

  38. Experimental Results Commonly Used Test Cases Company Logo

  39. Experimental Results 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 Company Logo

  40. Conclusions Problem Formulation 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 Company Logo

  41. Thank You !

More Related