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

Upload: byron-hopkins

Post on 18-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

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