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. A Steiner Tree for G is a subgraph S t = (N’,E’) for all such that 1)S t is a tree and 2)For all s,t in T, there exists only one path from s to t in S t
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(n n ) by Ganley/Cohoon n O(√n) by Smith – quite impractical due to large exponent. O(n n ) 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 l1 l2 p1 p2 p p1 p2 p3 SlSl (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 p i to p j Number of paths througth R(I,J-1) i.e. R 2 = F(m,n) Number of paths througth C(I,J) i.e. C 2 = 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.
Probabilistic analysis (cont’d) F(m,n) and G(m,n) can be recursively defined as,
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,
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 N 2 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 wire- length.
Algorithm (cont’d) Time Complexity of this algorithm is O(N 4 ) due to the time taken for nomalizing the N 2 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(N 3 ) 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 ??