Download presentation
Presentation is loading. Please wait.
Published byJody Lawrence Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.