# CS 583: Approximation Algorithms Lecture date: February 3, 2016 Instructor: Chandra Chekuri

Save this PDF as:

Size: px
Start display at page:

Download "CS 583: Approximation Algorithms Lecture date: February 3, 2016 Instructor: Chandra Chekuri"

## Transcription

1 CS 583: Approximation Algorithms Lecture date: February 3, 2016 Instructor: Chandra Chekuri Scribe: CC Notes updated from Spring In the previous lecture we discussed the Knapsack problem. In this lecture we discuss other packing and independent set problems. We first discuss an abstract model of packing problems. Let N be a finite ground set. A collection of I 2 N of subsets of N is said to be down closed if the following property is true: A I implies that for all B A, B I. A down closed collection is also often called and independence system. The sets in I are called independent sets. Given an independence family (N, I) and a non-negative weight function w : N R + the maximum weight independent set problem is to find max S I w(s). That is, find an independent set in I of maximum weight. Often we may be interested in the setting where all weights are 1 in which case we wish to find the maximum cardinality independent set. We discuss some canonical examples. Example: Independent sets in graphs: Given a graph G = (V, E) I = {S V there are no edges between nodes in S}. Here the ground set is V. Example: Matchings in graphs: Given a graph G = (V, E) let I = {M E M is a matching in G}. Here the ground set is E. Example: Matroids: A matroid M = (N, I) is defined as a system where I is down closed and in addition satisfies the following key property: if A, B I and B > A then there is an element e B \ A such that A {e} I. There are many examples of matroids. We will not go into details here. Example: Intersections of independence systems: given some k independence systems on the same ground set (N, I 1 ), (N, I 2 ),..., (N, I k ) the system defined by (N, I 1 I 2... I k ) is also an independence system. Well-known examples include intersections of matroids. 1 Maximum Independent Set Problem in Graphs A basic graph optimization problem with many applications is the maximum (weighted) independent set problem (MIS) in graphs. Definition 1 Given an undirected graph G = (V, E) a subset of nodes S V is an independent set (stable set) iff there is no edge in E between any two nodes in S. A subset of nodes S is a clique if every pair of nodes in S have an edge between them in G. The MIS problem is the following: given a graph G = (V, E) find an independent set in G of maximum cardinality. In the weighted case, each node v V has an associated non-negative weight w(v) and the goal is to find a maximum weight independent set. This problem is NP-Hard and it is natural to ask for approximation algorithms. Unfortunately, as the famous theorem below shows, the problem is extremely hard to approximate.

2 Theorem 1 (Håstad [1]) Unless P = NP there is no 1 n 1 ɛ -approximation for MIS for any fixed ɛ > 0 where n is the number of nodes in the given graph. Remark: The maximum clique problem is to find the maximum cardinality clique in a given graph. It is approximation-equivalent to the MIS problem; simply complement the graph. The theorem basically says the following: there are a class of graphs in which the maximum independent set size is either less than n δ or greater than n 1 δ and it is NP-Complete to decide whether a given graph falls into the former category or the latter. The lower bound result suggests that one should focus on special cases, and several interesting positive results are known. First, we consider a simple greedy algorithm for the unweighted problem. Greedy(G): S While G is not empty do Let v be a node of minimum degree in G S S {v} Remove v and its neighbors from G end while Output S Theorem 2 Greedy outputs an independent set S such that S n/( + 1) where is the maximum degree of any node in the graph. Moreover S α(g)/ where α(g) is the cardinality of the largest independent set. Thus Greedy is a 1/ approximation. Proof: We upper bound the number of nodes in V \ S as follows. A node u is in V \ S because it is removed as a neighbor of some node v S when Greedy added v to S. Charge u to v. A node v S can be charged at most times since it has at most neighbors. Hence we have that V \ S S. Since every node is either in S or V \ S we have S + V \ S = n and therefore ( + 1) S n which implies that S n/( + 1). We now argue that S α(g)/. Let S be a largest independent set in G. As in the above proof we can charge each node v in S \ S to a node u S \ S which is a neighbor of v. The number of nodes charged to a node u S \ S is at most. Thus S \ S S \ S ). Exercise: Show that Greedy outputs an independent set of size at least average degree of G. n 2(d+1) where d is the Remark: The well-known Turan s theorem shows via a clever argument that there is always an independent set of size where d is the average degree of G. n (d+1) Remark: For the case of unweighted graphs one can obtain an approximation ratio of Ω( d log log d ) where d is the average degree. Surprisingly, under a complexity theory conjecture called the Unique- Games conjecture it is known to be NP-Hard to approximate MIS to within a factor of O( log2 ) in graphs with maximum degree when is sufficiently large. Exercise: Consider the weigthed MIS problem on graphs of maximum degree. Alter Greedy to sort the nodes in non-increasing order of the weight and show that it gives a 1 -approximation. Can one obtain an Ω(1/d)-approximation for the weighted case where d is the average degree? log d

