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

Slides:



Advertisements
Similar presentations
Approximation Algorithms
Advertisements

Polynomial-time reductions We have seen several reductions:
NP-Completeness: Reductions
An NP-completeness Example. The graph CLIQUE problem Undirected Graph G = (V, E) –a clique is a complete subgraph of G Subset V’ of vertices that are.
NP and NP Complete. Definitions A problem is in the class P if there is a polynomial time solution to the problem A problem is in the class NP if there.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
End Topics Approximate Vertex Cover Approximate TSP Tour Computation of FFT P, NP, NP Complete, NP hard.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Combinatorial Algorithms
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Approximation Algorithms
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 Approximation Algorithms CSC401 – Analysis of Algorithms Lecture Notes 18 Approximation Algorithms Objectives: Typical NP-complete problems Approximation.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V such that for each edge (u, v) ∈ E at least one of u and v belongs to V’ and |V’| is minimized.
NP-Complete Problems Problems in Computer Science are classified into
CS3381 Des & Anal of Alg ( SemA) City Univ of HK / Dept of CS / Helena Wong 8. Approximation Alg Approximation.
Analysis of Algorithms CS 477/677
Time Complexity.
Vertex cover problem S  V such that for every {u,v}  E u  S or v  S (or both)
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
An introduction to Approximation Algorithms Presented By Iman Sadeghi.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 Theory I Algorithm Design and Analysis (11 - Edit distance and approximate string matching) Prof. Dr. Th. Ottmann.
Approximation Algorithms
MCS312: NP-completeness and Approximation Algorithms
NP-Completeness: 3D Matching
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
NP-complete Problems SAT 3SAT Independent Set Hamiltonian Cycle
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
Approximation Algorithms
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Unit 9: Coping with NP-Completeness
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
CSC 413/513: Intro to Algorithms
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
NP-Completeness A problem is NP-complete if: It is in NP
Chapter 10 NP-Complete Problems.
Optimization problems such as
An introduction to Approximation Algorithms Presented By Iman Sadeghi
Approximate Algorithms (chap. 35)
Approximation algorithms
What is the next line of the proof?
Computability and Complexity
Approximation algorithms
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
Introduction to Algorithms Second Edition by
Approximation Algorithms
On the k-Closest Substring and k-Consensus Pattern Problems
Complexity Theory in Practice
The Complexity of Approximation
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

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 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 Vertex-cover problem Vertex-cover problem is NP-complete. (See section ). –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 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 Approximate vertex-cover algorithm

6 Example of approximate vertex-cover

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 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 Algorithms Sequential Parallel Approximate deterministic Random Probabilistic Genetic –Evolution and optimization