Approximation Algorithm

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

Algorithm Design Methods Spring 2007 CSE, POSTECH.
 Review: The Greedy Method
Approximation Algorithms
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
What is Intractable? Some problems seem too hard to solve efficiently. Question 1: Does an efficient algorithm exist?  An O(a ) algorithm, where a > 1,
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
8.1 Advanced Operating Systems Defeating The Thrashing The RAM is limited. Sometimes, too many processes need large memory allocations and the sum of these.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
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 Class Constrained Packing We need to pack items into bins. All the bins have the same capacity. Each bin can accommodate items from a bounded number.
88- 1 Chapter 8 The Theory of NP-Completeness P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Approximations for hard problems Example: Scheduling Given: n jobs with processing times, m identical machines. Problem: Schedule so as to minimize makespan.
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms
CSE 589 Applied Algorithms Spring Colorability Branch and Bound.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
MCS312: NP-completeness and Approximation Algorithms
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Round and Approx: A technique for packing problems Nikhil Bansal (IBM Watson) Maxim Sviridenko (IBM Watson) Alberto Caprara (U. Bologna, Italy)
Approximation schemes Bin packing problem. Bin Packing problem Given n items with sizes a 1,…,a n  (0,1]. Find a packing in unit-sized bins that minimizes.
Design Techniques for Approximation Algorithms and Approximation Classes.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
TECH Computer Science NP-Complete Problems Problems  Abstract Problems  Decision Problem, Optimal value, Optimal solution  Encodings  //Data Structure.
Approximation Algorithms
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Approximation Algorithm Updated at 2011/01/03. 2 Approximation Algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
1 Approximation Algorithm Updated on 2012/12/25. 2 Approximation Algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
The bin packing problem. For n objects with sizes s 1, …, s n where 0 < s i ≤1, find the smallest number of bins with capacity one, such that n objects.
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.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Instructor: Shengyu Zhang 1. Optimization Very often we need to solve an optimization problem.  Maximize the utility/payoff/gain/…  Minimize the cost/penalty/loss/…
Conceptual Foundations © 2008 Pearson Education Australia Lecture slides for this course are based on teaching materials provided/referred by: (1) Statistics.
Approximation algorithms
The Set-covering Problem Problem statement –given a finite set X and a family F of subsets where every element of X is contained in one of the subsets.
The Theory of NP-Completeness
8.3.2 Constant Distance Approximations
Optimization problems such as
Approximation Algorithms
Algorithm Design Methods
Hamiltonian Cycle and TSP
Hamiltonian Cycle and TSP
Approximation algorithms
Approximation Algorithms
Computability and Complexity
CS154, Lecture 16: More NP-Complete Problems; PCPs
Exam 2 LZW not on syllabus. 73% / 75%.
Richard Anderson Lecture 28 Coping with NP-Completeness
Introduction to Algorithms Second Edition by
Computation Basics & NP-Completeness
György Dósa, University of Pannonia, Veszprém, Hungary
NP-Complete Problems.
Algorithm Design Methods
ICS 353: Design and Analysis of Algorithms
The Full Steiner tree problem Part Two
Algorithm Design Methods
Complexity Theory in Practice
The Theory of NP-Completeness
CS154, Lecture 16: More NP-Complete Problems; PCPs
Bin Packing Michael T. Goodrich Some slides adapted from slides from
Algorithm Design Methods
Presentation transcript:

Approximation Algorithm

Approximation Algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential time in the worst case. It is too time-consuming. To reduce the time required for solving a problem, we can relax the problem, and obtain a feasible solution “close” to an optimal solution One compromise is to use heuristic solutions.

Approximation ratio bound

(1+)-approximation algorithm

Vertex Cover Problem Let G=(V, E). The subset S of V that meets every edge of E is called the vertex cover. The Vertex Cover problem is to find a vertex cover of minimum size. It is the optimization version of an NP-Complete decision problem.

Examples of vertex cover

C*: optimal solution C: approximate solution No two edges in A share a common endpoint due to step 6.

Bin Packing Problem Given n items a1, a2, …, an, 0 ai  1 for 1  i  n, which have to be placed in bins of unit capability, the bin packing problem is to determine the minimum number of bins to accommodate all items. If we regard the items of different sizes to be the lengths of time of executing different jobs on a standard processor, the problem becomes to use minimum number of processors which can finish all of the jobs within a fixed time.

Example of Bin Packing Problem E.g. Given n = 5, {0.3, 0.5, 0.8, 0.2 0.4}, the optimal solution is 3 bins. The bin packing problem is NP-hard.

An approximation algorithm for the bin packing problem An approximation algorithm: (first-fit) place ai into the lowest-indexed bin which can accommodate ai. S(ai): the size of ai OPT(I): the size of an optimal solution of an instance I FF(I): the size of bins in the first-fit algorithm C(Bi): the sum of the sizes of aj’s packed in bin Bi in the first-fit algorithm

An approximation algorithm for the bin packing problem Problem Instance I OPT(I)  , ceiling of sum of sizes of all items C(Bi) + C(Bi+1)  1 (a)(Otherwise, the items in Bi+1 will be put in Bi.) C(B1) + C(Bm)  1 (b)(Otherwise, the items in Bm will be put in B1. ) For m nonempty bins, C(B1)+C(B2)+…+C(Bm)m/2, (a)+(b)for i=1,..,m  FF(I) = m < 2 = 2  2 OPT(I) FF(I) < 2 OPT(I) C(Bi): the sum of sizes of aj’s packed in bin Bi