Approximating Minimum Cost Steiner Forests Lecturer: Moran Feldman Instructor: Prof. Zeev Nutov.

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 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A 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.
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.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
Covering Crossing Biset-Families by Digraphs Zeev Nutov The Open University of Israel.
Combinatorial Algorithms
Approximation Some Network Design Problems With Node Costs Guy Kortsarz Rutgers University, Camden, NJ Joint work with Zeev Nutov The Open University,
Lectures on Network Flows
1 Online and Stochastic Survivable Network Design Ravishankar Krishnaswamy Carnegie Mellon University joint work with Anupam Gupta and R. Ravi.
Approximation Algorithms for Non-Uniform Buy-at-Bulk Network Design Problems Mohammad R. Salavatipour Department of Computing Science University of Alberta.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem Amit Kumar Anupam Gupta Tim Roughgarden Bell Labs CMU Cornell joint.
Approximation Algorithm: Iterative Rounding Lecture 15: March 9.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Increasing graph connectivity from 1 to 2 Guy Kortsarz Joint work with Even and Nutov.
1 Approximating Minimum Cost Steiner Forests Guy Kortsarz Rutgers University, Camden Joint work with Moran Feldman and Zeev Nutov.
Near-Optimal Network Design with Selfish Agents By Elliot Anshelevich, Anirban Dasgupta, Eva Tardos, Tom Wexler STOC’03 Presented by Mustafa Suleyman CIFTCI.
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.
Primal-Dual Algorithms for Connected Facility Location Chaitanya SwamyAmit Kumar Cornell University.
1 Combinatorial Dominance Analysis Keywords: Combinatorial Optimization (CO) Approximation Algorithms (AA) Approximation Ratio (a.r) Combinatorial Dominance.
Distributed Combinatorial Optimization
Approximating Node-Weighted Survivable Networks Zeev Nutov The Open University of Israel.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
A General Approach to Online Network Optimization Problems Seffi Naor Computer Science Dept. Technion Haifa, Israel Joint work: Noga Alon, Yossi Azar,
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Approximation Algorithms
Outline Introduction The hardness result The approximation algorithm.
Approximating Source Location and Star Survivable Network Problems Zeev Nutov The Open University of Israel Joint work with Guy Kortsarz.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Design Techniques for Approximation Algorithms and Approximation Classes.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
CSE 421 Algorithms Richard Anderson Lecture 24 Network Flow Applications.
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.
Primal-Dual Algorithms for Connected Facility Location Chaitanya SwamyAmit Kumar Cornell University.
T HE INTERESTING BEHAVIOR OF THE SOURCE LOCATION PROBLEM G. Kortsarz, Rutgers Camden.
Approximation Algorithms for Prize-Collecting Forest Problems with Submodular Penalty Functions Chaitanya Swamy University of Waterloo Joint work with.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Approximating the k Steiner Forest and Capacitated non preemptive dial a ride problems, with almost uniform weights Guy Kortsarz Joint work with Dinitz.
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.
Improved Approximation Algorithms for Directed Steiner Forest Moran Feldman Technion Joint work with: Guy Kortsarz,Rutgers University Camden Zeev Nutov,The.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Approximating Buy-at-Bulk and Shallow-Light k-Steiner Trees Mohammad T. Hajiaghayi (CMU) Guy Kortsarz (Rutgers) Mohammad R. Salavatipour (U. Alberta) Presented.
Approximation Algorithms for Combinatorial Auctions with Complement-Free Bidders Speaker: Shahar Dobzinski Joint work with Noam Nisan & Michael Schapira.
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.
Approximation Algorithms based on linear programming.
Multiroute Flows & Node-weighted Network Design Chandra Chekuri Univ of Illinois, Urbana-Champaign Joint work with Alina Ene and Ali Vakilian.
Steiner trees: Approximation Algorithms
CS4234 Optimiz(s)ation Algorithms
Lectures on Network Flows
Chapter 5. Optimal Matchings
Computability and Complexity
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)
CS 583 Analysis of Algorithms
1.3 Modeling with exponentially many constr.
5.4 T-joins and Postman Problems
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Minimum Spanning Trees
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Approximating Minimum Cost Steiner Forests Lecturer: Moran Feldman Instructor: Prof. Zeev Nutov

2 Talk Outline Presenting the problems Previous results Greedy algorithm for Covering Problems Previous algorithm for DSF Our algorithms for k-DSF and DSFOur algorithms for k-DSF and DSF Summary

