1 / 20

Efficient Steiner Tree Construction Based on Spanning Graphs

Efficient Steiner Tree Construction Based on Spanning Graphs. Hai Zhou Electrical and Computer Engineering Northwestern University. Rectilinear Steiner tree. Steiner points. NP-hard but efficient heuristic are critical in modern VLSI design. Spanning tree as a starting point.

bburris
Download Presentation

Efficient Steiner Tree Construction Based on Spanning Graphs

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. Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University

  2. Rectilinear Steiner tree Steiner points • NP-hard • but efficient heuristic are critical in modern VLSI design

  3. Spanning tree as a starting point • L(MST) <= 1.5L(SMT) • Shorten tree length by modification

  4. e Edge-based approach • Borah, Owens, and Irwin (TCAD 94) p e’

  5. Questions • How to construct the initial spanning tree? • How to find the edge point pair candidates for connection? • How to find the longest edge on the formed cycle?

  6. Answer: spanning graphs

  7. Answer: spanning graphs • A graph on a set of given points • A MST on the graph is a MST of the given points • geometrical MST = spanning graph + graph MST • Spanning graph also represent geometrical proximity information • it also provides candidates for point-edge connection • It is a sparse graph: O(n) number of edges

  8. Spanning graphs in O(n log n) time Euclidean rectilinear Delaunay Non-Delaunay Delaunay div.&con. (Guibas et al 83) divide&conquer (Shamos 78?) div.&con. (Hwang 79) sweep-line (Zhou et al 01) sweep-line (Shute et al 91) sweep-line (Fortune 87)

  9. Octal partition • ||pq||<max(||ps||, ||qs||) • Only the closest point in each region needs to be connected to s R1 p R8 R1 q R7 R2 s R6 R3 R5 R4 s

  10. Find closest points in R1 • Sweep points in increase x+y • Keep points waiting for closest point in A (active set) • Checking current point with A • make connections • delete connected points • add current point in A 4 2 3 1 x+y

  11. Active set • Active set can be linearly order according to x • Use a binary search tree • Finding insertion place O(log n) • Deleting each point O(log n) • Inserting a point O(log n) • Each point is inserted and deleted at most once: O(n log n)

  12. Spanning graph for point-edge candidates • (p,a) or (p,b) is usually in the spanning graph if nothing blocks p from (a,b) a e p b

  13. Finding longest edge on cycle • Use Tarjan’s least common ancestor algorithm • Almost linear time • The bug appeared in Borah’s original O(n2) algorithm does not exist here (proved)

  14. Algorithm RST • construct a rectilinear spanning graph • sort the edges in the graph • use Kruskal to build MST, at the same time • build the merging binary tree and • possible point-edge candidates (by spanning graph) • use least common ancestors on merging binary tree to find the longest edges in cycles • iteratively update point-edge connections

  15. Performance

  16. Running times

  17. Correction • The running times of RST reported in the paper are much worse because we accidentally switched the sorting method to bubble sort (O(n2)) instead of quick sort

  18. BGA • Mandoiu et al. (ASP-DAC 03) • Similar to Borah et al. but more general • O(nlog2n) e e’

  19. Compared with BGA Trees by RST less than 1% longer lengths

  20. Summary • Besides generating spanning trees, spanning graphs also provide proximity information • Use for Steiner tree improvements • RST: efficient O(nlog n) heuristic • Future research: improving tree lengths

More Related