150 likes | 406 Views
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.
E N D
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
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 2 1 3 p2 3 l2 l1 p1 2 1 p3 p2 (Steiner Point) Sl p1 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 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 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 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.