THE HISTOLOGY OF THE CARDIOVASCULAR SYSTEM 2024.pptx
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.