3 LP Relaxation: One can formulate a simple linear-programming relaxation for the (weighted) MIS problem where we have a variable x(v) for each node v V indicating whether v is chosen in the independent set or not. We have constraints which state that for each edge (u, v) only one of u or v can be chosen. maximize v V w(v)x(v) subject to x(u) + x(v) 1 x(v) [0, 1] (u, v) E v V Although the above is a valid integer programming relaxation of MIS when the variabels are constrained to be in {0, 1}, it is not a particularly useful formulation for the following simple reason. Claim 3 For any graph the optimum value of the above LP relaxation is at least w(v )/2. particular, for the unweighted case it is at least n/2. In Simply set each x(v) to 1/2! One can obtain a strengthened formulation below by observing that if S is clique in G then any independent set can pick at most one node from S. maximize v V w(v)x(v) subject to v S x(v) 1 S is a clique in G x(v) [0, 1] v V The above linear program has an exponential number of variables and it cannot be solved in polynomial time in general but for some special cases of interest the above linear program can indeed be solved (or approximately solved) in polynomial time and leads to either exact algorithms or good approximation bounds. Approximability of Vertex Cover and MIS: prove. The following is a basic fact and is easy to Proposition 4 In any graph G = (V, E), S is a vertex cover in G if and only if V \ S is an independent set in G. Thus α(g) + β(g) = V where α(g) is the size of a maximum independent set in G and β(g) is the size of a minimum vertex cover in G. The above shows that if one of Vertex Cover or MIS is NP-Hard then the other is as well. We have seen that Vertex Cover admits a 2-approximation while MIS admits no constant factor approximation. It is useful to see why a 2-approximation for Vertex Cover does not give any useful information for MIS even though α(g) + β(g) = V. Suppose S is an optimal vertex cover and has size V /2. Then a 2-approximation algorithm is only guaranteed to give a vertex cover of size V! Hence one does not obtain a non-trivial independent set by complementing the approximate vertex cover.

4 Some special cases of MIS: We mention some special cases of MIS that have been considered in the literature, this is by no means an exhaustive list. Interval graphs; these are intersection graphs of intervals on a line. An exact algorithm can be obtained via dynamic programming and one can solve more general versions via linear programming methods. Note that a maximum (weight) matching in a graph G can be viewed as a maximum (weight) independent set in the line-graph of G and can be solved exactly in polynomial time. This has been extended to what are known as claw-free graphs. Planar graphs and generalizations to bounded-genus graphs, and graphs that exclude a fixed minor. For such graphs one can obtain a PTAS due to ideas originally from Brenda Baker. Geometric intersection graphs. For example, given n disks on the plane find a maximum number of disks that do not overlap. One could consider other (convex) shapes such as axis parallel rectangles, line segments, pseudo-disks etc. A number of results are known. For example a PTAS is known for disks in the plane. An Ω( 1 log n )-approximation for axis-parallel 1 rectangles in the plane when the rectangles are weighted and an Ω( log log n )-approximation for the unweighted case. 2 The efficacy of the Greedy algorithm The Greedy algorithm can be defined easily for an arbitrary independence system. It iteratively adds the best element to the current independent set while maintaining feasibility. Note that the implementation of the algorithm requires having an oracle to find the best element to add to a current independent set S. Greedy((N, I)): S While (TRUE) Let A {e N \ S S + e I} If A = break e argmax e A w(e) S S {e} endwhile Output S Exercise: Prove that the Greedy algorithm gives a 1/2-approximation for the maximum weight matching problem in a general graph. Also prove that this bound is tight even in bipartite graphs. Note that max weight matching can be solved exactly in polynomial time. Remark: It is well-known that the Greedy algorithm gives an optimum solution when (N, I) is a matroid. Kruskal s algorithm for min/max weight spanning tree is a special case of this fact. It is easy to see that Greedy does poorly for MIS problem in general graphs. A natural question is what properties of I enable some reasonable performance guarantee for Greedy. A very general result in this context has been established due to Jenkyn s generalizing several previous results. In

