Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input.

Similar presentations


Presentation on theme: "1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input."— Presentation transcript:

1 1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input size is small, exponential algorithm is OK. Isolate important special case and find poly algorithms for them. Find near-optimal solutions in poly time. So approximate algorithms: –An algorithm returning a near-optimal solution is called approximate algorithm.

2 2 Vertex-cover problem Vertex cover: given an undirected graph G=(V,E), then a subset V'  V such that if (u,v)  E, then u  V' or v  V' (or both). Size of a vertex cover: the number of vertices in it. Vertex-cover problem: find a vertex-cover of minimal size.

3 3 Vertex-cover problem Vertex-cover problem is NP-complete. (See section 34.5.2). –Vertex-cover belongs to NP. –Vertex-cover is NP-hard (CLIQUE  P vertex-cover.) Reduce where G= of a CLIQUE instance to where G'= where E'={(u,v): u,v  V, u  v and  E} of a vertex-cover instance. So find an approximate algorithm.

4 4 Approximate Ratio C* is the cost of optimal solution and C is the cost of an approximate algorithm  (n)=max(C/C*, C*/C) where n is size of problem input If  (n)=1, then the algorithm is an optimal algorithm The larger  (n), the worse the algorithm

5 5 Approximate vertex-cover algorithm

6 6 Example of approximate vertex-cover

7 7 2-approximate vertex-cover Theorem 35.1 (page 1026). –APPROXIMATE-VERTEX-COVER is a poly time 2-approximate algorithm, i.e., the size of returned vertex cover set is at most twice of the size of optimal vertex-cover. Proof: –It runs in poly time –The returned C is a vertex-cover. –Let A be the set of edges picked in line 4 and C* be the optimal vertex-cover. Then C* must include at least one end of each edge in A and no two edges in A are covered by the same vertex in C*, so |C*|  |A|. Moreover, |C|=2|A|, so |C|  2|C*|.

8 8 Another kind of approximate algorithm Approximate string matching (also called string matching allowing errors): –Find all the substrings in text T that are close to pattern P. –Edit distance: P is said to be of distance k to a string Q if P can be transformed to Q with k following character operations: insertion, deletion, and substitution. –May have other operations and different operations have different costs. –Refer to the handout paper by Sun Wu and Udi Manber.

9 9 Algorithms Sequential Parallel Approximate deterministic Random Probabilistic Genetic –Evolution and optimization


Download ppt "1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input."

Similar presentations


Ads by Google