/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry

Similar documents
Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

Graph Theory Problems and Solutions

Social Media Mining. Graph Essentials

8.1 Min Degree Spanning Tree

CMPSCI611: Approximating MAX-CUT Lecture 20

Chapter 6: Graph Theory

The Goldberg Rao Algorithm for the Maximum Flow Problem

V. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

Graphs without proper subgraphs of minimum degree 3 and short cycles

3. Eulerian and Hamiltonian Graphs

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. An Improved Approximation Algorithm for the Traveling Tournament Problem

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

GRAPH THEORY LECTURE 4: TREES

The positive minimum degree game on sparse graphs

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Lecture 1: Course overview, circuits, and formulas

Connectivity and cuts

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

Steiner Tree Approximation via IRR. Randomized Rounding

Applied Algorithm Design Lecture 5

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

5.1 Bipartite Matching

Distributed Computing over Communication Networks: Maximal Independent Set

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Follow the Perturbed Leader

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

Extremal Wiener Index of Trees with All Degrees Odd

Triangle deletion. Ernie Croot. February 3, 2010

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Lecture 16 : Relations and Functions DRAFT

Generalized Induced Factor Problems

INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS

Euler Paths and Euler Circuits

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

A 2-factor in which each cycle has long length in claw-free graphs

Data Structures Fibonacci Heaps, Amortized Analysis

A Turán Type Problem Concerning the Powers of the Degrees of a Graph

1 The Line vs Point Test

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

Dynamic TCP Acknowledgement: Penalizing Long Delays

An inequality for the group chromatic number of a graph

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015

A Sublinear Bipartiteness Tester for Bounded Degree Graphs

CSC 373: Algorithm Design and Analysis Lecture 16

Approximation Algorithms

Introduction to Graph Theory

CoNP and Function Problems

Simple Graphs Degrees, Isomorphism, Paths

Lecture 22: November 10

Guessing Game: NP-Complete?

Scheduling Shop Scheduling. Tim Nieberg

Every tree contains a large induced subgraph with all degrees odd

Outline 2.1 Graph Isomorphism 2.2 Automorphisms and Symmetry 2.3 Subgraphs, part 1

Midterm Practice Problems

Well-Separated Pair Decomposition for the Unit-disk Graph Metric and its Applications

Near Optimal Solutions

Analysis of Algorithms, I

1 Approximating Set Cover

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

HOLES 5.1. INTRODUCTION

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Definition Given a graph G on n vertices, we define the following quantities:

Practical Guide to the Simplex Method of Linear Programming

Shortest Inspection-Path. Queries in Simple Polygons

Graph Theory Origin and Seven Bridges of Königsberg -Rhishikesh

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Notes on NP Completeness

Markov random fields and Gibbs measures

Disjoint Compatible Geometric Matchings

Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007

Approximating Average Distortion of Embeddings into Line

Finding and counting given length cycles

arxiv: v1 [cs.cg] 15 Sep 2014

Introduction to Algorithms. Part 3: P, NP Hard Problems

2.3 Convex Constrained Optimization Problems

A NOTE ON OFF-DIAGONAL SMALL ON-LINE RAMSEY NUMBERS FOR PATHS

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Exponential time algorithms for graph coloring

On the k-path cover problem for cacti

An Approximation Algorithm for the Unconstrained Traveling Tournament Problem

8. Matchings and Factors

6.3 Conditional Probability and Independence

The chromatic spectrum of mixed hypergraphs

Problem Set 7 Solutions

One last point: we started off this book by introducing another famously hard search problem:

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

Lecture 17 : Equivalence and Order Relations DRAFT

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis

Semi-Matchings for Bipartite Graphs and Load Balancing

Tree-representation of set families and applications to combinatorial decompositions

Abstract of Approximation Schemes for Euclidean Vehicle Routing Problems. by Aparna Das, Ph.D., Brown University, May, 2011.

MATH10040 Chapter 2: Prime and relatively prime numbers

UPPER BOUNDS ON THE L(2, 1)-LABELING NUMBER OF GRAPHS WITH MAXIMUM DEGREE

