Approximate Algorithms (chap. 35)

Slides:



Advertisements
Similar presentations
Approximation Algorithms
Advertisements

Design and Analysis of Algorithms Approximation algorithms for NP-complete problems Haidong Xue Summer 2012, at GSU.
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
1 ©D.Moshkovitz Complexity The Traveling Salesman Problem.
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.
Approximative Kernelization: On the Trade-off between Fidelity and Kernel Size joint with Michael Fellows and Frances Rosamond Charles Darwin University.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Combinatorial Algorithms
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.
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.
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
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.
An introduction to Approximation Algorithms Presented By Iman Sadeghi.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 NP-Complete Problems (Fun part) Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph,
1 Theory I Algorithm Design and Analysis (11 - Edit distance and approximate string matching) Prof. Dr. Th. Ottmann.
Outline Introduction The hardness result The approximation algorithm.
NP-Completeness: 3D Matching
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
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.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input.
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
1/24 Introduction to Graphs. 2/24 Graph Definition Graph : consists of vertices and edges. Each edge must start and end at a vertex. Graph G = (V, E)
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Approximation algorithms
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Approximation Algorithms
NP-Completeness A problem is NP-complete if: It is in NP
The NP class. NP-completeness
P & NP.
Chapter 10 NP-Complete Problems.
Mathematical Foundations of AI
Optimization problems such as
An introduction to Approximation Algorithms Presented By Iman Sadeghi
Approximation Algorithms
Hamiltonian Cycle and TSP
Approximation algorithms
CS4234 Optimiz(s)ation Algorithms
What is the next line of the proof?
NP-Completeness Yin Tat Lee
Approximation Algorithms
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
NP-Complete Problems.
Prabhas Chongstitvatana
NP-Completeness Yin Tat Lee
No Guarantee Unless P equals NP
Complexity Theory in Practice
The Theory of NP-Completeness
The Complexity of Approximation
Hamiltonian Circuit (HC) problem
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

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.

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.

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Pvertex-cover.) Reduce <G,k> where G=<V,E> of a CLIQUE instance to <G',|V|-k> where G'=<V,E'> where E'={(u,v): u,vV, uv and <u,v>E} of a vertex-cover instance. So find an approximate algorithm.

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

Approximate vertex-cover algorithm

Example of approximate vertex-cover

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*|.

Travelling-saleman problem with triangle inequality

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.

Algorithms Sequential Parallel Approximate deterministic Random Probabilistic Genetic Evolution and optimization