5 order to state the result we set up some notation. Given an independence system (N, I) we say that a set A I is a base if it is a maximal independent set. It is well-known that in a matroid M all bases have the same cardinality. However this is not true in general independence system. Definition 2 An independence system (N, I) is a k-system if for any two bases A, B I, A k B. That is, the ratio of the cardinality of a maximum base and the cardinality of a minimum base is at most k. The following theorem is not too difficult but not so obvious either. Theorem 5 Greedy gives a 1/k-approximation for the maximum weight independent set problem in a k-system. The above theorem generalizes and unifies all the examples we have seen so far including MIS in bounded degree graphs, matchings, matroids etc. How does one see that a given independence system is indeed a k-system for some parameter k? For instance matchings in graphs form a 2- system. The following simple lemma gives an easy way to argue that a given system is a k-system. Lemma 6 Suppose (N, I) is an independence system with the following property: for any A I and e N \ A there is a set of at most Y A such that Y k and (A \ Y ) {e} I. Then I is a k-system. We leave the proof of the above as an exercise. We refer the reader to [3, 4] for analysis of Greedy in k-systems and other special cases. 3 Packing Integer Programs (PIPs) We can express the Knapsack problem as the following integer program. We scaled the knapsack capacity to 1 without loss of generality. n maximize p i x i i=1 subject to s i x i 1 i x i {0, 1} 1 i n More generally if have multiple linear constraints on the items we obtain the following integer program. Definition 3 A packing integer program (PIP) is an integer program of the form max{wx Ax 1, x {0, 1} n } where w is a 1 n non-negative vector and A is a m n matrix with entries in [0, 1]. We call it a {0, 1}-PIP if all entries are in {0, 1}.

6 In some cases it is useful/natural to define the problem as max{wx Ax b, x {0, 1} n } where entries in A and b are required to rational/integer valued. We can convert it into the above form by dividing each row of A by b i. When m the number of rows of A (equivalently the constraints) is small the problem is tractable. It is some times called the m-dimensional knapsack and one can obtain a PTAS for any fixed constant m. However, when m is large we observe that MIS can be cast as a special case of {0, 1}-PIP. It corresponds exactly to the simple integer/linear program that we saw in the previous section. Therefore the problem is at least as hard to approximate as MIS. Here we show via a clever LP-rounding idea that one can generalize the notion of bounded-degree to column-sparsity in PIPs and obtain a related approximation. We will then introduce the notion of width of the constraints and show how it allows for improved bounds. Definition 4 A PIP is k-column-sparse if the number of non-zero entries in each column of A is at most k. A PIP has width W if max i,j A ij /b i 1/W. 3.1 Randomized Rounding with Alteration for PIPs We saw that randomized rounding gave an O(log n) approximation algorithm for the Set Cover problem which is a canonical covering problem. Here we will consider the use of randomized rounding for packing problems. Let x be an optimum fractional solution to the natural LP relaxation of a PIP where we replace the constraint x {0, 1} n by x [0, 1] n. Suppose we apply independent randomized rounding where we set x i to 1 with probability x i. Let x be the resulting integer solution. The expected weight of this solution is exactly i w ix i which is the LP solution value. However, x may not satisfy the constraints given by Ax b. A natural strategy to try to satisfy the constraints is to set x 1 to 1 with probability cx i where c < 1 is some scaling constant. This may help in satisfying the constraints because the scaling creates some room in the constraints; we now have that the expected solution value is c i w ix i, a loss of a factor of c. Scaling by itself does not allow us to claim that all constraints are satisfied with good probability. A very useful technique in this context is the technique of alteration; we judiciously fix/alter the rounded solution x to force it to satisfy the constraints by setting some of the variables that are 1 in x to 0. The trick is to do this in such a way as to have a handle on the final probability that a variable is set to 1. We will illustrate this for the Knapsack problem and then generalize the idea to k-sparse PIPs. The algorithms we present are from [2]. Rounding for Knapsack: Consider the Knapsack problem. It is convenient to think of this in the context of PIPs. So we have ax 1 where a i now represents the size of item i and the knapsack capacity is 1; w i is the weight of item. Suppose x is a fractional solution. Call an item i big if a i > 1/2 and otherwise it is small. Let S be the indices of small items and B the indices of the big items. Consider the following rounding algorithm.