Offline sorting buffers on Line

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Transcription:

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry 2.1 Steiner Tree Definition 2.1.1 In the Steiner Tree problem the input is a graph G = (V, E) with edge costs C : E R + and terminals T V. A subgraph of G is a feasible solution if it spans all of T. The objective is to minimize the cost. Note that since we are minimizing the cost, without loss of generality the solution is a tree (if some solution has a cycle then we can remove any edge from the cycle and have a subgraph of lesser cost which still spans T ). Trivial cases: If T is everything, solution is MST. If T is two nodes, solution is shortest path. Definition 2.1.2 The metric completion C of (G, C) is the metric on V in which for all u, v V, the distance C (u, v) is the cost of the shortest u v path in G under edge costs C. The Metric Steiner Tree problem is the variant of Steiner tree in which we operate in a metric space rather than a graph. In other words, the input is a metric space (V, C) and a set of terminals T V, and the goal is to compute the minimum cost tree spanning T. We will show that it is possible to reduce the general case to the metric case. Lemma 2.1.3 Let H be a solution to metric steiner tree on (V, C, T ). Then there is a solution H to the steiner tree problem on (G, C, T ) with C(H) C (H ). Proof: We first get a subgraph Ĥ of G by replacing each edge e = {u, v} of H with a u v path in G of length C (u, v) (some such path exists by the definition of C ). Note that this does not increase the cost. We then let H be an arbitrary spanning tree of Ĥ. Since Ĥ spans every node that H spans (and possibly more), this implies that H is a feasible solution to the original steiner tree problem. And since replacing an edge by the appropriate path does not increase the cost, we have that C(H) C(Ĥ) C (H ). Lemma 2.1.4 Let H is a solution to the steiner tree problem on (G, C, T ). Then there is a solution H to the metric steiner tree problem on (V, C, T ) with C (H ) C(H). Proof: H itself is a solution to the metric steiner tree problem on (V, C, T ) with C (H ) C(H), and clearly C (H) C(H ). Thus we can simply let H = H. Theorem 2.1.5 If there is an α-approximation for metric Steiner tree, then there is an α-approximation for Steiner tree. 1

Proof of Theorem 2.1.5: Let C be the metric completion of (G, C), and let A be an α- approximation algorithm for the metric Steiner tree problem. We first use A on the instance (V, C, T ) of metric Steiner tree to get some H which spans T. We then get Ĥ by replacing each edge e = {u, v} H by a u v path of length C (u, v). Since this is not necessarily a tree any longer, we then let H be an arbitrary spanning tree of Ĥ. Claim 2.1.6 H is feasible. Proof: H spans a superset of the nodes spanned by H, and thus spans T. Claim 2.1.7 C(H) α OP T Proof: We know that C(H) C(Ĥ) because H is a subtree of Ĥ. We know that C(Ĥ) C (H ) by Lemma 2.1.3. Since A is assumed to be an α-approximation for the metric Steiner tree problem, we know that C (H ) α OP T (V, C, T ) (i.e. α times the optimum of the metric instance). Finally, we know that OP T (V, C, T ) OP T (G, C, T ) by Lemma 2.1.4. Putting these all together, we get that C(H) α OP T (G, C, T ) as claimed. Claims 2.1.6 and 2.1.7 together give the theorem. 2.1.1 Metric Steiner tree So now we want to design an approximation algorithm for the Metric Steiner Tree problem by Theorem 2.1.5 this will give the same approximation for the non-metric case. Algorithm 1 Metric Steiner Tree Input: Set of points V metric edge costs C, terminals T V. Let F be minimum spanning tree on T. Return F. F is the solution returned by the metric Steiner tree algorithm. Claim 2.1.8 F is feasible. Proof: By definition it spans T. Theorem 2.1.9 C(F ) 2(1 1 T )OPT. Proof: Let F be the optimal solution. Our goal is to find some spanning tree F of T with C( F ) 2(1 1 T )C(F ): if we can prove this, then since F is the minimum spanning tree of T we will have proved that C(F ) C( F ) 2(1 1 T )C(F ). In order to prove this, we first need a definition. Definition 2.1.10 A graph G is Eulerian if there is a closed tour of G which traverses every edge exactly once. Eulerian graphs are a standard topic in graph theory, in part because it turns out that they have a very simple characterization: Theorem 2.1.11 G is Eulerian iff all degrees are even and G is connected. Let 2F be F with two copies of each edge. Now all degrees are even, and thus 2F is Eulerian, 2

