Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer...
-
Upload
byron-hopkins -
Category
Documents
-
view
212 -
download
0
Transcript of Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer...
![Page 1: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/1.jpg)
Efficient Steiner Tree Construction Based on Spanning Graphs
Hai Zhou
Electrical and Computer Engineering
Northwestern University
![Page 2: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/2.jpg)
Rectilinear Steiner tree
Steiner points
• NP-hard• but efficient heuristic are critical in modern VLSI design
![Page 3: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/3.jpg)
Spanning tree as a starting point
• L(MST) <= 1.5L(SMT)• Shorten tree length by modification
![Page 4: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/4.jpg)
Edge-based approach
• Borah, Owens, and Irwin (TCAD 94)
e
e’
p
![Page 5: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/5.jpg)
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?
![Page 6: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/6.jpg)
Answer: spanning graphs
![Page 7: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/7.jpg)
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
![Page 8: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/8.jpg)
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 Delaunay Non-Delaunay
![Page 9: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/9.jpg)
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
![Page 10: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/10.jpg)
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
![Page 11: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/11.jpg)
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)
![Page 12: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/12.jpg)
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)
![Page 13: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/13.jpg)
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)
![Page 14: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/14.jpg)
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
![Page 15: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/15.jpg)
0
2
4
6
8
10
12
imp
rove
me
nt
ove
r M
ST
(%)
GeoSteiner BI1S BOI RST
Performance
![Page 16: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/16.jpg)
0
50
100
150
200
250
300
tim
e(s
ec)
GeoSteiner BI1S BOI RST
Running times
![Page 17: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/17.jpg)
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
![Page 18: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/18.jpg)
BGA
• Mandoiu et al. (ASP-DAC 03)• Similar to Borah et al. but more general• O(nlog2n)
e
e’
![Page 19: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/19.jpg)
0
2
4
6
8
10
tim
e(s
ec)
RST BGA
Compared with BGA
Trees by RST less than 1% longer lengths
![Page 20: Efficient Steiner Tree Construction Based on Spanning Graphs Hai Zhou Electrical and Computer Engineering Northwestern University.](https://reader035.fdocuments.net/reader035/viewer/2022072006/56649d1f5503460f949f3d95/html5/thumbnails/20.jpg)
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