7 Rounding-with-Alteration for Knapsack: Let x be an optimum fractional solution Round each i to 1 independently with probability x i /4. Let x be rounded solution. x = x If (x i = 1 for exactly one big item i) For each j i set x j = 0 Else If ( i S s ix i > 1 or two or more big items are chosen in x ) For each j set x j = 0 End If Output feasible solution x In words, the algorithm alters the rounded solution x as follows. If exactly one big item is chosen in x then the algorithm retains that item and rejects all the other small items. Otherwise, the algorithm rejects all items if two or more big items are chosen in x or if the total size of all small items chosen in x exceeds the capacity. The following claim is easy to verify. Claim 7 The integer solution x is feasible. Now let us analyze the probability of an item i being present in the final solution. Let E 1 be the event that i S a ix i > 1, that is the sum of the sizes of the small items chose in x exceeds the capacity. Let E 2 be the event that at least one big item is chosen in x. Claim 8 Pr[E 1 ] 1/4. Proof: Let X s = i S a ix i be the random variable that measures the sum of the sizes of the small items chosen. We have, by linearity of expectation, that E[X s ] = i S a i E[x i] = i S a i x i /4 1/4. By Markov s inequality, Pr[X s > 1] E[X s ]/1 1/4. Claim 9 Pr[E 2 ] 1/2. Proof: Since the size of each big item in B is at least 1/2, we have 1 i B a ix i i B x i/2. Therefore i B x i/4 1/2. Event E 2 happens if some item i B is chosen in the random selection. Since i is chosen with probability x i /4, by the union bound, Pr[E 2 ] i B x i/4 1/2. Lemma 10 Let Z i be the indicator random variable that is 1 if x i E[Z i ] = Pr[Z i = 1] x i /16. = 1 and 0 otherwise. Then Proof: We consider the binary random variable X i which is 1 if x i = 1. We have E[X i] = Pr[X i = 1] = x i /4. We write Pr[Z i = 1] = Pr[X i = 1] Pr[Z i = 1 X i = 1] = x i 4 Pr[Z i = 1 X i = 1]. To lower bound Pr[Z i = 1 X i = 1] we upper bound the probability Pr[Z i = 0 X i = 1], that is, the probability that we reject i conditioned on the fact that it is chosen in the random solution x.

