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

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

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.

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.

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.

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.

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.

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.

Answer: spanning graphs

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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