3 (Undirected) Steiner Tree (ST) Instance: A graph G = (V,E), a cost function c: E   +, and a set D  V. Objective: Find a subgraph H  G of minimum cost connecting all nodes of D. Terminology: The nodes of D are called terminals, the other nodes are called Steiner nodes. Application Example Connecting all components in an printed circuit using minimum cost silver

4 Directed Steiner Tree (DST) Instance: A digraph G = (V,E), a cost function c: E   +, a root node r and a set D  V-r. Objective: Find a subgraph H  G of minimum cost connecting all nodes of D to r. Motivation: Asymmetric connectivity cost. a c b r f d e D = {a, c, e} a c r f d e

5 (Undirected) Steiner Forest (SF) Instance: A graph G = (V,E), a cost function c: E   +, and a set D  S  T of ordered node pairs of V. Objective: Find a subgraph H  G of minimum cost containing an s-t path the for every (s,t)  D. Motivation: Computer network has to connect each client to the servers it uses. D = {(a, d), (b, g), (c, e)} a c b g f d e h i

6 Problem 1: Directed Steiner Forest (DSF) Instance: A digraph G = (V,E), a cost function c: E   +, and a set D  S  T of ordered node pairs of V. Objective: Find a subgraph H  G of minimum cost containing an s-t path for every (s,t)  D. D = {(c, e), (d, b), (b, g)} 3 a c b e f dg DSF a c b e f dg

7 Problem 2: k-Directed Steiner Forest (k-DSF) Instance: Same as for k-DSF, with an integer 0 ≤ k ≤ |D|. Objective: Find a subgraph H  G of minimum cost containing an s-t path for (at least) k pairs (s,t)  D. 2-DSF D = {(c, e), (d, b), (b, g)} DSF a c b e f dg a c b e f dg a c b e f dg k = 2

8 All problems above also have a k version. The k version is never easier than the normal version, often it is significantly more difficult. Example: SF has a 2 approximation. k-SF has only O(min{k 1/2, n 1/2 }) approximation. DSF and k-DSF admit almost the same ratio. Problems Summary k-Versions UndirectedDirected Connecting all terminals to a root Steiner Tree (ST) Directed Steiner Tree (DST) Connecting pairs of nodes Steiner Forest (SF) Directed Steiner Forest (DSF)

9 Approximation Algorithms (for Minimization Problems) What is it? Exact Algorithm - computes an optimal solution. Approximation Algorithm - computes a nearly optimal solution. Why do we need it? NP-hard problems are unlikely to have a polynomial time exact algorithm. How do we evaluate an approximation algorithm? Approximation Ratio: Equivalently: The cost of the algorithm’s solution  ρ ∙ opt. Smaller approximation ratio  better algorithm.

10 ProblemUndirectedDirected In terms of n In terms of k In terms of n In terms of k Steiner Tree 1.55 [RZ 00] O(n ε ) [CCCDG 99] O(k ε ) [CCCDG 99] k-Steiner Tree 2 [G 05] O(n ε ) [CCCDG 99] O(k ε ) [CCCDG 99] Steiner Forest 2 [AKR 95] O(n 1+ε )O(k 1/2+ε ) [CEGS 08] k-Steiner Forest O(n 1/2 ) [GHNR 07] O(k 1/2 ) [GHNR 07] O(n 4/3 ) [CCCDG 99] O(k 2/3 ) [CCCDG 99] Surveying Current Results ProblemUndirectedDirected In terms of n In terms of k In terms of n In terms of k Steiner Tree 1.55 [RZ 00] O(n ε ) [CCCDG 99] O(k ε ) [CCCDG 99] k-Steiner Tree 2 [G 05] O(n ε ) [CCCDG 99] O(k ε ) [CCCDG 99] Steiner Forest 2 [AKR 95] O(n 4/5+ε ) O(n 1+ε ) O(k 1/2+ε ) * [CEGS 08] k-Steiner Forest O(n 1/2 ) [GHNR 07] O(k 1/2 ) [GHNR 07] O(n 1+ε ) O(n 4/3 ) O(k 1/2+ε ) O(k 2/3 ) Theorem 2 DSF admits an O(n 4/5+ε ) approximation scheme. Theorem 1 k-DSF admits a combinatorial O(k 1/2+ε ) approximation scheme.

