Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
What is Intractable? Some problems seem too hard to solve efficiently. Question 1: Does an efficient algorithm exist?  An O(a ) algorithm, where a > 1,
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
1 Steiner Tree on graphs of small treewidth Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Combinatorial Algorithms
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
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.
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.
1 Internet Networking Spring 2006 Tutorial 6 Network Cost of Minimum Spanning Tree.
Vertex Cover, Dominating set, Clique, Independent set
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.
Approximation Algorithms for the Traveling Salesperson Problem.
1 Internet Networking Spring 2004 Tutorial 6 Network Cost of Minimum Spanning Tree.
Efficient algorithms for Steiner Tree Problem Jie Meng.
1 NP-Complete Problems Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph, the length.
Coloring Algorithms and Networks. Coloring2 Graph coloring Vertex coloring: –Function f: V  C, such that for all {v,w}  E: f(v)  f(w) Chromatic number.
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.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Approximation Algorithms
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Outline Introduction The hardness result The approximation algorithm.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
MCS312: NP-completeness and Approximation Algorithms
The Traveling Salesperson Problem Algorithms and Networks.
Fixed Parameter Complexity Algorithms and Networks.
1 The TSP : NP-Completeness Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell.
Lecture 22 More NPC problems
COSC 2007 Data Structures II Chapter 14 Graphs III.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
Approximation Algorithms
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
Approximation Algorithms Greedy Strategies. I hear, I forget. I learn, I remember. I do, I understand! 2 Max and Min  min f is equivalent to max –f.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Steiner trees: Approximation Algorithms
Algorithms and networks
CS4234 Optimiz(s)ation Algorithms
Vertex Cover, Dominating set, Clique, Independent set
Computability and Complexity
1.3 Modeling with exponentially many constr.
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Connected Components Minimum Spanning Tree
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Algorithms and networks
Introduction Wireless Ad-Hoc Network
Approximation Algorithms
1.3 Modeling with exponentially many constr.
The Traveling Salesperson Problem
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Treewidth meets Planarity
Lecture 24 Vertex Cover and Hamiltonian Cycle
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Steiner trees Algorithms and Networks

Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing

Steiner Trees3 Steiner tree Given: connected undirected graph G=(V,E), length for each edge l(e)  N, set of vertices N: terminals Question: find a subtree T of G, such that each vertex of N is on T and the total length of T is as small as possible –Steiner tree spanning N

Steiner Trees4 Variants Points in the plane Vertex weights Directed graphs

Steiner Trees5 Applications Wire routing of VLSI Customer’s bill for renting communication networks in the US Other network design and facility location problems

Steiner Trees6 Special cases |N| = 1: trivial |N| = 2: shortest path N = V: minimum spanning tree

Steiner Trees7 NP-completeness Decision version is NP-complete Vertex cover = terminal

Steiner Trees8 Proof of reduction Membership of ST in NP: trivial Hardness: take instance G=(V,E), k of Vertex Cover Build G’ by subdividing each edge Set N = set of new vertices All edges length 1 G’ has Steiner Tree with |E|+k – 1 edges, if and only if G has vertex cover with k vertices

Steiner Trees9 Approximation algorithms Several different algorithms that guarantee ratio 2 (or, more precise: 2 – 2/n). Shortest paths heuristic –Ration 2 – 2/n (no proof here) –Bases on Prim’s minimum spanning tree algorithm

Steiner Trees10 Shortest paths heuristic Start with a subtree T consisting of one terminal While T does not span all terminals –Select a terminal x not in T that is closest to a vertex in T. –Add to T the shortest path that connects x with T.

Steiner Trees11 Improving the shortest paths heuristic Take the solution T from the heuristic Build the subgraph of G, induced by the vertices in T Compute a minimum spanning tree of this subgraph Repeat –Delete non-terminals of degree 1 from this spanning tree –Until there are no such non-terminals

Steiner Trees12 Distance networks Distance network of G=(V,E) (induced by X) Take complete graph with vertex set X –Cost of edge {v,w} in distance network is length shortest path from v to w in G. For set of terminals N, the minimum cost of a Steiner tree in G equals the minimum cost of a Steiner tree in the distance network of G (induced by V).

Steiner Trees13 Distance network heuristic Construct the distance network D G (N) (induced by N) Determine a minimum spanning tree of D G (N) Replace each edge in the minimum spanning tree by a corresponding shortest path. –Let T D be the corresponding subgraph of G –It can be done such that T D is a tree Make the subgraph of G induced by the vertices in T D Compute a minimum spanning tree of this subgraph Remove non-terminals of degree 1 from this spanning tree, until there are no such non-terminals.

