efficient steiner tree construction based on spanning graphs l.
Download
Skip this Video
Download Presentation
Efficient Steiner Tree Construction Based on Spanning Graphs

Loading in 2 Seconds...

play fullscreen
1 / 20

Efficient Steiner Tree Construction Based on Spanning Graphs - PowerPoint PPT Presentation


  • 182 Views
  • Uploaded on

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 .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Efficient Steiner Tree Construction Based on Spanning Graphs' - hedda


Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
Rectilinear Steiner tree

Steiner points

  • NP-hard
  • but efficient heuristic are critical in modern VLSI design
spanning tree as a starting point
Spanning tree as a starting point
  • L(MST) <= 1.5L(SMT)
  • Shorten tree length by modification
edge based approach

e

Edge-based approach
  • Borah, Owens, and Irwin (TCAD 94)

p

e’

questions
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?
answer spanning graphs7
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
spanning graphs in o n log n time
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)

octal partition
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

find closest points in r1
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

active set
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)
spanning graph for point edge candidates
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

finding longest edge on cycle
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)
algorithm rst
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
correction
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
slide18
BGA
  • Mandoiu et al. (ASP-DAC 03)
  • Similar to Borah et al. but more general
  • O(nlog2n)

e

e’

compared with bga
Compared with BGA

Trees by RST less than 1% longer lengths

summary
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