8 First consider a big item i that is chosen in x. Then i is rejected iff if another big item is chosen in x ; the probability of this can be upper bounded by Pr[E 1 ]. If item i is small then it is rejected if and only if E 2 happens or if a big item is chosen which happens with Pr[E 1 ]. In either case Thus, Pr[Z i = 0 X i = 1] Pr[E 1 ] + Pr[E 2 ] 1/4 + 1/2 = 3/4. Pr[Z i = 1] = Pr[X i = 1] Pr[Z i = 1 X i = 1] = x i 4 (1 Pr[Z i = 0 X i = 1]) x i 16. One can improve the above analysis to show that Pr[Z i = 1] x i /8. Theorem 11 The randomized algorithm outputs a feasible solution of expected weight at least n i=1 w ix i /16. Proof: The expected weight of the output is E[ i w i x i ] = i w i E[Z i ] i w i x i /16 where we used the previous lemma to lower bound E[Z i ]. Rounding for k-sparse PIPs: We now extend the rounding algorithm and analysis above to k-sparse PIPs. Let x be a feasible fractional solution to max{wx Ax 1, x [0, 1] n }. For a column index i we let N(i) = {j A j,i > 0} be the indices of the rows in which i has a non-zero entry. Since A is k-column-sparse we have that N(i) k for 1 i n. When we have more than one constraint we cannot classify an item/index i as big or small since it may be big for some constraints and small for others. We say that i is small for constraint j N(i) if A j,i 1/2 otherwise i is big for constraint j. Let S j = {i j N(i), and i small for j} be the set of all small columns for j and B j = {i j N(i), and i small for j} be the set of all big columns for j. Note that S j B j is the set of all i with A j,i > 0. Rounding-with-Alteration for k-sparse PIPs: Let x be an optimum fractional solution Round each i to 1 independently with probability x i /(4k). Let x be rounded solution. x = x For j = 1 to m do If (x i = 1 for exactly one i B j) For each h S j B j and h i set x h = 0 Else If ( i S j A j,i x i > 1 or two or more items from B j are chosen in x ) For each h S j B j set x h = 0 End If End For Output feasible solution x The algorithm, after picking the random solution x, alters it as follows: it applies the previous algorithm s strategy to each constraint j separately. Thus an element i can be rejected at different constraints j N(i). We need to bound the total probability of rejection. As before, the following claim is easy to verify.

