Probability-based approach for solving the Rectilinear Steiner tree problem Jayakrishnan Iyer.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Constructing Minimal Spanning Steiner Trees with Bounded Path Length Presenter : Cheng-Yin Wu, NTUGIEE Some of the Slides in this Presentation are Referenced.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Contour Stitching Introduction to Algorithms Contour Stitching CSE 680 Prof. Roger Crawfis.
Chapter 3 The Greedy Method 3.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Interconnect Estimation without Packing via ACG Floorplans Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University U.S.A.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
1 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V such that for each edge (u, v) ∈ E at least one of u and v belongs to V’ and |V’| is minimized.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
The Rectilinear Steiner Arborescence Problem is NP-Complete
Approximation Algorithms for the Traveling Salesperson Problem.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
The Shortest Path Problem
MATRICES. Matrices A matrix is a rectangular array of objects (usually numbers) arranged in m horizontal rows and n vertical columns. A matrix with m.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
1 Network Optimization Chapter 3 Shortest Path Problems.
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
IT 60101: Lecture #201 Foundation of Computing Systems Lecture 20 Classic Optimization Problems.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
Trees and Distance. 2.1 Basic properties Acyclic : a graph with no cycle Forest : acyclic graph Tree : connected acyclic graph Leaf : a vertex of degree.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Chapter 6 Graph Theory R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Unit 9: Coping with NP-Completeness
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
An Introduction to Graph Theory
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
© Yamacraw, 2002 Symmetric Minimum Power Connectivity in Radio Networks A. Zelikovsky (GSU) Joint work with Joint work with.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Chapter 7 Dynamic Programming 7.1 Introduction 7.2 The Longest Common Subsequence Problem 7.3 Matrix Chain Multiplication 7.4 The dynamic Programming Paradigm.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Steiner Tree Problem Given: A set S of points in the plane = terminals
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
The geometric GMST problem with grid clustering Presented by 楊劭文, 游岳齊, 吳郁君, 林信仲, 萬高維 Department of Computer Science and Information Engineering, National.
1 Euler and Hamilton paths Jorge A. Cobb The University of Texas at Dallas.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
EE4271 VLSI Design VLSI Channel Routing.
Lower bound algorithm. 1 Start from A. Delete vertex A and all edges meeting at A. A B C D 4 5 E Find the length of the minimum spanning.
Trees.
Steiner trees: Approximation Algorithms
VLSI Physical Design Automation
CS4234 Optimiz(s)ation Algorithms
Connected Components Minimum Spanning Tree
Floyd’s Algorithm (shortest-path problem)
3. Brute Force Selection sort Brute-Force string matching
Foundations of Algorithms, Fourth Edition
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
3. Brute Force Selection sort Brute-Force string matching
VLSI Physical Design Automation
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

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 ??