11 Covering Problems Instance: A groundset S, integral functions ν,c on 2 S. Objective: Partial cover X  S with ν(X) = 0 and c(X) minimum. ν – the deficiency function (measures distance to feasibility) c – the cost function. Example 1: Set-Cover Instance: A universe U and a set S  2 U and cost c(s) for every s  S. Objective: Find X  S of minimum cost such that: ν – The number of items of U not covered by any set of X. c – The total cost of sets in X.

12 Example 2: Minimum Steiner Tree with Node Costs Instance: A graph G=(V,E), a set U  V of terminals, cost c(s) for each node in V-U. Objective: Find a min-cost subtree T of G containing U. 5 a 2 c b d v (X) = Number of connected components in G[X  U] containing terminals, minus 1. X = {3, 2} v(X) = 0 c(X) = 5 X = {3, 5} v(X) = 0 c(X) = 8 X = {3, 4} v(X) = 1 c(X) = 7 G[X  U] has a component containing U iff v (X)=0. A partial cover: X  V-U

13 Example 3: k-Directed Steiner Forest X = {ad, df, fg, fe, ca, eb, ba} v(X) = 0 c(X) = 34 X = {df, fe, ce, eb} v(X) = 1 c(X) = 16 As a covering problem A partial cover: X  E v(X) = max {0, k – (# of pairs of D connected by X) } 3 a c b e f d g D = {(c, e), (d, b), (b, g)}, k = 3 c b e f d a c b e f d g

14 S S F  S – X is called an augmentation of X. The quantity is the density of F (w.r.t X). The function ρ(ν) depends on the problem. The Greedy Algorithm XF S X X Initialize: X   While ν(X) > 0 do: Find F  S – X so that X  X  F Return X. The Density Condition

15 Approximation Ratio of the Greedy Algorithm Theorem: If the following holds: ν is decreasing c is subadditive The approximation ratio of the greedy algorithm is: Definition: A set-function f on 2 S is: decreasing if f(S 1 )  f(S 2 ) for any S 1  S 2  S. subadditive if f(S 1 ) + f(S 2 )  f(S 1  S 2 ) for any S 1, S 2  S. if ρ(ν) = α if ρ(ν) = ν α Objective: Finding in polynomial time an augmentation satisfying the density condition for some “small” function ρ(ν).

16 Algorithm ID Problem:Node Weighted Steiner Tree Algorithm Type:Greedy Algorithm Augmentations Used:Spiders

17 A Lesson in Zoology These are also spiders: In general, a spider is a tree of at least 2 nodes, which has at most one node of degree 3 or higher. This is a spider:

18 Spider Decomposition of Trees Center – The single node of degree ≥ 3, if none exists, any node can be a center. Leaves – The nodes of degree 1. Lemma: Every tree can be decomposed into spiders such that: The spiders are node disjoint. Every leaf of the tree belongs to a unique spider. 1.Select a node v whose sub- tree is a spider. 2.Remove v and its sub-tree. 3.Remove the path from v to its closet ancestor of degree  3. 4.Repeat.

19 Finding the First Augmentation Finding a spider (in fact, a Shortest Path Tree) of optimal density: For each node u in the graph 1.Sort the paths from u to terminals in increasing cost order. 2.Add the two cheapest paths. 3.Add paths in increasing cost order, till reaching minimum density Terminals: 2 Cost: 8 Density: 8 = 8/(2-1) Terminals: 4 Cost: 19 Density: 6.333=19/(4-1) We assume: terminals = leaves  By averaging there is a spider F i such that: Terminals: 3 Cost: 12 Density: 6 = 12/(3-1) T – Optimal tree, {F i } - spiders decomposition of T. The spiders are disjoint 

20 The Complete Algorithm (Due to [KR 93]) Finding an augmentation with a general partial cover X: 1.Contract every connected component of G[X  U] into a super-node; a super node is considered a terminal if it contains a terminal. 2.Find an augmentation in the new graph (the partial cover is now  ). The previous algorithm finds an augmentation obeying the Density Condition with ρ = 2 if the current partial cover is X = . The approximation ratio of the algorithm is: 1+2 ln n

21 Junction Trees Definition A junction-tree is a union of: An in-going tree rooted at r An out-going tree rooted at r r It is easy to see that in every graph there is a junction tree of density: k 1/2 ∙ opt/k [CEGS 08]

22 Algorithm ID Problem:Direct Steiner Forest Algorithm Type:Greedy Algorithm Augmentations Used:Junction Trees Approximation Ratio:O(k 1/2+ε )

23 Algorithm for DSF of [CEGS 08] Difficulty Finding the best junction tree is NPC, it must be approximated. Solution Reduction to a problem called Group Steiner Forest (GSF). Approximating GSF via an LP-relaxation. Approximates best junction tree to a factor of O(k ε ). The LP is suitable only for the case of DSF (i.e. k = |D|). What’s Now? What do we know about junction trees? There is a good density junction tree in every instance of k-DSF.  Nobody knows how to find such a junction tree in the general case.  An algorithm for k-DSF requires using simpler structures.

Theorem 1 k-DSF admits an O(k 1/2+ε ) approximation scheme. Junction Star-Tree: A union of disjoint: In-going star from S to r Out-going tree from r to T r

25 Algorithm ID Problem:k-Direct Steiner Forest Algorithm Type:Greedy Algorithm Augmentations Used:Junction Star-Trees Approximation Ratio:O(k 1/2+ε )

26 Algorithm for k-DSF Reductions Used Augmentations Finding Via a reduction to k-DST. Remainder: k-Directed Steiner Tree (k-DS T ) Instance: A digraph G = (V, E) with edge costs {c e :e  E}, a root node r, a set U  V of terminals, and an integer k. Objective: Find a min-cost subtree T of G rooted at r spanning (at least) k terminals. Approximation: We are interested in the density version: “Find the best density tree”. It has an O(k ε ) approximation scheme by [CCCDG 99]. AssumptionJustification Metric cost graph.Using metric completion. No edge enters a node of S or leaves a node of T. Create a new source and terminal for every node, connect them to the node using zero cost edges. No node is involved in more than one pair in D. Multiply nodes involved in multiple demand pairs.

27 Finding a good density junction star-tree A junction star-tree:A tree rooted at r: t1t1 t2t2 t3t3 t4t4 t5t5 t' 1 t' 2 t' 3 t' 4 t' 5 r s1s1 s2s2 s3s3 s4s4 s5s5 t1t1 t2t2 t3t3 t4t4 t5t5 r Reduction to k-DST We guess r No other information about the junction star-tree is needed

28 The Junction Star-Tree Theorem What we will show? If for every path P  Π we have c(P) ≥ opt/g, then the graph contains a junction star-tree of density at-most: Notation D’ – The set of k pairs from D that OPT connects. Π – A set of paths in OPT, one path connecting every pair of D’. g – A parameter whose value will be set eventually to (2k) 1/2. Theorem In every instance of k-DSF (after metric completion) there is a junction star-tree of density at most: (8k) 1/2 ∙ opt/k.

29 The Junction Star-Tree Theorem (proof) Definitions P * (the truncated path of P) - The maximal subpath sv of P such that: c(P * ) ≤ opt/g Two truncated paths (possibly identical) collide if they share nodes Let Π * = {P * | P  Π} Lemma Π * can be partitioned into q ≤ g parts Q 1,…, Q q, such that in every part Q i there is a path P i * colliding with every path in Q i. Thus, there is a path colliding with ≥ k/q ≥ k/g paths. What is it good for? We got a “funnel” of at least k/g paths: Every node u of P i * can be made a root of a star. Adding each source s i connecting to the funnel in a node before u costs only O(opt/g). Pi*Pi* s1s1 s2s2 s3s3 s4s4 u u s1s1 s3s3

30 The Junction Star-Tree Theorem (proof) Construction (Informal) Let P * be the truncated path colliding with at-least k/g truncated paths. And let r 1, r 2, …, r d be the nodes of P * in reverse order. For each r i we grow a minimal tree T i  OPT spanning every terminal (of the paths colliding with P*) reachable from r i not covered by previous trees. Lemma (Informal) The trees we grow has the following properties: 1.The trees are edge disjoint. 2.Every terminal (of the paths colliding with P * ) appears in exactly one tree. 3.The sources corresponding to the terminals of T i can be added to the star of r i. T5T5 T4T4 T3T3 T2T2 T1T1 The idea is that the stars do not pay too much for every source, and the trees divide both the terminals and the cost of OPT.

31 The Junction Star-Tree Theorem (proof) Construction Get a junction star-tree J i from T i by connecting (using a single edge) the sources corresponding to the terminals of T i to r i. Every new edge is a shortcut of two truncated paths, its cost is at-most 2opt/g. Bounding the density All the trees together connect p  k/g pairs. The cost of all the junction star-trees together is: Using an averaging argument, there must be a tree of density:

32 Algorithm Summary What did we do? Showed how to find approximately optimal junction star-tree, via a reduction to k-DST. Proved that every metric graph contains a junction star-tree of density O(k 1/2 ) ∙ opt/k. What do we get? By using junction star-trees as augmentations, we get an O(k 1/2+ε )-approximation algorithm for k-DST. Comparison with the algorithm of [CEGS 08] Finding a good augmentation: Easy, works for k-DSF as well. Proving existence of a good augmentation: Non-trivial. Advantage: Combinatorial algorithm, does not solve LPs.

Theorem 2 DSF admits an O(n 4/5+ε ) approximation scheme. Fasten your set belts, 4 difficult slides and we are through…

34 Algorithm Overview Notation A path is short if its length ≤ opt/n 4/5, otherwise it is long (we assume opt is known) U(s,t) – The set of nodes which have both short paths from s, and short paths to t. A pair (s, t)  D is good if |U(s,t)| ≥ n 2/5, and bad otherwise. s v1v1 v2v2 vtvt t U(s,t)U(s,t) Short Paths Few nodes  Bad Pair Many nodes  Good Pair

35 Algorithm Overview - Continue Connecting Good Pairs Put every node v into a set R with probability p = 2ln k / n 2/5. Connect using short paths the nodes of every good pair to every node of R, if possible. Connecting Bad Pairs Henceforth, we assume that D contains only bed pairs. Let L  D be the set of pairs connected by a long path in OPT. Two cases:  Case 1: |L| ≥ ½|D|: We show there is a good density junction tree.  Case 2: |L| < ½|D|: We show that a good augmentation can be achieved by rounding the solution of an LP connecting short distance pairs. Plan:  Use a greedy algorithm for connecting the bad pairs.  In every iteration use the better of the two types of augmentations. A pair is connected if R  U(s,t)   Pr[R  U(s,t) =  ] ≤ 1/k 2 for every good pair (s,t)  D By the union bound, all good pairs are connected with probability 1-1/k By the Chernoff bound, with probability 1-1/k, the cost is no more than:

36 Case 1: |L| ≥ ½|D| (reduction to [CEGS 08]) The total cost of all paths associated with L: |L|∙opt/n 4/5 There is an edge e in OPT involved in at-least |L|/n 4/5 paths. Let J denote the union of these paths:  J is a subgraph of OPT, its cost is at-most opt.  J connects at-least |L|/n 4/5 pairs of D.  J is a junction tree, of density: opt/|D| ∙ O(n 4/5 ) The method of [CEGS 08], let us find a junction tree of density: Case 2: |L| < ½|D| (LP-rounding) This LP asks to connect at least half of the bad pairs using short paths:  (i) – The set of short paths connecting the i-th bad pair.  – The set of short paths connecting any bad pair. (An average flow of ½ or more) (The flow of a pair is the sum of the flow paths) (Pay for edges along the flow path)

37 Using the LP We round the x e variables: We get an integral solution of cost: O(n 4/5 ) ∙ opt. At least |D|/3 of the bad pairs has flow of ¼ or more, because the sum of all flows must be at least |D|/2, these pairs are connected in the integral solution. The density of the integral solution is at most: O(n 4/5 )∙opt/|D| Consider a cut in the graph separating the pair (s, t): s1s1 s2s2 spsp t1t1 t2t2 tqtq ts Since (s,t) is a bad pair, we know: p+q < n 2/5. The number of edges crossing the cut is bounded by p∙q < n 4/5 /4. The flow is at least ¼, some edge crossing the cut must have flow 1/n 4/5. Difficulty: The number of variables might be exponential. Solution: Approximate separation oracle for the dual program. Derives a solution of cost opt∙(1+ε) for the LP in polynomial time.

38 Open Questions Regarding our algorithm for DSF:  Can its ratio be improved?  Can it be extended to k-DSF as well?  A ratio better than O(n 1/2 ) is unlikely, due to a reduction to LABEL-COVER max [DK 99]. Generalizations:  DSF and k-DSF have a generalization where every pair (s,t)  D has a demand r(s,t) and it must be connected by r(s,t) edge disjoint paths.  Can any of the results presented be extended to this generalization of the corresponding problem?  No results are known for these generalizations, even when the demands are limited to 2.