Graph Theory and Optimization Approximation Algorithms Nicolas Nisse Université Côte d Azur, Inria, CNRS, I3S, France October 2018 Thank you to F. Giroire for some of the slides N. Nisse Graph Theory and applications 1/19
Motivation Goal: Find good solutions for difficult problems (NP-hard). Be able to quantify the goodness of the given solution. Presentation of a technique to get approximation algorithms: fractional relaxation of integer linear programs. N. Nisse Graph Theory and applications 2/19
Outline 1 Approximation Algorithms 2 Example: Max. Matching vs. Min. Vertex Cover 3 Approximation algorithms using Fractional Relaxation Vertex Cover Set Cover N. Nisse Graph Theory and applications 3/19
Approximation Algorithms Π a maximization Problem c-approximation for Π 1 < c constant or depends on input length deterministic polynomial-time algorithm A for any input I, A returns a solution with value at least OPT (I)/c. Π a minimization Problem c-approximation for Π 1 < c constant or depends on input length deterministic polynomial-time algorithm A for any input I, A returns a solution with value at most c OPT (I). N. Nisse Graph Theory and applications 4/19
Approximation Algorithms Definition: An approximation algorithm produces in polynomial time a feasible solution whose objective function value is close to the optimal OPT, by close we mean within a guaranteed factor of the optimal. Example: a factor 2 approximation algorithm for the cardinality vertex cover problem, i.e. an algorithm that finds a cover of cost 2 OPT in time polynomial in V. N. Nisse Graph Theory and applications 5/19
Outline 1 Approximation Algorithms 2 Example: Max. Matching vs. Min. Vertex Cover 3 Approximation algorithms using Fractional Relaxation Vertex Cover Set Cover N. Nisse Graph Theory and applications 6/19
Approx: Max. Matching vs. Min. Vertex Cover Let G = (V,E) be a graph Matching: set M of pairwise disjoint edges in a graph (M E) Compute a Max. Matching is polynomial-time solvable [Edmonds 1965] Vertex Cover: set K V such that e E, e K /0 set of vertices that touch" every edge Compute a Min. Vertex Cover is NP-complete [Garey,Johnson 1979] N. Nisse Graph Theory and applications 7/19
Approx: Max. Matching vs. Min. Vertex Cover Let G = (V,E) be a graph Matching: set M of pairwise disjoint edges in a graph (M E) Compute a Max. Matching is polynomial-time solvable [Edmonds 1965] Vertex Cover: set K V such that e E, e K /0 set of vertices that touch" every edge Compute a Min. Vertex Cover is NP-complete [Garey,Johnson 1979] Exercise: Prove that for any graph G, maxmatching(g) mincover(g) 2 maxmatching(g) Deduce a (polynomial-time) 2-approximation algorithm for computing mincover(g) N. Nisse Graph Theory and applications 7/19
Approx: Max. Matching vs. Min. Vertex Cover Solution of previous exercise Theorem: for any graph G maxmatching(g) mincover(g) 2 maxmatching(g) Proof: Let K V be a cover of G and M E be a matching of G. By definition of K : K e /0 for any e M Moreover, by definition of M, e f = /0 for any e,f M M K. Let M E be a maximum matching of G Then K = {v e M,v e} is a cover of G (if not, M is not maximum) mincover(g) K = 2 M N. Nisse Graph Theory and applications 8/19
Outline 1 Approximation Algorithms 2 Example: Max. Matching vs. Min. Vertex Cover 3 Approximation algorithms using Fractional Relaxation Vertex Cover Set Cover N. Nisse Graph Theory and applications 9/19
Approximation via Fractional Relaxation Reminder: Idea: Integer Linear Programs often hard to solve (NP-hard). Linear Programs (with real numbers) easier to solve (polynomial-time algorithms). 1- Relax the integrality constraints; 2- Solve the (fractional) linear program and then; 3- Round the solution to obtain an integral solution. N. Nisse Graph Theory and applications 10/19
2-Approximation for Vertex Cover using LP Let G = (V,E) be a graph Vertex Cover: set K V such that e E, e K /0 set of vertices that touch" every edge Integer Linear programme (ILP): Min. x v v V s.t.: x v + x u 1 {u,v} E x v {0,1} v V Fractional relaxation (LP): Min. x v v V s.t.: x v + x u 1 {u,v} E x v 0 v V Exercise: Prove that the LP has an half-integral optimal solution (i.e., x v {0,1/2,1}) Exercise: Deduce a 2-approximation algorithm for Min. Vertex Cover N. Nisse Graph Theory and applications 11/19
2-Approximation for Vertex Cover using LP Let G = (V,E) be a graph Vertex Cover: set K V such that e E, e K /0 set of vertices that touch" every edge Integer Linear programme (ILP): Min. x v v V s.t.: x v + x u 1 {u,v} E x v {0,1} v V Fractional relaxation (LP): Min. x v v V s.t.: x v + x u 1 {u,v} E x v 0 v V Exercise: Prove that the LP has an half-integral optimal solution (i.e., x v {0,1/2,1}) Exercise: Deduce a 2-approximation algorithm for Min. Vertex Cover N. Nisse Graph Theory and applications 11/19
2-Approximation for Vertex Cover using LP Let G = (V,E) be a graph Vertex Cover: set K V such that e E, e K /0 set of vertices that touch" every edge Integer Linear programme (ILP): Min. x v v V s.t.: x v + x u 1 {u,v} E x v {0,1} v V Fractional relaxation (LP): Min. x v v V s.t.: x v + x u 1 {u,v} E x v 0 v V Exercise: Prove that the LP has an half-integral optimal solution (i.e., x v {0,1/2,1}) Exercise: Deduce a 2-approximation algorithm for Min. Vertex Cover N. Nisse Graph Theory and applications 11/19
2-Approximation for Vertex Cover using LP Theorem: Fractional Vertex Cover has an half-integral optimal solution Proof: y: optimal solution with the largest number of coordinates in {0, 1/2, 1}. For purpose of contradiction: y not half-integral: Set ε = min{y v, y v 1 2,1 y v v V and y v / {0,1/2,1}}. Consider y and y, feasible solutions, defined as follows: y v ε, if 0 < y v < 1 y v 2, = y v + ε, if 1 2 < y v < 1, y v, otherwise. and y v = y v + ε, if 0 < y v < 1 2, y v ε, if 1 2 < y v < 1, y v, otherwise. v V y v = 1 2 ( v V y v + v V y v ). y and y are also optimal solutions. By choice of ε, y and y has more coordinates in {0,1/2,1} than y, a contradiction. Theorem: 2-Approximation of Vertex Cover Proof: First solve FRACTIONAL VERTEX COVER and derive an half-integral optimal solution y f to it. Define y by y v = 1 if and only if y f v {1/2;1}, i.e., y v = y f v Clearly, y is an admissible solution of VERTEX COVER. Moreover, by definition y v 2 yv f = 2 ν f (G) 2 ν(g). v V v V N. Nisse Graph Theory and applications 12/19
Set Cover Problem: Given a universe U of n elements, a collection of subsets of U, = S 1,...,S k, and a cost function c : S Q +, find a minimum cost subcollection of S that covers all elements of U. Model numerous classical problems as special cases of set cover: vertex cover, minimum cost shortest path... Definition: The frequency of an element is the number of sets it is in. The frequency of the most frequent element is denoted by f. Various approximation algorithms for set cover achieve one of the two factors O(logn) or f. N. Nisse Graph Theory and applications 13/19
Fractional relaxation Write a linear program to solve set cover. Var.: x S = 1 if S picked in C, x S = 0 otherwise Var.: 1 x S 0 min S c(s)x S min S c(s)x S s. t. S:e S x S 1 ( e U) x S {0,1} ( S ) s. t. S:e S x S 1 ( e U) x S 0 ( S ) N. Nisse Graph Theory and applications 14/19
Fractional relaxation Write a linear program to solve set cover. Var.: x S = 1 if S picked in C, x S = 0 otherwise Var.: 1 x S 0 min S c(s)x S min S c(s)x S s. t. S:e S x S 1 ( e U) x S {0,1} ( S ) s. t. S:e S x S 1 ( e U) x S 0 ( S ) N. Nisse Graph Theory and applications 14/19
Fractional relaxation Write a linear program to solve set cover. Var.: x S = 1 if S picked in C, x S = 0 otherwise Var.: 1 x S 0 min S c(s)x S min S c(s)x S s. t. S:e S x S 1 ( e U) x S {0,1} ( S ) s. t. S:e S x S 1 ( e U) x S 0 ( S ) N. Nisse Graph Theory and applications 14/19
Fractional relaxation The (fractional) optimal solution of the relaxation is a lower bound of the optimal solution of the original integer linear program. Example in which a fractional set cover may be cheaper than the optimal integral set cover: Input: U = {e,f,g} and the specified sets S 1 = {e,f}, S 2 = {f,g}, S 3 = {e,g}, each of unit cost. An integral cover of cost 2 (must pick two of the sets). A fractional cover of cost 3/2 (each set picked to the extent of 1/2). N. Nisse Graph Theory and applications 15/19
Fractional relaxation The (fractional) optimal solution of the relaxation is a lower bound of the optimal solution of the original integer linear program. Example in which a fractional set cover may be cheaper than the optimal integral set cover: Input: U = {e,f,g} and the specified sets S 1 = {e,f}, S 2 = {f,g}, S 3 = {e,g}, each of unit cost. An integral cover of cost 2 (must pick two of the sets). A fractional cover of cost 3/2 (each set picked to the extent of 1/2). N. Nisse Graph Theory and applications 15/19
A simple rounding algorithm Algorithm: 1- Find an optimal solution to the LP-relaxation. 2- (Rounding) Pick all sets S for which x S 1/f in this solution. N. Nisse Graph Theory and applications 16/19
Theorem: The algorithm achieves an approximation factor of f for the set cover problem. Proof: To be proved: 1) All elements are covered. 2) The cover returned by the algorithm is of cost at most f OPT Proofs: proof of 1) All elements are covered. e is in at most f sets, thus one of this set must be picked to the extent of at least 1/f in the fractional cover. proof of 2) The rounding process increases x S by a factor of at most f. Therefore, the cost of C is at most f times the cost of the fractional cover. OPT f OPT f OPT f N. Nisse Graph Theory and applications 17/19
Theorem: The algorithm achieves an approximation factor of f for the set cover problem. Proof: To be proved: 1) All elements are covered. 2) The cover returned by the algorithm is of cost at most f OPT Proofs: proof of 1) All elements are covered. e is in at most f sets, thus one of this set must be picked to the extent of at least 1/f in the fractional cover. proof of 2) The rounding process increases x S by a factor of at most f. Therefore, the cost of C is at most f times the cost of the fractional cover. OPT f OPT f OPT f N. Nisse Graph Theory and applications 17/19
Theorem: The algorithm achieves an approximation factor of f for the set cover problem. Proof: To be proved: 1) All elements are covered. 2) The cover returned by the algorithm is of cost at most f OPT Proofs: proof of 1) All elements are covered. e is in at most f sets, thus one of this set must be picked to the extent of at least 1/f in the fractional cover. proof of 2) The rounding process increases x S by a factor of at most f. Therefore, the cost of C is at most f times the cost of the fractional cover. OPT f OPT f OPT f N. Nisse Graph Theory and applications 17/19
Theorem: The algorithm achieves an approximation factor of f for the set cover problem. Proof: To be proved: 1) All elements are covered. 2) The cover returned by the algorithm is of cost at most f OPT Proofs: proof of 1) All elements are covered. e is in at most f sets, thus one of this set must be picked to the extent of at least 1/f in the fractional cover. proof of 2) The rounding process increases x S by a factor of at most f. Therefore, the cost of C is at most f times the cost of the fractional cover. OPT f OPT f OPT f N. Nisse Graph Theory and applications 17/19
Randomized rounding Idea: View the optimal fractional solutions as probabilities. Algorithm: Flip coins with biases and round accordingly (S is in the cover with probability x S ). Repeat the rouding O(log n) times. This leads to an O(log n) factor randomized approximation algorithm. That is The set is covered with high probability. The cover has expected cost: O(log n)opt. N. Nisse Graph Theory and applications 18/19
Take Aways Fractional relaxation is a method to obtain for some problems: Lower bounds on the optimal solution of an integer linear program (minimization). Remark: Used in Branch & Bound algorithms to cut branches. Polynomial approximation algorithms (with rounding). Complexity: Integer linear programs are often hard. (Fractional) linear programs are quicker to solve (polynomial time). N. Nisse Graph Theory and applications 19/19