Steiner Trees14 Distance network heuristic has ratio 2 Look at optimal Steiner tree T* Take closed walk L around T* visiting each edge twice See this as a collection of paths between successive terminals Delete the longest of these, and we get a walk L’; cost of L’  cost(T*) * (2 – 2/r) cost(T D )  cost(L’). –L’ is a spanning tree in D G (N) Final network has cost at most cost(T D ).

Steiner Trees15 Example where bound is met  = terminal

Steiner Trees16 Upgrading heuristic W =  ; w = maxint; D = D G (N) repeat –Identify set of three terminals A={a,b,c} such that w= cost(T D (N)) – cost(T D’ (N’)) – cost(T G (A)) is as large as possible D’ (N’) is obtained from D (N) by contracting A to one vertex T D (N) denotes min spanning tree of D T G (A) denotes min steiner tree in G with terminals A –if (w = = 0) then apply distance network heuristic with terminal set W  N; stop –else add to W the non-terminal of degree 3 in T G (A); D=D’

Steiner Trees17 On upgrading heuristic Correctness: when no non-terminal vertex of degree 3 in T G (A), then w=0 –T D (N) can be constructed using edges of the other two Ratio: 11/7 Other method: – (Robins, Zelikowsky, 2000)

Steiner Trees18 Small number of terminals Suppose |N|= r is small. Compute distance network D G (V) There is a minimum cost Steiner tree in D G (V) that contains at most r – 2 non-terminals. –Any Steiner tree has one that is not longer without non- terminal vertices of degree 1 and 2 –A tree with r leaves and internal vertices of degree at least 3 has at most r – 2 internal vertices Polynomial time algorithm for Steiner tree when we have O(1) terminals.

Steiner Trees19 Solving O(1) terminals Polynomial time algorithm for Steiner tree when we have O(1) terminals: –Enumerate all sets W of at most r – 2 non-terminals –For each W, find a minimum spanning tree in the distance network of N  W –Take the best over all these solutions Takes polynomial time for fixed r. Heuristics to do this more clever?

Steiner Trees20 Simple preprocessing Steiner tree can be solved separately on each biconnected component Non terminals of degree at most 2: –Reduce graph: Delete non-terminal of degree 1 Connect neighbors of non-terminals of degree 2 –Edge length is sum of lengths of 2 edges Long edges can be deleted –If l(v,w) > d(v,w) then delete edge {v,w}.

Steiner Trees21 Bottleneck Steiner distance Path between v and w can be seen as number of successive elementary paths –Pieces ending/starting at v, w or terminal Steiner distance of path: length of largest elementary path Bottleneck Steiner distance: minimum Steiner distance over all paths between v and w Can be computed with modification of shortest paths algorithm

Steiner Trees22 Reducing non-terminals Consider non-terminal z. Consider network B(z), with vertex set N[z] and lengths the bottleneck Steiner distances. Write B(z)[W] for subnetwork of B(z) induced by W. Lemma. If for every subset W of N(z) of size at least 3, the cost of the minimum spanning tree of B(z)[W] is at most the cost of the edges {z,w} over all w  W, then z has degree at most 2 in at least one minimum cost Steiner Tree

Steiner Trees23 Use of lemma Remove z For pairs of neighbors v, w of z –If {v,w}  E, set length of edge to minimum of cost(v,w), cost(v,z)+cost(z,w) –Otherwise, add edge {v,w} with cost cost(v,z)+cost(z,w)

Steiner Trees24 Long edges If d(v,w) < cost(v,w), then edge {v,w} can be removed. If d(v,w) = cost(v,w), and there is a shortest path not via edge {v,w}, then edge can be removed.

Steiner Trees25 Paths with one terminal Suppose {v,w} is an edge, and there is a terminal z with cost(v,w) > max(d(v,z),d(w,z)) then {v,w} can be removed. –A Steiner tree with {v,w} can be improved: how can we repair a Steiner tree – {v,w}?

Steiner Trees26 PTm-test (paths with many terminals) Let b(v,w) the bottleneck Steiner distance from v to w. If cost(v,w) > b(v,w) then edge {v,w} can be removed. Proof. –Consider Steiner tree T1 with such edge {v,w}. –Look at T1 – {v,w}. Splits in two trees T2 and T3. –Consider bottleneck shortest path from v to w. –Take elementary path P0 with one edge in T2 and T3. –Length of P0 at most b(v,w). –T1 – {v,w}+ P0 has length less than T1 and spans all terminals –Take subgraph of P0 that spans all terminals and is a tree

Steiner Trees27 Polynomial solvable cases When bounded treewidth E.g., for series parallel graphs –Compute for part with terminals s and t Minimum cost subtree in part spanning s and t Minimum cost subtree in part spanning s, but not t Minimum cost subtree in part spanning t, but not s Minimum cost subtree in part spanning neither s and t Minimum cost of two subtrees, one spanning s and one spanning t Strongly chordal graphs with unit costs