Probability-based approach for solving the Rectilinear Steiner tree problem Jayakrishnan Iyer
Download
Report
Transcript Probability-based approach for solving the Rectilinear Steiner tree problem Jayakrishnan Iyer
Probability-based approach
for solving the Rectilinear
Steiner tree problem
Jayakrishnan Iyer
Steiner Tree
Steiner Tree – Given a set of points in a plane
N={1,2,…,n} and graph G = (N,E) wherein
E {(i, j ) | i N , j N , i j}
Here we associate a weight we for all e in E.
A Steiner Tree for G is a subgraph St = (N’,E’) for all
N' N
E' E
such that
1)St is a tree and T N '
2)For all s,t in T, there exists only one path from s to t in
St
Steiner tree problem
Minimize Length of the steiner tree.
It is an NP-complete problem
Rectilinear Steiner Trees – Distance between 2
points is the sum of distances in the horizontal and
vertical dimensions
Very Important in VLSI routing.
Some good theoretical bounds
O(n22.62n) by Ganley/Cohoon
nO(√n) by Smith – quite impractical due to large
exponent.
O(n22.38n) by Fobermeir/Kaufmann and αn for random
instances where α<2
Probabilistic Model
Grid graph – Define a grid for any set of
points P={p1,p2,…,pn} where each pi is (xi,yi)
and xi≠xj and yi ≠yj for i ≠ j.
Optimal RST for segments in tree T such that
wire length for all segments over T is
minimum.
Define Horizontal and Vertical Grid distances
for a given grid.
Probabilistic Model(cont’d)
An Eg. Grid graph for a set of 3 points
2
p2
1
3
3
l2
p1
l1
2
p3 1
Optimal Steiner tree corresponding to this
p2
p1
Sl (Steiner Point)
p3
Probabilistic Model (cont’d)
A generic grid graph (ref. chen et. al.)
Probabilistic Model (cont’d)
Here m and n are the vertical and horizontal
grid sizes respectively.
M = number of all possible shortest paths
from pi to pj
Number of paths througth R(I,J-1) i.e. R2 =
F(m,n)
Number of paths througth C(I,J) i.e. C2 =
G(m,n)
F(1,q) = G(q,1) = 1 and F(q,1) = G(1,q) = q
Probabilistic Model (cont’d)
Probability of Shortest path through R(I,J-1) =
F(m,n)/M. Similarly for path through C(I,J) =
G(m,n)/M.
F(m,n) = F(m-1,n) + G(m-1,n) and
G(m,n) = F(m,n-1) + G(m,n-1)
Also, F(m,n-1) = F(m-1,n-1) + G(m-1,n-1)
And G(m-1,n) = G(m-1,n-1) + F(m-1,n-1)
Probabilistic model (cont’d)
Theorem: If for q>0 F(q,0)=G(0,q) = 1 then
n
F (m, n) F (m 1, k )
k 0
n
G (m, n) G (m 1, k )
k 1
M F (m 1, n) G (m, n 1)
Where m,n>1.
Probabilistic analysis (cont’d)
F(m,n) and G(m,n) can be recursively defined as,
m n 1
F (m, n)
F (m, n 1)
n
m n 1
G (m, n)
G (m, n 1)
n 1
Probabilistic model (cont’d)
Probability Matrix:
For any row segment R(I+k,J-l-1) where 0<k<n and
0≤l≤ m-1, we have for M shortest paths, number of
paths passing through the given segment,
F (m l , n k )[ F (l , k ) G (l , k )] F (m l , n k ).F (l 1, k )
The probability of a shortest path passing through these
segments is given by,
F ( m l , n k ).F (l 1, k )
PR ( I k , J l 1)
F ( m 1, n)
Similarly for a column segment the probability is,
G (m l , n k )G (l , k 1)
PC ( I k , J l )
G (m, n 1)
Algorithms
Pure Probabilistic - steps
1)Compute r(i),c(i),H(k) and V(k) for given
P={p1,p2,…,pn} where i is in {1,2,…,n} and
K=1,2,…,n-1
2)Compute F(m,n) and G(m,n).
3)Obtain PR and PC for all the N2 pairs and compute the
matrix and normalize them.
PR(i,j) = PR(i,j)/H(j) for 1<i<n and 1<j<n-1
PC(i,j) = PC(i,j)/V(i) for 1<i<n-1 and 1<j<n
4)Ignore segments leading to a cycle.
5)Delete redundant and degree-one segments not
connected to any point in P.
6)Obtain the set of Steiner points S and compute wirelength.
Algorithm (cont’d)
Time Complexity of this algorithm is O(N4)
due to the time taken for nomalizing the N2
pairs for each of the row and column
probability matrices.
Other algorithms have only a slight
modification the previous algorithm and
reduce the time complexity to O(N3) by using
MST to get the N-1edge set.
Certain dilemmas
Although wire length computation results
have been provided in the paper, it does not
hint as to how accurately the problem is
solved (upper bound on success).
Time taken for a particular point set instance
of the problem.
Questions ??