1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 1988. 高等演算法二 92321524.

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

Chapter 9 Greedy Technique. Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible - b feasible.
Chapter 4 The Greedy Approach. Minimum Spanning Tree A tree is an acyclic, connected, undirected graph. A spanning tree for a given graph G=, where E.
Combinatorial Algorithms
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
1 Spanning Trees Lecture 20 CS2110 – Spring
7.3 Kruskal’s Algorithm. Kruskal’s Algorithm was developed by JOSEPH KRUSKAL.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Efficient algorithms for Steiner Tree Problem Jie Meng.
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
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.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
MIKKEL THORUP 1999 Journal of the ACM Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Tools for Planar Networks Grigorios Prasinos and Christos Zaroliagis CTI/University of Patras 3 rd Amore Research Seminar – Oegstgeest, The Netherlands,
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
1 GRAPHS - ADVANCED APPLICATIONS Minimim Spanning Trees Shortest Path Transitive Closure.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
On the Construction of Data Aggregation Tree with Minimum Energy Cost in Wireless Sensor Networks: NP-Completeness and Approximation Algorithms National.
Algorithms for Enumerating All Spanning Trees of Undirected and Weighted Graphs Presented by R 李孟哲 R 陳翰霖 R 張仕明 Sanjiv Kapoor and.
Introduction to Algorithms L ECTURE 14 (Chap. 22 & 23) Greedy Algorithms I 22.1 Graph representation 23.1 Minimum spanning trees 23.1 Optimal substructure.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
1 The Steiner problem with edge length 1 and 2 Author: Marshall Bern and PaulPlassmann Reporter: Chih-Ying Lin ( 林知瑩 ) Source: Information Process Letter.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Projects Network Theory VLSI PSM 1. Network 1. Steiner trees
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
1 Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible b locally optimal.
Graph Theory Trees. WHAT YOU WILL LEARN Trees, spanning trees, and minimum-cost spanning trees.
Minimum Bottleneck Spanning Trees (MBST)
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Steiner Tree Problem Given: A set S of points in the plane = terminals
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time MIKKEL THORUP 1999 Journal of ACM.
Minimum Spanning Trees
Introduction to Algorithms
Minimum Spanning Trees
Efficient algorithms for Steiner Tree Problem
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Computability and Complexity
Minimum-Cost Spanning Tree
ICS 353: Design and Analysis of Algorithms
Enumerating Distances Using Spanners of Bounded Degree
Minimum Spanning Trees
Connected Components Minimum Spanning Tree
Greedy Algorithms / Dijkstra’s Algorithm Yin Tat Lee
Chapter 23 Minimum Spanning Tree
CS 583 Analysis of Algorithms
Minimum Spanning Tree Section 7.3: Examples {1,2,3,4}
Autumn 2015 Lecture 10 Minimum Spanning Trees
Dijkstra’s Shortest Path Algorithm Neil Tang 03/25/2008
Minimum Spanning Tree Algorithms
Weighted Graphs & Shortest Paths
Autumn 2016 Lecture 10 Minimum Spanning Trees
Dijkstra’s Shortest Path Algorithm Neil Tang 3/2/2010
Introduction to Algorithms: Greedy Algorithms (and Graphs)
Richard Anderson Lecture 5 Graph Theory
Winter 2019 Lecture 10 Minimum Spanning Trees
Minimum-Cost Spanning Tree
Presentation transcript:

1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二 吳明峰

2 Introduction Definition: Steiner Tree  A Steiner tree is a tree in a distance graph which spans a given subset of vertices (Steiner Points) with the minimal total distance on its edges INPUT: an undirected distance graph G=(V,E,d) and a set of Steiner points S. OUTPUT: a Steiner tree, T, for G and S. (Minimum-cost tree T within G spanning S.) The problem has been shown to be NP- complete in 1972.

3 Introduction L. Kou, G. Markowsky, and L. Berman. A fast algorithm for Steiner trees. Acta Informatica, 15: , Time complexity:  L is the mininmun number of leaves in any Steiner minimal tree for the given graph.

4 Algorithm H: Steiner Tree INPUT: an undirected distance graph G=(V,E,d) and a set of Steiner points. OUTPUT: a Steiner tree, T, for G and S. (Minimum-cost tree T within G spanning S.) L. Kou, G. Markowsky, and L. Berman. A fast algorithm for Steiner trees. Acta Informatica, 15: , 1981.

5 Step 1 Construct the complete distance G 1 =(V 1, E 1, d 1 ), where V 1 =S and, for every (v i, v j ) E 1,d 1 (v i, v j ) is equal to the distance of a shortest path form v i to v j in G. Example: Let S=(V 1, V 2, V 3, V 4 ) G G1G1 Using Fredman and Tarjan’s [1] implementation of Dijkstra’s algorithm. Dijkstra’s algorithm [1] M. L. Fredman and R. E. Tarjan, Fibonacci heaps and their uses in improved network optimization algorithms, (IEEE 1984)

6 Step 2 Find a minimum spanning tree G 2 of G 1. G1G1 G2G2

7 Step 3 Construct a subgraph G 3 of G by replacing each edge in G 2 by its corresponding shortest paths in G (If there are several shortest paths, pick an arbitrary one.) GG2G2 G3G3

8 Step 4 Find a minimum spanning tree G 4 of G 3. G3G3 G4G4

9 Step 5 Construct a Steiner tree G 5 from G 4 by deleting edges in G 4, if necessary, so that no leaves in G 5 are Steiner vertices. G4G4 G5G5

10 Time Complexity

11 For every vertex let N(s) be the set of vertices in V which are closer to s than to any other vertex in S. for

12 We consider the subgraph of G 1 defined by = {(s, t); and there is an edge with }

13

14 Lemma (a) There is a minimum spanning tree G 2 of G 1 which is a subgraph of G 1 ’. Moreover, d 1 and d 1 ’ agree on the edges of this tree.

15 Lemma (b) Every minimum spanning tree of G 1 ’ is a minimum spanning tree of G 1.

16 We may replace step 1 of Algorithm H by constructing the auxiliary graph. The graph has only edges. Step 2. can be carried out in.

17 We can compute the partition by adjoining an auxiliary vertex s 0 and edges (s 0, s),,of length 0 to G and then performing a single source shortest path computation with source s 0. This takes time and yields for every vertex v the vertex with and the distance.

18 Next we go through all the edges (u, v) in E and generate the triples We sort these triples by bucket sort [5] according to the first two components and then select for each edge of the minimum cost. All of this takes time. [5] K. Mehlhorn. Data Structures and Efficient Algorithms. EATCS Monographs. Springer, 1984.

19 Time Complexity Step 1. Step 2. Step 3. Step 4. Step 5. Total Minimum spanning tree

20 Theorem For a connected, undirected distance graph G=( V,E, d ) and a set of vertices, a Steiner tree G s for G and S with total distance at most times that of a Steiner minimal tree for G and S can be computed in time.