Presentation is loading. Please wait.

Presentation is loading. Please wait.

An introduction to Approximation Algorithms Presented By Iman Sadeghi.

Similar presentations


Presentation on theme: "An introduction to Approximation Algorithms Presented By Iman Sadeghi."— Presentation transcript:

1 An introduction to Approximation Algorithms Presented By Iman Sadeghi

2 Spring 2003Approximation Algorithmes2 Overview Introduction Introduction Performance ratios Performance ratios The vertex-cover problem The vertex-cover problem Traveling salesman problem Traveling salesman problem Set cover problem Set cover problem

3 Spring 2003Approximation Algorithmes3 Introduction There are many important NP-Complete problems There are many important NP-Complete problems There is no fast solution ! There is no fast solution ! But we want the answer … But we want the answer … If the input is small use backtrack. If the input is small use backtrack. Isolate the problem into P-problems ! Isolate the problem into P-problems ! Find the Near-Optimal solution in polynomial time. Find the Near-Optimal solution in polynomial time.

4 Spring 2003Approximation Algorithmes4 Performance ratios We are going to find a Near-Optimal solution for a given problem. We are going to find a Near-Optimal solution for a given problem. We assume two hypothesis : We assume two hypothesis : Each potential solution has a positive cost. Each potential solution has a positive cost. The problem may be either a maximization or a minimization problem on the cost. The problem may be either a maximization or a minimization problem on the cost.

5 Spring 2003Approximation Algorithmes5 Performance ratios … If for any input of size n, the cost C of the solution produced by the algorithm is within a factor of ρ(n) of the cost C* of an optimal solution: If for any input of size n, the cost C of the solution produced by the algorithm is within a factor of ρ(n) of the cost C* of an optimal solution: Max ( C/C*, C*/C ) ≤ ρ(n) We call this algorithm as an ρ(n)- approximation algorithm. We call this algorithm as an ρ(n)- approximation algorithm.

6 Spring 2003Approximation Algorithmes6 Performance ratios … In Maximization problems: In Maximization problems: 0<C≤C*, ρ(n) = C*/C In Minimization Problems: In Minimization Problems: 0<C*≤C, ρ(n) = C/C* ρ(n) is never less than 1. ρ(n) is never less than 1. A 1-approximation algorithm is the optimal solution. A 1-approximation algorithm is the optimal solution. The goal is to find a polynomial-time approximation algorithm with small constant approximation ratios. The goal is to find a polynomial-time approximation algorithm with small constant approximation ratios.

7 Spring 2003Approximation Algorithmes7 Approximation scheme Approximation scheme is an approximation algorithm that takes Є>0 as an input such that for any fixed Є>0 the scheme is (1+Є)-approximation algorithm. Approximation scheme is an approximation algorithm that takes Є>0 as an input such that for any fixed Є>0 the scheme is (1+Є)-approximation algorithm. Polynomial-time approximation scheme is such algorithm that runs in time polynomial in the size of input. Polynomial-time approximation scheme is such algorithm that runs in time polynomial in the size of input. As the Є decreases the running time of the algorithm can increase rapidly: As the Є decreases the running time of the algorithm can increase rapidly: For example it might be O(n 2/Є ) For example it might be O(n 2/Є )

8 Spring 2003Approximation Algorithmes8 Approximation scheme We have Fully Polynomial-time approximation scheme when its running time is polynomial not only in n but also in 1 / Є We have Fully Polynomial-time approximation scheme when its running time is polynomial not only in n but also in 1 / Є For example it could be O(( 1 / Є ) 3 n 2 ) For example it could be O(( 1 / Є ) 3 n 2 )

9 Spring 2003Approximation Algorithmes9 Some examples: Vertex cover problem. Vertex cover problem. Traveling salesman problem. Traveling salesman problem. Set cover problem. Set cover problem.

10 Spring 2003Approximation Algorithmes10 The vertex-cover problem A vertex-cover of an undirected graph G is a subset of its vertices such that it includes at least one end of each edge. A vertex-cover of an undirected graph G is a subset of its vertices such that it includes at least one end of each edge. The problem is to find minimum size of vertex-cover of the given graph. The problem is to find minimum size of vertex-cover of the given graph. This problem is an NP-Complete problem. This problem is an NP-Complete problem.

11 Spring 2003Approximation Algorithmes11 The vertex-cover problem … Finding the optimal solution is hard (its NP!) but finding a near-optimal solution is easy. Finding the optimal solution is hard (its NP!) but finding a near-optimal solution is easy. There is an 2-approximation algorithm: There is an 2-approximation algorithm: It returns a vertex-cover not more than twice of the size optimal solution. It returns a vertex-cover not more than twice of the size optimal solution.

12 Spring 2003Approximation Algorithmes12 The vertex-cover problem … APPROX-VERTEX-COVER(G) 1 C ← Ø 2 E′ ← E[G] 3 while E′ ≠ Ø 4 do let (u, v) be an arbitrary edge of E′ 5 C ← C U {u, v} 6 remove every edge in E′ incident on u or v 7 return C

