Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.

Similar presentations


Presentation on theme: "Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University."— 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 Edge-based approach Borah, Owens, and Irwin (TCAD 94) e e’ p

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 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 divide&conquer (Shamos 78?) sweep-line (Fortune 87) div.&con. (Hwang 79) sweep-line (Shute et al 91) div.&con. (Guibas et al 83) sweep-line (Zhou et al 01) Euclidean rectilinear Delaunay Non-Delaunay

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

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 1 2 3 4 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 e p a b (p,a) or (p,b) is usually in the spanning graph if nothing blocks p from (a,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(n 2 ) 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(n 2 )) instead of quick sort

18 BGA Mandoiu et al. (ASP-DAC 03) Similar to Borah et al. but more general O(nlog 2 n) 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


Download ppt "Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University."

Similar presentations


Ads by Google