9 Claim 12 The integer solution x is feasible. Now let us analyze the probability of an item i being present in the final solution. Let E 1 (j) be the event that i S j A j,i x i > 1, that is the sum of the sizes of the items that are small for j in x exceed the capacity. Let E 2 (j) be the event that at least one big item for j is chosen in x. The following claims follow from the same reasoning as the ones before with the only change being the scaling factor. Claim 13 Pr[E 1 (j)] 1/(4k). Claim 14 Pr[E 2 (j)] 1/(2k). Lemma 15 Let Z i be the indicator random variable that is 1 if x i E[Z i ] = Pr[Z i = 1] x i /(16k). = 1 and 0 otherwise. Then Proof: We consider the binary random variable X i which is 1 if x i rounding. We have E[X i ] = Pr[X i = 1] = x i /(4k). We write = 1 after the randomized Pr[Z i = 1] = Pr[X i = 1] Pr[Z i = 1 X i = 1] = x i 4k Pr[Z i = 1 X i = 1]. We upper bound the probability Pr[Z i = 0 X i = 1], that is, the probability that we reject i conditioned on the fact that it is chosen in the random solution x. We observe that Pr[Z i = 0 X i = 1] (Pr[E 1 (j)] + Pr[E 2 (j)] k(1/(4k) + 1/(2k)) 3/4. j N(i) We used the fact that N(i) k and the claims above. Therefore, Pr[Z i = 1] = Pr[X i = 1] Pr[Z i = 1 X i = 1] = x i 4k (1 Pr[Z i = 0 X i = 1]) x i 16k. The theorem below follows by using the above lemma and linearity of expectation to compare the expected weight of the output of the randomized algorithm with that of the fractional solution. Theorem 16 The randomized algorithm outputs a feasible solution of expected weight at least n i=1 w ix i /(16k). There is 1/(16k)-approximation for k-sparse PIPs. Larger width helps: We saw during the discussion on the Knapsack problem that if all items are small with respect to the capacity constraint then one can obtain better approximations. For PIPs we defined the width of a given instance as W if max i,j A ij /b i 1/W ; in other words no single item is more than 1/W times the capacity of any constraint. One can show using a very similar algorithm and anaylisis as above that the approximation bound improves to Ω(1/k W ) for instance with width W. Thus if W = 2 we get a Ω(1/ k) approximation instead of Ω(1/k)-approximation. More generally when W c log k/ɛ for some sufficiently large constant c we can get a (1 ɛ)- approximation. Thus, in the setting with multiple knapsack constraints, the notion of small with respect to capacities is that in each constraint the size of the item is that constraint. cɛ log k times the capacity of

10 References [1] J. Håstad. Clique is Hard to Approximate within n 1 ɛ. Acta Mathematica, 182: , [2] N. Bansal, N. Korula, V. Nagarajan, A. Srinivasan. On k-column Sparse Packing Programs. Proc. of IPCO, Available at [3] Julian Mestre. Greedy in Approximation Algorithms. Proc. of ESA, 2006: [4] Moran Feldman, Joseph Naor, Roy Schwartz, Justin Ward. Improved Approximations for k-exchange Systems - (Extended Abstract). Proc. of ESA, 2011:

### Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

### Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### 1 Polyhedra and Linear Programming

CS 598CSC: Combinatorial Optimization Lecture date: January 21, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im 1 Polyhedra and Linear Programming In this lecture, we will cover some basic material

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

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

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

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

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

### max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### 8.1 Makespan Scheduling

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: Min-Makespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance

### Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

### Near Optimal Solutions

Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

### Guessing Game: NP-Complete?

Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

### CSC2420 Spring 2015: Lecture 3

CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, 2015 1 / 1 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda

### Algorithm Design and Analysis

Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

### Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

### Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

### CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

### Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

### Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

### Section Notes 3. The Simplex Algorithm. Applied Math 121. Week of February 14, 2011

Section Notes 3 The Simplex Algorithm Applied Math 121 Week of February 14, 2011 Goals for the week understand how to get from an LP to a simplex tableau. be familiar with reduced costs, optimal solutions,

### CS5314 Randomized Algorithms. Lecture 16: Balls, Bins, Random Graphs (Random Graphs, Hamiltonian Cycles)

CS5314 Randomized Algorithms Lecture 16: Balls, Bins, Random Graphs (Random Graphs, Hamiltonian Cycles) 1 Objectives Introduce Random Graph Model used to define a probability space for all graphs with

### 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

### Linear Programming. March 14, 2014

Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

### Solutions to Exercises 8

Discrete Mathematics Lent 2009 MA210 Solutions to Exercises 8 (1) Suppose that G is a graph in which every vertex has degree at least k, where k 1, and in which every cycle contains at least 4 vertices.

### Resource Allocation with Time Intervals

Resource Allocation with Time Intervals Andreas Darmann Ulrich Pferschy Joachim Schauer Abstract We study a resource allocation problem where jobs have the following characteristics: Each job consumes

### Discuss the size of the instance for the minimum spanning tree problem.

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

### 2.1 Complexity Classes

15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look

### An Approximation Algorithm for Bounded Degree Deletion

An Approximation Algorithm for Bounded Degree Deletion Tomáš Ebenlendr Petr Kolman Jiří Sgall Abstract Bounded Degree Deletion is the following generalization of Vertex Cover. Given an undirected graph

### Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

### Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

### Lecture 7 - Linear Programming

COMPSCI 530: Design and Analysis of Algorithms DATE: 09/17/2013 Lecturer: Debmalya Panigrahi Lecture 7 - Linear Programming Scribe: Hieu Bui 1 Overview In this lecture, we cover basics of linear programming,

### Using the Simplex Method in Mixed Integer Linear Programming

Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### Vector Spaces II: Finite Dimensional Linear Algebra 1

John Nachbar September 2, 2014 Vector Spaces II: Finite Dimensional Linear Algebra 1 1 Definitions and Basic Theorems. For basic properties and notation for R N, see the notes Vector Spaces I. Definition

### By W.E. Diewert. July, Linear programming problems are important for a number of reasons:

APPLIED ECONOMICS By W.E. Diewert. July, 3. Chapter : Linear Programming. Introduction The theory of linear programming provides a good introduction to the study of constrained maximization (and minimization)

### BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

Page 1 of?? ENG rectangle Rectangle Spoiler Solution of SQUARE For start, let s solve a similar looking easier task: find the area of the largest square. All we have to do is pick two points A and B and

### Inverse Optimization by James Orlin

Inverse Optimization by James Orlin based on research that is joint with Ravi Ahuja Jeopardy 000 -- the Math Programming Edition The category is linear objective functions The answer: When you maximize

### On the Union of Arithmetic Progressions

On the Union of Arithmetic Progressions Shoni Gilboa Rom Pinchasi August, 04 Abstract We show that for any integer n and real ɛ > 0, the union of n arithmetic progressions with pairwise distinct differences,

### AM 221: Advanced Optimization Spring Prof. Yaron Singer Lecture 7 February 19th, 2014

AM 22: Advanced Optimization Spring 204 Prof Yaron Singer Lecture 7 February 9th, 204 Overview In our previous lecture we saw the application of the strong duality theorem to game theory, and then saw

### Proximal mapping via network optimization

L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

### Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, In which we introduce the theory of duality in linear programming.

Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, 2011 Lecture 6 In which we introduce the theory of duality in linear programming 1 The Dual of Linear Program Suppose that we

### 9 On the Cover Time of Random Walks on Graphs

Journal of Theoretical Probability, Vol. 2, No. 1, 1989 9 On the Cover Time of Random Walks on Graphs Jeff D. Kahn, 1 Nathan Linial, 2'3 Noam Nisan, 4 and Michael E. Saks 1'5 Received June 28, 1988 This

### I. Solving Linear Programs by the Simplex Method

Optimization Methods Draft of August 26, 2005 I. Solving Linear Programs by the Simplex Method Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston,

### CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

### SUPPLEMENT TO CHAPTER

SUPPLEMENT TO CHAPTER 6 Linear Programming SUPPLEMENT OUTLINE Introduction and Linear Programming Model, 2 Graphical Solution Method, 5 Computer Solutions, 14 Sensitivity Analysis, 17 Key Terms, 22 Solved

### Lecture 2: August 29. Linear Programming (part I)

10-725: Convex Optimization Fall 2013 Lecture 2: August 29 Lecturer: Barnabás Póczos Scribes: Samrachana Adhikari, Mattia Ciollaro, Fabrizio Lecci Note: LaTeX template courtesy of UC Berkeley EECS dept.

### CHAPTER 9. Integer Programming

CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

### Mathematical Induction

Chapter 2 Mathematical Induction 2.1 First Examples Suppose we want to find a simple formula for the sum of the first n odd numbers: 1 + 3 + 5 +... + (2n 1) = n (2k 1). How might we proceed? The most natural

### Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal ABSTACT Mohit Singh Tepper School of Business Carnegie Mellon University Pittsburgh, PA USA mohits@andrew.cmu.edu In the MINIMUM

### Answers to some of the exercises.

Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the k-center algorithm first to D and then for each center in D

### CSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24

CSL851: Algorithmic Graph Theory Semester I 2013-2014 Lecture 1: July 24 Lecturer: Naveen Garg Scribes: Suyash Roongta Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have

### Solving systems of linear equations over finite fields

Solving systems of linear equations over finite fields June 1, 2007 1 Introduction 2 3 4 Basic problem Introduction x 1 + x 2 + x 3 = 1 x 1 + x 2 = 1 x 1 + x 2 + x 4 = 1 x 2 + x 4 = 0 x 1 + x 3 + x 4 =

### (67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7

(67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition

### The Conference Call Search Problem in Wireless Networks

The Conference Call Search Problem in Wireless Networks Leah Epstein 1, and Asaf Levin 2 1 Department of Mathematics, University of Haifa, 31905 Haifa, Israel. lea@math.haifa.ac.il 2 Department of Statistics,

### Lecture Notes on Spanning Trees

Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 26, 2011 1 Introduction In this lecture we introduce graphs. Graphs provide a uniform model

### Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

### Lecture 9. 1 Introduction. 2 Random Walks in Graphs. 1.1 How To Explore a Graph? CS-621 Theory Gems October 17, 2012

CS-62 Theory Gems October 7, 202 Lecture 9 Lecturer: Aleksander Mądry Scribes: Dorina Thanou, Xiaowen Dong Introduction Over the next couple of lectures, our focus will be on graphs. Graphs are one of

### Minimum Makespan Scheduling

Minimum Makespan Scheduling Minimum makespan scheduling: Definition and variants Factor 2 algorithm for identical machines PTAS for identical machines Factor 2 algorithm for unrelated machines Martin Zachariasen,

### 9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1

9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1 Seffi Naor Computer Science Dept. Technion Haifa, Israel Introduction

### 1 The Line vs Point Test

6.875 PCP and Hardness of Approximation MIT, Fall 2010 Lecture 5: Low Degree Testing Lecturer: Dana Moshkovitz Scribe: Gregory Minton and Dana Moshkovitz Having seen a probabilistic verifier for linearity

### COMS4236: Introduction to Computational Complexity. Summer 2014

COMS4236: Introduction to Computational Complexity Summer 2014 Mihalis Yannakakis Lecture 17 Outline conp NP conp Factoring Total NP Search Problems Class conp Definition of NP is nonsymmetric with respect

### Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Informatietechnologie en Systemen Afdeling Informatie, Systemen en Algoritmiek

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

Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

### Discrete Mathematics, Chapter 3: Algorithms

Discrete Mathematics, Chapter 3: Algorithms Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 3 1 / 28 Outline 1 Properties of Algorithms

### Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

### Sets and Cardinality Notes for C. F. Miller

Sets and Cardinality Notes for 620-111 C. F. Miller Semester 1, 2000 Abstract These lecture notes were compiled in the Department of Mathematics and Statistics in the University of Melbourne for the use

### A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

### Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute

### 11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

### CSL851: Algorithmic Graph Theory Semester I Lecture 4: August 5

CSL851: Algorithmic Graph Theory Semester I 2013-14 Lecture 4: August 5 Lecturer: Naveen Garg Scribes: Utkarsh Ohm Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have not

### Math 317 HW #7 Solutions

Math 17 HW #7 Solutions 1. Exercise..5. Decide which of the following sets are compact. For those that are not compact, show how Definition..1 breaks down. In other words, give an example of a sequence

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

### 1 Basic Definitions and Concepts in Graph Theory

CME 305: Discrete Mathematics and Algorithms 1 Basic Definitions and Concepts in Graph Theory A graph G(V, E) is a set V of vertices and a set E of edges. In an undirected graph, an edge is an unordered

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

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### 3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

### POWER SETS AND RELATIONS

POWER SETS AND RELATIONS L. MARIZZA A. BAILEY 1. The Power Set Now that we have defined sets as best we can, we can consider a sets of sets. If we were to assume nothing, except the existence of the empty

### The Simplex Method. yyye

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #05 1 The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

### Covering a Square by Small Perimeter Rectangles*

Discrete Cnmput Geom 1:1-7 (1986) )i,~,n,te ~ (:~mqnjlatk~mj G eometrv 19156 Sprlngerat~rhtg New YOrk Inc. e Covering a Square by Small Perimeter Rectangles* N. Alon 1'** and D. J. Kleitman 2"*** I Massachusetts

### The Isolation Game: A Game of Distances

The Isolation Game: A Game of Distances Yingchao Zhao a,1 Wei Chen b Shang-hua Teng c,2 a Department of Computer Science, Tsinghua University b Microsoft Research Asia c Department of Computer Science,

### Uniform Multicommodity Flow through the Complete Graph with Random Edge-capacities

Combinatorics, Probability and Computing (2005) 00, 000 000. c 2005 Cambridge University Press DOI: 10.1017/S0000000000000000 Printed in the United Kingdom Uniform Multicommodity Flow through the Complete

### CMSC 858F: Algorithmic Lower Bounds Fall 2014 Puzzles and Reductions from 3-Partition

CMSC 858F: Algorithmic Lower Bounds Fall 2014 Puzzles and Reductions from 3-Partition Instructor: Mohammad T. Hajiaghayi Scribe: Thomas Pensyl September 9, 2014 1 Overview In this lecture, we first examine

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

### 4.6 Linear Programming duality

4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

### The Graphical Simplex Method: An Example

The Graphical Simplex Method: An Example Consider the following linear program: Max 4x 1 +3x Subject to: x 1 +3x 6 (1) 3x 1 +x 3 () x 5 (3) x 1 +x 4 (4) x 1, x 0. Goal: produce a pair of x 1 and x that