SlideShare a Scribd company logo
Approximation Algorithms 
Jhoirene B Clemente 
Algorithms and Complexity Lab 
Department of Computer Science 
University of the Philippines Diliman 
October 14, 2014
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Overview 
1. Combinatorial Optimization Problems 
2. NP-Hard Problems 
2.1 Clique 
2.2 Independent Set Problem 
2.3 Vertex Cover 
2.4 Traveling Salesman Problem 
3. Approaches in Solving Hard Problems 
4. Approximation Algorithms 
5. Approximable Problems 
6. Inapproximable Problems
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
3 Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Optimization Problems 
[Papadimitriou and Steiglitz, 1998] 
Definition (Instance of an Optimization Problem) 
An instance of an optimization problem is a pair (F, c), where F 
is any set, the domain of feasible points; c is the cost function, a 
mapping 
c : F ! R 
The problem is to find an f 2 F for which 
c(f )  c(y) 8 y 2 F 
Such a point f is called a globally optimal solution to the given 
instance, or, when no confusion can arise, simply an optimal 
solution.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
3 Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Optimization Problems 
[Papadimitriou and Steiglitz, 1998] 
Definition (Instance of an Optimization Problem) 
An instance of an optimization problem is a pair (F, c), where F 
is any set, the domain of feasible points; c is the cost function, a 
mapping 
c : F ! R 
The problem is to find an f 2 F for which 
c(f )  c(y) 8 y 2 F 
Such a point f is called a globally optimal solution to the given 
instance, or, when no confusion can arise, simply an optimal 
solution. 
Definition (Optimization Problem) 
An optimization problem is a set of instances of an optimization 
problem.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
4 Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Optimization Problems 
[Papadimitriou and Steiglitz, 1998] 
Two categories 
1. with continuous variables, where we look for a set of real 
numbers or a function 
2. with discrete variables, which we call combinatorial, where 
we look for an object from a finite, or possibly countably 
infinite set, typically an integer, set, permutation, or graph.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
5 Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Combinatorial Optimization Problem 
Definition (Combinatorial Optimization Problem 
[Papadimitriou and Steiglitz, 1998]) 
An optimization problem  = (D,R, cost, goal) consists of 
1. A set of valid instances D. Let I 2 D, denote an input 
instance. 
2. Each I 2 D has a set of feasible solutions, R(I ). 
3. Objective function, cost, that assigns a nonnegative 
rational number to each pair (I , SOL), where I is an instance 
and SOL is a feasible solution to I. 
4. Either minimization or maximization problem: 
goal 2 {min, max}.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
6 Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
NP-Hard Problems 
1. Clique Problem 
2. Independent Set Problem 
3. Vertex Cover Problem 
4. Traveling Salesman Problem
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
7 Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Max Clique Problem 
Definition (Max Clique Problem) 
Given a complete weighted graph, find the largest clique
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
7 Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Max Clique Problem 
Definition (Max Clique Problem) 
Given a complete weighted graph, find the largest clique 
Theorem 
Max Clique is NP-hard [Garey and Johnson, 1979].
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
7 Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Max Clique Problem 
Definition (Max Clique Problem) 
Given a complete weighted graph, find the largest clique 
Theorem 
Max Clique is NP-hard [Garey and Johnson, 1979]. 
Proposition 
The decision variant of MAX-SAT is NP-Complete 
[Garey and Johnson, 1979].
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
8 Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Max Clique Reduction from SAT 
Example 
(a _ b _ c) ^ (b _ ¯c _ ¯d) ^ (¯a _ c _ d) ^ (a _¯b 
_ ¯d)
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
9 Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Max Clique Reduction from SAT
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
10 Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Independent Set 
Definition (Max Independent Set Problem) 
Given a complete weighted graph, find the largest independent set
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
10 Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Independent Set 
Definition (Max Independent Set Problem) 
Given a complete weighted graph, find the largest independent set 
Theorem 
Independent Set Problem is NP-hard [Garey and Johnson, 1979].
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
11 Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Vertex Cover Problem 
Definition (Min Vertex Cover Problem) 
Given a complete weighted graph, find the minimum vertex cover.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
11 Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Vertex Cover Problem 
Definition (Min Vertex Cover Problem) 
Given a complete weighted graph, find the minimum vertex cover. 
Theorem 
Vertex Cover Problem is NP-hard [Garey and Johnson, 1979].
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
12 Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Traveling Salesman Problem (TSP) 
Definition 
INPUT: Edge weighted Graph G = (V,E) 
OUTPUT: Minimum cost Hamiltonian Cycle.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
13 Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approaches in Solving NP-hard Problems 
I Exact algorithm always obtain the optimal solution 
I Approximation algorithm settle for good enough solutions. 
Goodness of solution is guaranteed and measured using 
approximation ratio. 
I Heuristic algorithms produce solutions, which are not 
guaranteed to be close to the optimum. The performance of 
heuristics is often evaluated empirically.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
14 Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approaches in Solving NP-hard Problems 
Design technique have a well specified structure that even 
provides a framework for possible implementations 
Concepts formulate ideas and rough frameworks about how to 
attack hard algorithmic problems .
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
14 Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approaches in Solving NP-hard Problems 
Design technique have a well specified structure that even 
provides a framework for possible implementations 
I Dynamic Programming 
I Greedy Schema 
I Divide and conquer 
I Branch and Bound 
I Local search 
I . . . 
Concepts formulate ideas and rough frameworks about how to 
attack hard algorithmic problems . 
I Approximation Algorithms 
I Parameterized Algorithms 
I Randomized Algorithms 
I . . .
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
15 Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximation Algorithms 
Definition (Approximation Algorithm 
[Williamson and Shmoy, 2010] ) 
An -approximation algorithm for an optimization problem is a 
polynomial-time algorithm that for all instances of the problem 
produces a solution whose value is within a factor of  of the 
value of an optimal solution. 
Given an problem instance I with an optimal solution Opt(I ), i.e. 
the cost function cost(Opt(I )) is minimum/maximum.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
15 Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximation Algorithms 
Definition (Approximation Algorithm 
[Williamson and Shmoy, 2010] ) 
An -approximation algorithm for an optimization problem is a 
polynomial-time algorithm that for all instances of the problem 
produces a solution whose value is within a factor of  of the 
value of an optimal solution. 
Given an problem instance I with an optimal solution Opt(I ), i.e. 
the cost function cost(Opt(I )) is minimum/maximum. 
I An algorithm for a minimization problem is called 
-approximative algorithm for some   1, if the algorithm 
obtains a maximum cost of  · cost(Opt(I )), for any input 
instance I .
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
15 Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximation Algorithms 
Definition (Approximation Algorithm 
[Williamson and Shmoy, 2010] ) 
An -approximation algorithm for an optimization problem is a 
polynomial-time algorithm that for all instances of the problem 
produces a solution whose value is within a factor of  of the 
value of an optimal solution. 
Given an problem instance I with an optimal solution Opt(I ), i.e. 
the cost function cost(Opt(I )) is minimum/maximum. 
I An algorithm for a minimization problem is called 
-approximative algorithm for some   1, if the algorithm 
obtains a maximum cost of  · cost(Opt(I )), for any input 
instance I . 
I An algorithm for a maximization problem is called 
-approximative algorithm, for some   1, if the algorithm 
obtains a minimum cost of  · cost(Opt(I )), for any input 
instance I .
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
16 Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximation Ratio 
I Minimization,   1 
cost(Opt(I ))  cost(SOL)   cost(Opt(I )) 
I Maximization,   1 
 cost(Opt(I ))  cost(SOL)  cost(Opt(I ))
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
17 Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximation Ratio 
I Additive Approximation Algorithms: 
SOL  OPT + c 
I Constant Approximation Algorithms: 
SOL  c · OPT 
I Logarithmic Approximation Algorithms: 
SOL = O(log n) · OPT 
I Polynomial Approximation Algorithms: 
SOL = O(nc) · OPT, 
where c  1
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
18 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Example: Vertex Cover Problem 
Definition (Vertex Cover [Vazirani, 2001] ) 
Given a graph G = (V,E), a vertex cover is a subset C  V 
such that every edge has at least one end point incident at C.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
18 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Example: Vertex Cover Problem 
Definition (Vertex Cover [Vazirani, 2001] ) 
Given a graph G = (V,E), a vertex cover is a subset C  V 
such that every edge has at least one end point incident at C.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
18 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Example: Vertex Cover Problem 
Definition (Vertex Cover [Vazirani, 2001] ) 
Given a graph G = (V,E), a vertex cover is a subset C  V 
such that every edge has at least one end point incident at C. 
Definition (Minimum Vertex Cover Problem) 
Given a complete weighted graph G = (V,E), find a minimum 
cardinality vertex cover C.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
19 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Maximal Matching 
Definition (Matchings) 
Given a graph G = (V,E), a subset M  E is called a matching 
if no two edges in M are adjacent in G. 
Figure : (a) Maximal matching (b) Perfect matching
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
20 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
2-Approximation Algorithm 
1. Find a maximal matching in G, and output the set of 
matched vertices. 
Algorithm 1: 2-Approximation Algorithm for minimum vector 
cover problem
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
21 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
2-Approximation Algorithm 
Theorem 
Algorithm 1 is a 2-approximation algorithm.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
21 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
2-Approximation Algorithm 
Theorem 
Algorithm 1 is a 2-approximation algorithm. 
Proof. 
Let M be a maximal matching in G = (V,E) and OPT be the 
minimum vertex cover in G, then 
|M|  |OPT| 
The cover picked by the algorithm has cardinality |SOL|  2 · |M|. 
|SOL|  2 · |OPT|
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
22 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
2-Approximation Algorithm 
Example:
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
22 Vertex Cover 
Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
2-Approximation Algorithm 
Example:
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
23 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Solving Traveling Salesman Problem 
INPUT: Edge weighted graph 
1. Compute a Minimum Spanning Tree for G 
2. Select a vertex r 2 V(G) to be the root vertex 
3. Let L be the list of vertices visited in a preorder walk 
OUTPUT: Hamiltonian Cycle that visits 
A preorder tree walk recursively visits every vertex in the 
tree, listing a vertex when it is first encountered , before 
any of its children are visited.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
24 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
25 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
26 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
27 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
28 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
29 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
30 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
31 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
32 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
33 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
34 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Computing the Minimum Spanning Tree
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
35 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
36 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
37 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
38 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
39 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
40 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
41 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Preorder
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
42 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Hamiltonian Cycle from the Preorder Walk
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
43 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Hamiltonian Cycle from the Preorder Walk 
4 + 4 + 10 + 15 + 10 + 16 = 59
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
44 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Total tour cost vs. the optimal cost 
Let H denote an optimal Hamiltonian tour in G. Let T be the 
minimum spanning tree of G. 
c(T)  c(H) 
Let W be the full length cost of the preorder walk. 
c(W) = 2c(T) 
Let H be the output Hamiltonian Cycle from the algorithm 
c(W)  c(H) 
Then 
c(H)  2c(H)
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
44 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Total tour cost vs. the optimal cost 
Let H denote an optimal Hamiltonian tour in G. Let T be the 
minimum spanning tree of G. 
c(T)  c(H) 
Let W be the full length cost of the preorder walk. 
c(W) = 2c(T) 
Let H be the output Hamiltonian Cycle from the algorithm 
c(W)  c(H) 
Then 
c(H)  2c(H) 
Approximation ratio () is 2
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
45 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximable Problems [Vazirani, 2001] 
Definition (APX) 
I An abbreviation for “Approximable, is the set of NP 
optimization problems that allow polynomial-time 
approximation algorithms with approximation ratio bounded 
by a constant.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
45 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximable Problems [Vazirani, 2001] 
Definition (APX) 
I An abbreviation for “Approximable, is the set of NP 
optimization problems that allow polynomial-time 
approximation algorithms with approximation ratio bounded 
by a constant. 
I Problems in this class have efficient algorithms that can find 
an answer within some fixed percentage of the optimal 
answer.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
46 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Polynomial-time Approximation Schemes 
Definition (PTAS [Aaronson et al., 2008]) 
The subclass of NPO problems that admit an approximation 
scheme in the following sense. 
For any   0, there is a polynomial-time algorithm that is 
guaranteed to find a solution whose cost is within a 1 +  factor 
of the optimum cost. Contains FPTAS, and is contained in APX.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
46 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Polynomial-time Approximation Schemes 
Definition (PTAS [Aaronson et al., 2008]) 
The subclass of NPO problems that admit an approximation 
scheme in the following sense. 
For any   0, there is a polynomial-time algorithm that is 
guaranteed to find a solution whose cost is within a 1 +  factor 
of the optimum cost. Contains FPTAS, and is contained in APX. 
Definition (FPTAS [Aaronson et al., 2008] ) 
The subclass of NPO problems that admit an approximation 
scheme in the following sense. 
For any   0, there is an algorithm that is guaranteed to find a 
solution whose cost is within a 1 +  factor of the optimum cost. 
Furthermore, the running time of the algorithm is polynomial in n 
(the size of the problem) and in 1/.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
47 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Approximation Ratio of well known Hard 
Problems 
1. FPTAS: Bin Packing Problem 
2. PTAS: Makespan Scheduling Problem 
3. APX: 
3.1 Min Steiner Tree Problem (1.55 Approximable) [Robins,2005] 
3.2 Min Metric TSP (3/2 Approximable) [Christofides,1977] 
3.3 Max SAT (0.77 Approximable) [Asano,1997] 
3.4 Vertex Cover (2 Approximable) [Vazirani,2001] 
4. MAX SNP 
4.1 Independent Set Problem 
4.2 Clique Problem 
4.3 Travelling Salesman Problem
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
48 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Complexity Classes [Ausiello et al., 2011] 
FPTAS ( PTAS ( APX ( NPO
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
49 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Inapproximable Problems 
Many problems have polynomial-time approximation schemes. 
However, there exists a class of problems that is not so easy 
[Williamson and Shmoy, 2010]. This class is called MAX SNP. 
Theorem 
For any MAXSNP-hard problem, there does not exist a 
polynomial-time approximation scheme, unless P = NP 
[Williamson and Shmoy, 2010].
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
49 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Inapproximable Problems 
Many problems have polynomial-time approximation schemes. 
However, there exists a class of problems that is not so easy 
[Williamson and Shmoy, 2010]. This class is called MAX SNP. 
Theorem 
For any MAXSNP-hard problem, there does not exist a 
polynomial-time approximation scheme, unless P = NP 
[Williamson and Shmoy, 2010].
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
49 Traveling Salesman Problem 
References 
CS 397 
October 14, 2014 
Inapproximable Problems 
Many problems have polynomial-time approximation schemes. 
However, there exists a class of problems that is not so easy 
[Williamson and Shmoy, 2010]. This class is called MAX SNP. 
Theorem 
For any MAXSNP-hard problem, there does not exist a 
polynomial-time approximation scheme, unless P = NP 
[Williamson and Shmoy, 2010]. 
Theorem 
If P6= NP, then for any constant   1, there is no 
polynomial-time approximation algorithm with approximation 
ratio  for the general travelling salesman problem.
50 
Approximation 
Algorithms 
Jhoirene B Clemente 
Optimization Problems 
Hard Combinatorial 
Optimization Problems 
Clique 
Independent Set Problem 
Vertex Cover 
Approaches in Solving 
Hard Problems 
Approximation 
Algorithms 
Vertex Cover 
Traveling Salesman Problem 
50 References 
CS 397 
October 14, 2014 
References I 
Aaronson, S., Kuperberg, G., and Granade, C. (2008). 
The complexity zoo.

More Related Content

PPTX
Presentation of daa on approximation algorithm and vertex cover problem
PDF
Approximation Algorithms
PPTX
NP completeness
PPTX
Approximation algorithms
PPTX
Brute force method
PPT
Randomized algorithms ver 1.0
PPT
Np completeness
PPTX
Knowledge representation and Predicate logic
Presentation of daa on approximation algorithm and vertex cover problem
Approximation Algorithms
NP completeness
Approximation algorithms
Brute force method
Randomized algorithms ver 1.0
Np completeness
Knowledge representation and Predicate logic

What's hot (20)

PPT
Sum of subsets problem by backtracking 
PPTX
Vertex cover Problem
PPTX
Np completeness-Design and Analysis of Algorithms
PDF
9. chapter 8 np hard and np complete problems
PDF
All pairs shortest path algorithm
PDF
Undecidabality
PDF
Recurrent Neural Networks
PPT
Genetic algorithm
PPTX
Genetic Algorithm
PPTX
Tsp branch and-bound
PPTX
A petri-net
PDF
Design and analysis of algorithms
PDF
What is the Expectation Maximization (EM) Algorithm?
PPTX
Dynamic programming
PPT
Chap8 new
PDF
Understanding Bagging and Boosting
PDF
P, NP, NP-Complete, and NP-Hard
PPTX
Computability and Complexity
PPT
Introduction to NP Completeness
Sum of subsets problem by backtracking 
Vertex cover Problem
Np completeness-Design and Analysis of Algorithms
9. chapter 8 np hard and np complete problems
All pairs shortest path algorithm
Undecidabality
Recurrent Neural Networks
Genetic algorithm
Genetic Algorithm
Tsp branch and-bound
A petri-net
Design and analysis of algorithms
What is the Expectation Maximization (EM) Algorithm?
Dynamic programming
Chap8 new
Understanding Bagging and Boosting
P, NP, NP-Complete, and NP-Hard
Computability and Complexity
Introduction to NP Completeness
Ad

Similar to Introduction to Approximation Algorithms (20)

PDF
Reoptimization techniques for solving hard problems
PDF
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
PDF
A Regularized Simplex Method
PDF
Reoptimization Algorithms and Persistent Turing Machines
PPT
Analysis of Algorithm
PDF
PDF
Low Rank Optimisation, by Irène Waldspurger
PPT
Introduction to Optimization revised.ppt
PDF
LP linear programming (summary) (5s)
PPT
Primal Dual
PPTX
Basic presentation of convex optimization 2018.pptx
DOCX
Mb0048 operations research
PPTX
Approximation
PDF
Fine Grained Complexity
PPT
Support Vector Machines
PPT
Primal Dual
PPT
Approx
PDF
Molodtsov's Soft Set Theory and its Applications in Decision Making
PDF
Molodtsov's Soft Set Theory and its Applications in Decision Making
PDF
Boyd 4.6, 4.7
Reoptimization techniques for solving hard problems
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
A Regularized Simplex Method
Reoptimization Algorithms and Persistent Turing Machines
Analysis of Algorithm
Low Rank Optimisation, by Irène Waldspurger
Introduction to Optimization revised.ppt
LP linear programming (summary) (5s)
Primal Dual
Basic presentation of convex optimization 2018.pptx
Mb0048 operations research
Approximation
Fine Grained Complexity
Support Vector Machines
Primal Dual
Approx
Molodtsov's Soft Set Theory and its Applications in Decision Making
Molodtsov's Soft Set Theory and its Applications in Decision Making
Boyd 4.6, 4.7
Ad

Recently uploaded (20)

PDF
HPLC-PPT.docx high performance liquid chromatography
PDF
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
PDF
bbec55_b34400a7914c42429908233dbd381773.pdf
PPTX
LESSON 3_States of Matter and Particle Arrangement and Phase Changes.pptx
PDF
Coordination Chemistry(Part-I) - Notes.pdf
PDF
Agricultural Extension Presentation Slides
PDF
NEET 2025 Megaa Solved Papers Collection
PDF
AlphaEarth Foundations and the Satellite Embedding dataset
PPTX
Derivatives of integument scales, beaks, horns,.pptx
PPTX
neck nodes and dissection types and lymph nodes levels
PPTX
1.pptx 2.pptx for biology endocrine system hum ppt
PDF
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
PPT
oscillatoria known as blue -green algae
PPTX
Animal Cell and plant cell for junior high school
DOCX
The beginnings of Microbiology (discovery, development, scope, Identification...
PPTX
Comparative Structure of Integument in Vertebrates.pptx
PDF
N-enhancement in GN-z11: First evidence for supermassive stars nucleosynthesi...
PDF
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
PPTX
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
PPTX
Excretory System in insects ( PPT Presentation)
HPLC-PPT.docx high performance liquid chromatography
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
bbec55_b34400a7914c42429908233dbd381773.pdf
LESSON 3_States of Matter and Particle Arrangement and Phase Changes.pptx
Coordination Chemistry(Part-I) - Notes.pdf
Agricultural Extension Presentation Slides
NEET 2025 Megaa Solved Papers Collection
AlphaEarth Foundations and the Satellite Embedding dataset
Derivatives of integument scales, beaks, horns,.pptx
neck nodes and dissection types and lymph nodes levels
1.pptx 2.pptx for biology endocrine system hum ppt
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
oscillatoria known as blue -green algae
Animal Cell and plant cell for junior high school
The beginnings of Microbiology (discovery, development, scope, Identification...
Comparative Structure of Integument in Vertebrates.pptx
N-enhancement in GN-z11: First evidence for supermassive stars nucleosynthesi...
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
Excretory System in insects ( PPT Presentation)

Introduction to Approximation Algorithms

  • 1. Approximation Algorithms Jhoirene B Clemente Algorithms and Complexity Lab Department of Computer Science University of the Philippines Diliman October 14, 2014
  • 2. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Overview 1. Combinatorial Optimization Problems 2. NP-Hard Problems 2.1 Clique 2.2 Independent Set Problem 2.3 Vertex Cover 2.4 Traveling Salesman Problem 3. Approaches in Solving Hard Problems 4. Approximation Algorithms 5. Approximable Problems 6. Inapproximable Problems
  • 3. 50 Approximation Algorithms Jhoirene B Clemente 3 Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Optimization Problems [Papadimitriou and Steiglitz, 1998] Definition (Instance of an Optimization Problem) An instance of an optimization problem is a pair (F, c), where F is any set, the domain of feasible points; c is the cost function, a mapping c : F ! R The problem is to find an f 2 F for which c(f ) c(y) 8 y 2 F Such a point f is called a globally optimal solution to the given instance, or, when no confusion can arise, simply an optimal solution.
  • 4. 50 Approximation Algorithms Jhoirene B Clemente 3 Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Optimization Problems [Papadimitriou and Steiglitz, 1998] Definition (Instance of an Optimization Problem) An instance of an optimization problem is a pair (F, c), where F is any set, the domain of feasible points; c is the cost function, a mapping c : F ! R The problem is to find an f 2 F for which c(f ) c(y) 8 y 2 F Such a point f is called a globally optimal solution to the given instance, or, when no confusion can arise, simply an optimal solution. Definition (Optimization Problem) An optimization problem is a set of instances of an optimization problem.
  • 5. 50 Approximation Algorithms Jhoirene B Clemente 4 Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Optimization Problems [Papadimitriou and Steiglitz, 1998] Two categories 1. with continuous variables, where we look for a set of real numbers or a function 2. with discrete variables, which we call combinatorial, where we look for an object from a finite, or possibly countably infinite set, typically an integer, set, permutation, or graph.
  • 6. 50 Approximation Algorithms Jhoirene B Clemente 5 Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Combinatorial Optimization Problem Definition (Combinatorial Optimization Problem [Papadimitriou and Steiglitz, 1998]) An optimization problem = (D,R, cost, goal) consists of 1. A set of valid instances D. Let I 2 D, denote an input instance. 2. Each I 2 D has a set of feasible solutions, R(I ). 3. Objective function, cost, that assigns a nonnegative rational number to each pair (I , SOL), where I is an instance and SOL is a feasible solution to I. 4. Either minimization or maximization problem: goal 2 {min, max}.
  • 7. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems 6 Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 NP-Hard Problems 1. Clique Problem 2. Independent Set Problem 3. Vertex Cover Problem 4. Traveling Salesman Problem
  • 8. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems 7 Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Max Clique Problem Definition (Max Clique Problem) Given a complete weighted graph, find the largest clique
  • 9. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems 7 Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Max Clique Problem Definition (Max Clique Problem) Given a complete weighted graph, find the largest clique Theorem Max Clique is NP-hard [Garey and Johnson, 1979].
  • 10. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems 7 Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Max Clique Problem Definition (Max Clique Problem) Given a complete weighted graph, find the largest clique Theorem Max Clique is NP-hard [Garey and Johnson, 1979]. Proposition The decision variant of MAX-SAT is NP-Complete [Garey and Johnson, 1979].
  • 11. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems 8 Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Max Clique Reduction from SAT Example (a _ b _ c) ^ (b _ ¯c _ ¯d) ^ (¯a _ c _ d) ^ (a _¯b _ ¯d)
  • 12. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems 9 Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Max Clique Reduction from SAT
  • 13. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique 10 Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Independent Set Definition (Max Independent Set Problem) Given a complete weighted graph, find the largest independent set
  • 14. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique 10 Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Independent Set Definition (Max Independent Set Problem) Given a complete weighted graph, find the largest independent set Theorem Independent Set Problem is NP-hard [Garey and Johnson, 1979].
  • 15. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem 11 Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Vertex Cover Problem Definition (Min Vertex Cover Problem) Given a complete weighted graph, find the minimum vertex cover.
  • 16. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem 11 Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Vertex Cover Problem Definition (Min Vertex Cover Problem) Given a complete weighted graph, find the minimum vertex cover. Theorem Vertex Cover Problem is NP-hard [Garey and Johnson, 1979].
  • 17. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem 12 Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Traveling Salesman Problem (TSP) Definition INPUT: Edge weighted Graph G = (V,E) OUTPUT: Minimum cost Hamiltonian Cycle.
  • 18. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover 13 Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approaches in Solving NP-hard Problems I Exact algorithm always obtain the optimal solution I Approximation algorithm settle for good enough solutions. Goodness of solution is guaranteed and measured using approximation ratio. I Heuristic algorithms produce solutions, which are not guaranteed to be close to the optimum. The performance of heuristics is often evaluated empirically.
  • 19. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover 14 Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approaches in Solving NP-hard Problems Design technique have a well specified structure that even provides a framework for possible implementations Concepts formulate ideas and rough frameworks about how to attack hard algorithmic problems .
  • 20. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover 14 Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approaches in Solving NP-hard Problems Design technique have a well specified structure that even provides a framework for possible implementations I Dynamic Programming I Greedy Schema I Divide and conquer I Branch and Bound I Local search I . . . Concepts formulate ideas and rough frameworks about how to attack hard algorithmic problems . I Approximation Algorithms I Parameterized Algorithms I Randomized Algorithms I . . .
  • 21. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems 15 Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approximation Algorithms Definition (Approximation Algorithm [Williamson and Shmoy, 2010] ) An -approximation algorithm for an optimization problem is a polynomial-time algorithm that for all instances of the problem produces a solution whose value is within a factor of of the value of an optimal solution. Given an problem instance I with an optimal solution Opt(I ), i.e. the cost function cost(Opt(I )) is minimum/maximum.
  • 22. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems 15 Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approximation Algorithms Definition (Approximation Algorithm [Williamson and Shmoy, 2010] ) An -approximation algorithm for an optimization problem is a polynomial-time algorithm that for all instances of the problem produces a solution whose value is within a factor of of the value of an optimal solution. Given an problem instance I with an optimal solution Opt(I ), i.e. the cost function cost(Opt(I )) is minimum/maximum. I An algorithm for a minimization problem is called -approximative algorithm for some 1, if the algorithm obtains a maximum cost of · cost(Opt(I )), for any input instance I .
  • 23. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems 15 Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approximation Algorithms Definition (Approximation Algorithm [Williamson and Shmoy, 2010] ) An -approximation algorithm for an optimization problem is a polynomial-time algorithm that for all instances of the problem produces a solution whose value is within a factor of of the value of an optimal solution. Given an problem instance I with an optimal solution Opt(I ), i.e. the cost function cost(Opt(I )) is minimum/maximum. I An algorithm for a minimization problem is called -approximative algorithm for some 1, if the algorithm obtains a maximum cost of · cost(Opt(I )), for any input instance I . I An algorithm for a maximization problem is called -approximative algorithm, for some 1, if the algorithm obtains a minimum cost of · cost(Opt(I )), for any input instance I .
  • 24. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems 16 Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approximation Ratio I Minimization, 1 cost(Opt(I )) cost(SOL) cost(Opt(I )) I Maximization, 1 cost(Opt(I )) cost(SOL) cost(Opt(I ))
  • 25. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems 17 Approximation Algorithms Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Approximation Ratio I Additive Approximation Algorithms: SOL OPT + c I Constant Approximation Algorithms: SOL c · OPT I Logarithmic Approximation Algorithms: SOL = O(log n) · OPT I Polynomial Approximation Algorithms: SOL = O(nc) · OPT, where c 1
  • 26. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 18 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Example: Vertex Cover Problem Definition (Vertex Cover [Vazirani, 2001] ) Given a graph G = (V,E), a vertex cover is a subset C V such that every edge has at least one end point incident at C.
  • 27. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 18 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Example: Vertex Cover Problem Definition (Vertex Cover [Vazirani, 2001] ) Given a graph G = (V,E), a vertex cover is a subset C V such that every edge has at least one end point incident at C.
  • 28. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 18 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Example: Vertex Cover Problem Definition (Vertex Cover [Vazirani, 2001] ) Given a graph G = (V,E), a vertex cover is a subset C V such that every edge has at least one end point incident at C. Definition (Minimum Vertex Cover Problem) Given a complete weighted graph G = (V,E), find a minimum cardinality vertex cover C.
  • 29. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 19 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 Maximal Matching Definition (Matchings) Given a graph G = (V,E), a subset M E is called a matching if no two edges in M are adjacent in G. Figure : (a) Maximal matching (b) Perfect matching
  • 30. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 20 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 2-Approximation Algorithm 1. Find a maximal matching in G, and output the set of matched vertices. Algorithm 1: 2-Approximation Algorithm for minimum vector cover problem
  • 31. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 21 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 2-Approximation Algorithm Theorem Algorithm 1 is a 2-approximation algorithm.
  • 32. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 21 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 2-Approximation Algorithm Theorem Algorithm 1 is a 2-approximation algorithm. Proof. Let M be a maximal matching in G = (V,E) and OPT be the minimum vertex cover in G, then |M| |OPT| The cover picked by the algorithm has cardinality |SOL| 2 · |M|. |SOL| 2 · |OPT|
  • 33. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 22 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 2-Approximation Algorithm Example:
  • 34. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms 22 Vertex Cover Traveling Salesman Problem References CS 397 October 14, 2014 2-Approximation Algorithm Example:
  • 35. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 23 Traveling Salesman Problem References CS 397 October 14, 2014 Solving Traveling Salesman Problem INPUT: Edge weighted graph 1. Compute a Minimum Spanning Tree for G 2. Select a vertex r 2 V(G) to be the root vertex 3. Let L be the list of vertices visited in a preorder walk OUTPUT: Hamiltonian Cycle that visits A preorder tree walk recursively visits every vertex in the tree, listing a vertex when it is first encountered , before any of its children are visited.
  • 36. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 24 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 37. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 25 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 38. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 26 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 39. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 27 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 40. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 28 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 41. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 29 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 42. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 30 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 43. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 31 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 44. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 32 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 45. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 33 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 46. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 34 Traveling Salesman Problem References CS 397 October 14, 2014 Computing the Minimum Spanning Tree
  • 47. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 35 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 48. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 36 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 49. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 37 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 50. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 38 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 51. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 39 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 52. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 40 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 53. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 41 Traveling Salesman Problem References CS 397 October 14, 2014 Preorder
  • 54. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 42 Traveling Salesman Problem References CS 397 October 14, 2014 Hamiltonian Cycle from the Preorder Walk
  • 55. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 43 Traveling Salesman Problem References CS 397 October 14, 2014 Hamiltonian Cycle from the Preorder Walk 4 + 4 + 10 + 15 + 10 + 16 = 59
  • 56. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 44 Traveling Salesman Problem References CS 397 October 14, 2014 Total tour cost vs. the optimal cost Let H denote an optimal Hamiltonian tour in G. Let T be the minimum spanning tree of G. c(T) c(H) Let W be the full length cost of the preorder walk. c(W) = 2c(T) Let H be the output Hamiltonian Cycle from the algorithm c(W) c(H) Then c(H) 2c(H)
  • 57. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 44 Traveling Salesman Problem References CS 397 October 14, 2014 Total tour cost vs. the optimal cost Let H denote an optimal Hamiltonian tour in G. Let T be the minimum spanning tree of G. c(T) c(H) Let W be the full length cost of the preorder walk. c(W) = 2c(T) Let H be the output Hamiltonian Cycle from the algorithm c(W) c(H) Then c(H) 2c(H) Approximation ratio () is 2
  • 58. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 45 Traveling Salesman Problem References CS 397 October 14, 2014 Approximable Problems [Vazirani, 2001] Definition (APX) I An abbreviation for “Approximable, is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant.
  • 59. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 45 Traveling Salesman Problem References CS 397 October 14, 2014 Approximable Problems [Vazirani, 2001] Definition (APX) I An abbreviation for “Approximable, is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant. I Problems in this class have efficient algorithms that can find an answer within some fixed percentage of the optimal answer.
  • 60. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 46 Traveling Salesman Problem References CS 397 October 14, 2014 Polynomial-time Approximation Schemes Definition (PTAS [Aaronson et al., 2008]) The subclass of NPO problems that admit an approximation scheme in the following sense. For any 0, there is a polynomial-time algorithm that is guaranteed to find a solution whose cost is within a 1 + factor of the optimum cost. Contains FPTAS, and is contained in APX.
  • 61. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 46 Traveling Salesman Problem References CS 397 October 14, 2014 Polynomial-time Approximation Schemes Definition (PTAS [Aaronson et al., 2008]) The subclass of NPO problems that admit an approximation scheme in the following sense. For any 0, there is a polynomial-time algorithm that is guaranteed to find a solution whose cost is within a 1 + factor of the optimum cost. Contains FPTAS, and is contained in APX. Definition (FPTAS [Aaronson et al., 2008] ) The subclass of NPO problems that admit an approximation scheme in the following sense. For any 0, there is an algorithm that is guaranteed to find a solution whose cost is within a 1 + factor of the optimum cost. Furthermore, the running time of the algorithm is polynomial in n (the size of the problem) and in 1/.
  • 62. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 47 Traveling Salesman Problem References CS 397 October 14, 2014 Approximation Ratio of well known Hard Problems 1. FPTAS: Bin Packing Problem 2. PTAS: Makespan Scheduling Problem 3. APX: 3.1 Min Steiner Tree Problem (1.55 Approximable) [Robins,2005] 3.2 Min Metric TSP (3/2 Approximable) [Christofides,1977] 3.3 Max SAT (0.77 Approximable) [Asano,1997] 3.4 Vertex Cover (2 Approximable) [Vazirani,2001] 4. MAX SNP 4.1 Independent Set Problem 4.2 Clique Problem 4.3 Travelling Salesman Problem
  • 63. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 48 Traveling Salesman Problem References CS 397 October 14, 2014 Complexity Classes [Ausiello et al., 2011] FPTAS ( PTAS ( APX ( NPO
  • 64. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 49 Traveling Salesman Problem References CS 397 October 14, 2014 Inapproximable Problems Many problems have polynomial-time approximation schemes. However, there exists a class of problems that is not so easy [Williamson and Shmoy, 2010]. This class is called MAX SNP. Theorem For any MAXSNP-hard problem, there does not exist a polynomial-time approximation scheme, unless P = NP [Williamson and Shmoy, 2010].
  • 65. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 49 Traveling Salesman Problem References CS 397 October 14, 2014 Inapproximable Problems Many problems have polynomial-time approximation schemes. However, there exists a class of problems that is not so easy [Williamson and Shmoy, 2010]. This class is called MAX SNP. Theorem For any MAXSNP-hard problem, there does not exist a polynomial-time approximation scheme, unless P = NP [Williamson and Shmoy, 2010].
  • 66. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover 49 Traveling Salesman Problem References CS 397 October 14, 2014 Inapproximable Problems Many problems have polynomial-time approximation schemes. However, there exists a class of problems that is not so easy [Williamson and Shmoy, 2010]. This class is called MAX SNP. Theorem For any MAXSNP-hard problem, there does not exist a polynomial-time approximation scheme, unless P = NP [Williamson and Shmoy, 2010]. Theorem If P6= NP, then for any constant 1, there is no polynomial-time approximation algorithm with approximation ratio for the general travelling salesman problem.
  • 67. 50 Approximation Algorithms Jhoirene B Clemente Optimization Problems Hard Combinatorial Optimization Problems Clique Independent Set Problem Vertex Cover Approaches in Solving Hard Problems Approximation Algorithms Vertex Cover Traveling Salesman Problem 50 References CS 397 October 14, 2014 References I Aaronson, S., Kuperberg, G., and Granade, C. (2008). The complexity zoo.