V. V. Vazirani. Approximation Algorithms Chapters 3 & 22

Slides:



Advertisements
Similar presentations
Iterative Rounding and Iterative Relaxation
Advertisements

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.
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
Greedy Algorithms Greed is good. (Some of the time)
Introduction to Algorithms
1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二
Combinatorial Algorithms
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Chapter 23 Minimum Spanning Trees
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem Amit Kumar Anupam Gupta Tim Roughgarden Bell Labs CMU Cornell joint.
Primal Dual Method Lecture 20: March 28 primaldual restricted primal restricted dual y z found x, succeed! Construct a better dual.
Approximation Algorithm: Iterative Rounding Lecture 15: March 9.
1 Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Approximation Algorithms
A Truthful 2-approximation Mechanism for the Steiner Tree Problem.
Group Strategyproofness and No Subsidy via LP-Duality By Kamal Jain and Vijay V. Vazirani.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Outline Introduction The hardness result The approximation algorithm.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
1.1 Data Structure and Algorithm Lecture 13 Minimum Spanning Trees Topics Reference: Introduction to Algorithm by Cormen Chapter 13: Minimum Spanning Trees.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
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.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Approximation Algorithms
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
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 
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Steiner tree LP x e = 1 if edge e is included in the Steiner tree. Min.  e c e x e (primal) s.t.  e   (S) x e ≥ 1  S  V: S  T≠ , T\S≠  x e 
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
Lecture.6. Table of Contents Lp –rounding Dual Fitting LP-Duality.
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.
Iterative Rounding in Graph Connectivity Problems Kamal Jain ex- Georgia Techie Microsoft Research Some slides borrowed from Lap Chi Lau.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
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.
PRIMAL-DUAL APPROXIMATION ALGORITHMS FOR METRIC FACILITY LOCATION AND K-MEDIAN PROBLEMS K. Jain V. Vazirani Journal of the ACM, 2001.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Approximation Algorithms Duality My T. UF.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees.
Approximation Algorithms based on linear programming.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Quality of Service in Multimedia Distribution G. Calinescu (Illinois.
Steiner trees: Approximation Algorithms
Introduction to Algorithms
The minimum cost flow problem
Lecture 12 Algorithm Analysis
Chapter 5. Optimal Matchings
1.3 Modeling with exponentially many constr.
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Graph Partitioning Problems
CS 583 Analysis of Algorithms
Minimum Spanning Tree Algorithms
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Lecture 12 Algorithm Analysis
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Minimum Spanning Trees
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

V. V. Vazirani. Approximation Algorithms Chapters 3 & 22 Steiner Forest V. V. Vazirani. Approximation Algorithms Chapters 3 & 22 Intro – new ame, what teaching Why teaching – for my final project Why picked this topic – found linear programing interesting. Like the mathematical, step by step processes. Different from other LP algs we studied: Different Rounding techniques, randomized and Deterministic rounding or primal-dual method we used for vertex cover. Motivation: Similar to a Min spanning tree, but what if only some of the nodes were required to be in the tree??? Jennifer Campbell 2010/11/07

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis

Steiner Tree Defined by Gauss in a letter he wrote to Schumacher A problem in combinatorial optimization Similar to Min. Spanning Tree. Difference is the use of intermediate vertices and edges to reduce the length of the spanning tree

Steiner Tree Definition Given an undirected graph G=(V,E) with nonegative edge costs and whose vertices are partitioned into two sets, required and Steiner, find a minimum cost tree in G that contains all the required vertices and any subset of the Steiner vertices.

Steiner Tree Example 5 6 5 2 2 2 3 3 4 2 2 4 13 *image from [3] Any suggestions for the Steiner Tree Solution?? 2 2 4 13 *image from [3]

Steiner Tree Example 5 6 5 2 2 2 3 3 4 2 2 4 13 *image from [3]

Steiner Tree - Applications VLSI design – length of interconnection of terminals computational biology – construction phylogney trees network routing wireless communications

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis

Metric Steiner Tree W.L.G. Steiner tree can be turned into a Metric Steiner Tree Metric Steiner Tree: The edge costs satisfy the triangle inequality. i.e., G is a complete undirected graph, and for any three vertices, u, v and w, cost(u,v) ≤ cost(u,w) + cost(v,w)

Metric Steiner Tree (reduction ) Transform, in poly time, an instance I of Steiner tree problem, graph G=(V,E), to an instance I' of a Metric Steiner Tree. The metric closure, G', of G is: Let G' be the complete undirected graph on V. Define the cost of edge (u,v) in G' to the be cost of the shortest u-v path in G. The partition of Steiner and required vertices is the same in I' as in I. Therefore, For any edge (u,v) in E, the cost in G' not more than in G. So cost(OPT) of I' Is not more than cost(OPT) in I

Metric Steiner Tree (reduction ) So, given a Steiner tree T' in I': The cost of edge(u,v) in G' corresponds to the cost of a path in G. Replace each edge of T' by the corresponding path in G. All required vertices are connected, but could contain cycles. Remove edges to options a tree T. Any approximation factor for a Metric Steiner Trees carries over to Steiner trees.

Metric Steiner Tree Let R denote a set of required vertices. The minimum spanning tree (MST) on R does not always give an optimal Steiner tree. MST on R is within 2*OPT (proof in book) 3 5 5 3 3 5

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis

Steiner Forest Given an undirected graph G = (V,E), a cost function on edges c: E → Q+, and a collection on disjoint subsets of V, S1,...Sk, find a minimum cost subgraph in which each pair of vertices belonging to the same set Si is connected.

Steiner Forest Restated: Define a connectivity requirement function r, which maps unordered pairs of vertices to {0,1} as follows: Now, the problem is to find a mim. cost subgraph F that contains a u-v path for each pair (u,v) with r(u,v)= 1. The solution will be a forest. How can we relate this to the stiener tree problem??

Steiner Forest Relationship to Steiner Tree: A Steiner Forest with k=1 Since Steiner tree is NP-Hard, Steiner Forest is NP-Hard

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis Qeustions?? Need to have a good understandig of the problem, Lots of definitions coming to for the solutuion.

Steiner Forest – LP-Relaxation & dual Define a function on all cuts in G, which describes the min. number of edges which must cross the cut in any feasible solution Define xe so that for every edge e in G, xe will be 1 iff e is picked in the subgraph

Steiner Forest – LP-Relaxation & dual Integer Problem minimize: subject to: Where denotes the set of edges crossing the cut

Steiner Forest – LP-Relaxation & dual Relaxed minimize: subject to:

Steiner Forest – LP-Relaxation & dual Maximize: Subject to:

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis

Primal-dual with synchronization For previous LP problems in each iterations, one unsatisfied slack condition was picked and then made tight New idea is to raise duals in a synchronized manner. Try many possibilities simultaneously, choose one which leads to an improvement

Steiner Forest Algorithm 1. (Initialization) 2. (Edge augmentation) while there exists an unsatisfied set do: simultaneously raise for each active set S, until some edge e goes tight; 3. (Pruning)

Steiner Forest Algorithm Definitions Edge e feels dual if Edge e feels tight if the total amount of dual it feels is equal to its cost. S is unsatisfied if but there is not edge crossing the cut S is active if it is minimal unsatisfied set in the current iteration

Steiner Forest Algorithm Consider the start with all edges have cost 1, except one whose cost is 3 The only requirement is to connect vertices v and u The Algorithm first adds all edges with cost 1, then the edge with cost 3 The pruning step will remove all cost 1 edges *image from [2]

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis

Example Requirements: Thoughts on the OPT? *image from [2]

Example Optimal solution: 45 *image from [2]

Example: First Iteration *image from [2]

Example: Second Iteration *image from [2]

Example: Third Iteration *image from [2]

Example: Fourth Iteration *image from [2]

Example: Fifth Iteration Are there any edges which could be removed in the pruning step? *image from [2]

Example: Pruning Step Solution: Final cost 54 vs OPT cost 45 *image from [2]

Overview Steiner Tree (chp 3) Steiner Forest (chp 22) Steiner Trees Metric Steiner Trees Steiner Forest (chp 22) Definition LP-relaxation and dual Primal-dual with synchronization Example Analysis

Analysis Lemma (1): At the end of the algorithms, F' and y are primal and dual feasible solutions, respectively. Lemma (2): Will prove the suggested Algorithm is a factor 2 approximation for Steiner Forest problem

Analysis – Lemma (1) The dual constraints are considered one by one and edges are always added between two minimal unsatisfied sets, therefore F is acyclic, and a forest. This means that if r(u,v)=1, then there is a unique u-v path in F. Thus the edges on the path are nonredundant and are not deleted in Step 3. When an edge goes tight, the current iteration ends and active sets are redefines. Therefore, no edge is overtightened.

Analysis – Lemma (2) Since every picked edge is tight: Changing the order of summation we get: Where denotes the number of edges in F' crossing the cut

Analysis – Lemma (2) So, we need to show that: Let Δ be the extent to which active sets were raised in this iteration. Then it needs to be shown that:

Analysis – Lemma (2) Can be re-written as: Need to show that in this iteration, the average degree of active sets w.r.t F' is at most 2. Remember that in a tree, the average degree of vertices is at most 2

Analysis – Lemma (2) Let F (the final forest) be a graph H where every connected component is collapsed into a single node. In H, none of the inactive connected components will be leaves because all the edges connecting these components to the rest of the tree were removed in the pruning step Therefore the average degree of all connected components is the average degree of a subset of nodes including all the leaves. Observe: for each active node of degree greater than 2, there must be correspondingly many active nodes of degree 1, ie leaves, in the forest. Also, in each iteration, the duals being raised have average degree at most 2

Steiner Forest Our Algorithm gives a 2*OPT Approx. In 2005 G. Ribons, A. Zelikovsky found a better approximation:

References [1] V. V. Vazirani. Approximation Algorithm. Springer, 2003 [2] corelab.ntua.gr. Educational Course. 9 Oct. 2010 <http://www.corelab.ntua.gr/courses/approx-alg/material/SteinerForestProblem.pdf>. [3] Cheng-Chung Li. 2004. Theoretical Computer Science, The Full Steiner Tree Problem. 28 Jun. 2004. [4] Shuchi Chawla. CS880: Approximation Algorithms, Primal-Dual Method: Steiner Forest and Facility Location. 8 Mar 2007.