so there is an Eulerian tour C of 2F. This tour hits all of the nodes (multiple times), but we only care about hitting T. So we can obtain a cycle H on T by shortcutting C to T : informally, we walk the Eulerian path to get an ordering of all nodes (where we only consider the first time we see a vertex), and then build the cycle on T defined by this ordering (there are more details about this in Section 2.4 of the book). Because C is a metric space, the cost of each edge in the cycle H is at most the cost of the path (in C) that it replaces. And because 2F is Eulierian, each edge is in at most one of these paths and hence no edge was double counted. Thus C(H) C(2F ) = 2C(F ) = 2OP T. Since H is a cycle, we can remove the most costly edge to get a spanning tree F of T (in fact, a spanning path). By a simple averaging argument the most costly edge has value at least 1 T C(H), and thus C( F ) (1 1 1 T ) C(H) 2(1 T )OPT. A natural question is whether our analysis is tight: is this algorithm actually better than a 2(1 1 T )- approximation? Theorem 2.1.12 There is an instance of metric Steiner tree in which the algorithm returns a solution of cost 2(1 1 T ) OP T. Proof: Consider the metric defined by a star (one center and n 1 leaves) in which edges of the star have cost 1 (so the cost of leaf-leaf pairs is 2). The terminals are the leaves. Then the optimal solution is the star itself, which has cost n 1. But the algorithm finds a minimum spanning tree on the leaves, which clearly has cost 2(n 2) = 2(1 1 n 1 )OP T. It turns out that better algorithms do exist: Theorem 2.1.13 (Byrka, Grandoni, Rothvoß, Sanita) There is a (ln(4)+ɛ) 1.39-approximation to Steiner Tree. 2.2 TSP: traveling salesman problem Recall that in (metric) TSP the input is a set of points V with metric edge costs c : V V R +. A solution is feasible if it is a Hamiltonian cycle of V (a spanning cycle visiting every vertex exactly once). The objective is to minimize the cost of this cycle. The first algorithm we will consider is similar to the algorithm we used for Steiner Tree. Algorithm 2 TSP Input: Set of points V with metric costs c : V V R + Compute MST T. Double all edges to get 2T (Eulerian), so let C be Eulerian tour. Let H be shortcutted C (treat all nodes as terminals). return H Theorem 2.2.1 Algorithm is a 2(1 1 n ) approx. Proof of Theorem 2.2.1: Let H be the optimal solution, and let F be the path obtained by removing the heaviest edge of H. Then F is a spanning tree (actually spanning path) of V of cost 3

C(F ) (1 1 n )C(H ) = (1 1 n ) OP T. But since T is the minimum spanning tree, we know that C(T ) C(F ). Thus we have that C(H) C(C) = C(2T ) = 2C(T ) 2C(F ) (1 1 T ) OP T. While this is a simple algorithm, there is a better one due to Christofides [1976]. In fact, this was one of the first nontrivial approximation algorithms developed. The key idea is to note that the only reason we had to double all edges of T was to get an Eulierian graph (which we could then shortcut). What if there were a way to get an Eulerian graph of smaller cost? Definition 2.2.2 A perfect matching of nodes S is a matching of size S 2 (i.e. everyone is matched). There exists a polytime algorithm to find a min-cost perfect matching. Theorem 2.2.3 (Christofides 1976) There is a 3/2-approximation for TSP. In order to prove this, we will first note something simple about degrees in graphs: the sum of the degrees is always even. Lemma 2.2.4 Let G be an arbitrary graph, and let d(v) denote the degree of v in G. d(v) is even. v V Then Proof: Clearly v V d(v) = e E 2 = 2 E, since adding the degrees counts every edge twice (once at each endpoint). And obviously 2 E is even. We can now define Christofides s algorithm. Algorithm 3 Christofides TSP Compute MST T. Let D be odd-degree nodes in T. Let M be min-cost perfect matching of D. Let C be Eulerian tour of T + M. return H = shortcutted C. We used the notation T + M to denote the multigraph obtained by taking the union of T and M with multiplicities: if an edge appears in both T and in M then it appears twice in T + M. Theorem 2.2.5 Everything is well-defined. Proof: We know from Lemma 2.2.4 that D is odd, and since we are in a metric there is an edge between all pairs, so the min-cost perfect matching M is well-defined (we can break ties arbitrarily). Consider some node v. If it has even degree in T then it has even degree in T + M, while if it had odd degree in T then it has even degree in T + M. Thus T + M is Eulerian, so C exists. Theorem 2.2.6 Christofides is a 3/2-approximation. Proof: Let H be the optimal solution. Then H spans V and T is the least expensive way of spanning T. So C(T ) OP T (this is the same as in the previous algorithm). So we simply need to show that C(M) 1 2 OP T. To see this, define H D to be H shortcutted to D (so H D is a cycle on D). Without loss of generality we can rename nodes so that H D is the cycle (v 1, v 2,..., v D ). Since D is even, we can partition H D into two perfect matchings: M 1 = {{v 1, v 2 }, (v 3, v 4 },..., {v D 1, v D }}, and 4

M 2 = {{v D, v 1 }, (v 2, v 3 },..., {v D 2, v D 1 }} Clearly M 1 and M 2 form a partition of the edges of H D into two perfect matchings of D. Thus C(M 1 ) + C(M 2 ) = C(H D ), so min{c(m 1 ), C(M 2 )} 1 2 C(H D) 1 2 C(H ) = 1 2 OP T. Finally, since M is the minimum cost perfect patching on D we know that C(M) min{c(m 1 ), C(M 2 )}, proving the theorem. 5