probability-based approach for solving the rectilinear steiner tree problem
DESCRIPTION
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 Here we associate a weight w e for all e in E. - PowerPoint PPT PresentationTRANSCRIPT
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
Here we associate a weight we for all e in E. A Steiner Tree for G is a subgraph St = (N’,E’) for all
such that
1)St is a tree and 2)For all s,t in T, there exists only one path from s to t in
St
{( , ) | , , }E i j i N j N i j
'N N 'E E
'T N
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
Optimal Steiner tree corresponding to this
l1l2
p1
p2
p3
12
3
1
2
3
p1
p2
p3
Sl(Steiner Point)
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
Where m,n>1.
0
1
( , ) ( 1, )
( , ) ( 1, )
( 1, ) ( , 1)
n
k
n
k
F m n F m k
G m n G m k
M F m n G m n
Probabilistic analysis (cont’d)
F(m,n) and G(m,n) can be recursively defined as,
1( , ) ( , 1)
1( , ) ( , 1)
1
m nF m n F m n
nm n
G m n G m nn
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,
The probability of a shortest path passing through these segments is given by,
Similarly for a column segment the probability is,
( , )[ ( , ) ( , )] ( , ). ( 1, )F m l n k F l k G l k F m l n k F l k
( , ). ( 1, )( , 1)
( 1, )
F m l n k F l kPR I k J l
F m n
( , ) ( , 1)( , )
( , 1)
G m l n k G l kPC I k J l
G m n
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-12)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<n4)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 wire-
length.
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 ??