13 Spring 2003Approximation Algorithmes13 The vertex-cover problem … Optimal Size=3 Near Optimal size=6

14 Spring 2003Approximation Algorithmes14 The vertex-cover problem … This is a polynomial-time This is a polynomial-time 2-aproximation algorithm. (Why?) Because: Because: APPROX-VERTEX-COVER is O(V+E) APPROX-VERTEX-COVER is O(V+E) |C*| ≥ |A| |C*| ≥ |A| |C| = 2|A| |C| ≤ 2|C*| Optimal Selected Edges Selected Vertices

15 Spring 2003Approximation Algorithmes15 Traveling salesman problem Given an undirected weighted Graph G we are to find a minimum cost Hamiltonian cycle. Given an undirected weighted Graph G we are to find a minimum cost Hamiltonian cycle. Satisfying triangle inequality or not this problem is NP-Complete. Satisfying triangle inequality or not this problem is NP-Complete. We can solve Hamiltonian path. We can solve Hamiltonian path.

16 Spring 2003Approximation Algorithmes16 Traveling salesman problem Exact exponential solution: Exact exponential solution: Branch and bound Branch and bound Lower bound: Lower bound: (sum of two lower degree of vertices)/2

17 Spring 2003Approximation Algorithmes17 Traveling salesman problem A: 2+3 B: 3+3 C: 4+4 D: 2+5 E: 3+6 = 35 Bound: 17,5 d c e ba 74 3 3 5 6 2 6 4

18 Spring 2003Approximation Algorithmes18 Traveling salesman problem 17.5 23 21 23 18 17.5 18.5 20.521 18.5

19 Spring 2003Approximation Algorithmes19 Traveling salesman problem Near Optimal solution Near Optimal solution Faster Faster More easy to impliment. More easy to impliment.

20 Spring 2003Approximation Algorithmes20 Traveling salesman problem with triangle inequality. APPROX-TSP-TOUR(G, c) 1 select a vertex r Є V[G] to be root. 2 compute a MST for G from root r using Prim Alg. 3 L=list of vertices in preorder walk of that MST. 4 return the Hamiltonian cycle H in the order L.

21 Spring 2003Approximation Algorithmes21 Traveling salesman problem with triangle inequality. rootMST Pre-Order walkHamiltonian Cycle

22 Spring 2003Approximation Algorithmes22 Traveling salesman problem This is polynomial-time 2-approximation algorithm. (Why?) This is polynomial-time 2-approximation algorithm. (Why?) Because: Because: APPROX-TSP-TOUR is O(V 2 ) APPROX-TSP-TOUR is O(V 2 ) C(MST) ≤ C(H*) C(MST) ≤ C(H*)C(W)=2C(MST)C(W)≤2C(H*)C(H)≤C(W)C(H)≤2C(H*) Optimal Pre-order Solution

23 Spring 2003Approximation Algorithmes23 Traveling salesman problem In General Theorem: Theorem: If P ≠ NP, then for any constant ρ≥1, there is no polynomial time ρ-approximation algorithm. c(u,w) ={uEw ? 1 : ρ|V|+1} c(u,w) ={uEw ? 1 : ρ|V|+1} ρ|V|+1+|V|-1>ρ|V| Selected edge not in E Rest of edges

24 Spring 2003Approximation Algorithmes24 The set-Cover Generalization of vertex-cover problem. Generalization of vertex-cover problem. We have given (X,F) : We have given (X,F) : X : a finite set of elements. X : a finite set of elements. F : family of subsets of X such that every element of X belongs to at least one subset in F. F : family of subsets of X such that every element of X belongs to at least one subset in F. Solution C : subset of F that Includes all the members of X. Solution C : subset of F that Includes all the members of X.

25 Spring 2003Approximation Algorithmes25 The set-Cover … Minimal Covering set size=3

26 Spring 2003Approximation Algorithmes26 The set-Cover … GREEDY-SET-COVER(X,F) 1 M ← X 2 C ← Ø 3 while M ≠ Ø do 4 select an SЄF that maximizes |S ח M| 5M ← M – S 6C ← C U {S} 7 return C

27 Spring 2003Approximation Algorithmes27 The set-Cover … 3 rd chose 1 st chose 2 nd chose 4 th chose Greedy Covering set size=4

28 Spring 2003Approximation Algorithmes28 This greedy algorithm is polynomial- time ρ(n)-approximation algorithm This greedy algorithm is polynomial- time ρ(n)-approximation algorithm ρ(n)=H(max{|S| : S Є F}) ρ(n)=H(max{|S| : S Є F}) H d H d The proof is beyond of scope of this presentation. The proof is beyond of scope of this presentation. The set-Cover … =∑ i=1 d

29 Spring 2003Approximation Algorithmes29 Any Question? Thank you for your attendance and attention.


Download ppt "An introduction to Approximation Algorithms Presented By Iman Sadeghi."

Similar presentations


Ads by Google