Efficient algorithms for Steiner Tree Problem

Slides:



Advertisements
Similar presentations
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.
Advertisements

~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二
Combinatorial Algorithms
Network Correlated Data Gathering With Explicit Communication: NP- Completeness and Algorithms R˘azvan Cristescu, Member, IEEE, Baltasar Beferull-Lozano,
1 Internet Networking Spring 2006 Tutorial 6 Network Cost of Minimum Spanning Tree.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
DAST 2005 Tirgul 14 (and more) sample questions. DAST 2005 (reminder?) Kruskal’s MST Algorithm.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
A Truthful 2-approximation Mechanism for the Steiner Tree Problem.
1 Internet Networking Spring 2004 Tutorial 6 Network Cost of Minimum Spanning Tree.
Efficient algorithms for Steiner Tree Problem Jie Meng.
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
1 Internet Networking Spring 2002 Tutorial 6 Network Cost of Minimum Spanning Tree.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
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.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Outline Introduction The hardness result The approximation algorithm.
Introduction to Graph Theory
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Introduction to Graph Theory
5.5.2 M inimum spanning trees  Definition 24: A minimum spanning tree in a connected weighted graph is a spanning tree that has the smallest possible.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
Variations of the Prize- Collecting Steiner Tree Problem Olena Chapovska and Abraham P. Punnen Networks 2006 Reporter: Cheng-Chung Li 2006/08/28.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
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.
Approximating The Minimum Equivalent Digraph S. Khuller, B. Raghavachari, and N. Young SIAM J. Computing.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Steiner trees: Approximation Algorithms
Mathematical Foundations of AI
12. Graphs and Trees 2 Summary
Lecture 22 Complexity and Reductions
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
CS4234 Optimiz(s)ation Algorithms
Computability and Complexity
1.3 Modeling with exponentially many constr.
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Minimum Spanning Tree.
Lecture 10 Network flow Max-flow and Min-cut Ford-Fulkerson method
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Graph Partitioning Problems
3.5 Minimum Cuts in Undirected Graphs
4-4 Graph Theory Trees.
Lecture 19-Problem Solving 4 Incremental Method
CS 583 Analysis of Algorithms
Autumn 2015 Lecture 10 Minimum Spanning Trees
Lecture 11 Overview Self-Reducibility.
1.3 Modeling with exponentially many constr.
Richard Anderson Lecture 10 Minimum Spanning Trees
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
CS 584 Project Write up Poster session for final Due on day of final
What is Computer Science About? Part 2: Algorithms
CSE 589 Applied Algorithms Spring 1999
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
More NP-Complete Problems
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Advanced Graph Homer Lee 2013/10/31.
The Minimum-Area Spanning Tree Problem
Minimum Spanning Trees
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Efficient algorithms for Steiner Tree Problem Jie Meng

The Steiner Problem in Graphs, by S.E.Dreyfus and R.A. Wagner, Networks, 1972 A Faster Algorithm for the Steiner Tree Problem, By D. Molle, S. Richter and P.Rossmanith, STACS06, 2006

Definitions and Backgroud Given a weighted graph G=(V, E, ), weight on edges, and a steiner set ; A steiner graph of S is a connected subgraph of G which contains all nodes in S; The Steiner Tree problem is to find a steiner graph of S with minimum weight. This problem is quite important in industrial applications.

Definitions and Backgroud The Steiner Tree problem is NP-Complete(By Karp, 1971). Approximatable within 1.55 ratio, but APX-complete. Solvable in Improved up to

Definitions and Background Why Steiner Tree problem is Hard? Spanning Tree VS. Steiner Tree

Definitions and Background Theorem: Let T be an optimal steiner tree for S, q be an inner node in T; If we break down T into several subtrees T1, T2 … in q, Ti are optimal for ; This can be proved by contradiction.

Definition and Background q

Definition and Background q

Definition and Background q

Definition and Background q

Two Phrases: Computing the optimal steiner trees containing D and p, where ; Computing the optimal steiner tree for S; Let OPT(D, p) denote the optimal steiner tree for D and p, SP(u, v) denote the shortest path between u and v in G;

Computing the optimal steiner trees for D and p; If |D|<3, w.l.o.g. let D={d1, d2}, so d1 q p d2

Computing the optimal steiner trees for D and p; If |D| 3, then E q p

Computing the optimal steiner tree for S; D q

Total Dreyfus-Wagner’s algorithm takes time O(3kn2). Time Complexity: Phrase 1, time= Phrase 2, time= Total Dreyfus-Wagner’s algorithm takes time O(3kn2).

MRR’s algorithm The most time-consume part of Dreyfus-Wagner algorithm is phrase 1, we have to enumerate all possible subsets of every subset of S; Can we reduce the cost of this part?

MRR’s algorithm Break down the optimal steiner tree only in steiner node; Enumerate subset only of size <t;

MRR’s Algorithm

MRR’s Algorithm

MRR’s algorithm For all subset D of S:

MRR’s algorithm In some cases, this procedure may fail, simply because all steiner nodes have already become leaves, and the tree is still not small enough.

MRR’s algorithm Extend the steiner set

MRR’s algorithm

MRR’s algorithm Lemma Let T be an optimal steiner tree for S, t is an integer, we can add at most |S|/(t-1) many non-steiner nodes into S such that T can be divided into several subtrees of size no larger than t, and all nodes in S are leaves in those subtree.

MRR’s algorithm Let t= c |S|; Enumerate all possible subset of V of size |S|/(t-1), add this set into S; For all subsets D of S of size less than t, call Dreyfus-Wagner algorithm to compute the optimal steiner tree for D; For all subsets D of S of size no less than t,

MRR’s algorithm The running time of this algorithm is Question?