Approximation Algorithms

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
Max Cut Problem Daniel Natapov.
Polynomial-time reductions We have seen several reductions:
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
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.
Approximation Algorithms
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
NP-complete and NP-hard problems. Decision problems vs. optimization problems The problems we are trying to solve are basically of two kinds. In decision.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
1 Approximation Through Scaling Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
DP TSP Have some numbering of the vertices We will think of all our tours as beginning and ending at 1 C(S, j) = length of shortest path visiting each.
Polynomial-time reductions We have seen several reductions:
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Computer Science Day 2013, May Distinguished Lecture: Andy Yao, Tsinghua University Welcome and the 'Lecturer of the Year' award.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Algorithms for hard problems Introduction Juris Viksna, 2015.
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.
Approximation algorithms
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.
The Theory of NP-Completeness
Limitation of Computation Power – P, NP, and NP-complete
More NP-Complete and NP-hard Problems
Chapter 10 NP-Complete Problems.
8.3.2 Constant Distance Approximations
Introduction to Approximation Algorithms
Hard Problems Some problems are hard to solve.
Optimization problems such as
Algorithm Design Methods
An introduction to Approximation Algorithms Presented By Iman Sadeghi
Approximation Algorithms
Hard Problems Introduction to NP
Approximation algorithms
Lecture 22 Complexity and Reductions
Algorithms for hard problems
Approximation Algorithms
Computability and Complexity
Approximation Algorithms for TSP
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
Lecture 35 CSE 331 Nov 27, 2017.
Exam 2 LZW not on syllabus. 73% / 75%.
Richard Anderson Lecture 28 Coping with NP-Completeness
Approximation Algorithms
Vertex Covers, Matchings, and Independent Sets
1. for (i=0; i < n; i+=2) if (A[i] > A[i+1]) swap(A[i], A[i+1])
Problem Solving 4.
Algorithm Design Methods
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Algorithm Design Methods
Complexity Theory in Practice
Richard Anderson Lecture 27 Survey of NP Complete Problems
Algorithm Design Methods
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Approximation Algorithms Department of Mathematics and Computer Science Drexel University

What is going to happen in this course? What I would do for you: Positive results: we will review well-known approximation algorithms for various optimization problems. Negative results: we will identify the level of hardness for approximating the solution to some of the optimization problems What You would do for me: A project: (Nirav will tell you about it). Homeworks: Will be posted on the course web-site: Final Exam: A three hour brutal exam!

Projects: Implementation of one of the 12 approximation algorithms (will be posted on the course web-site). Projects will be done individually. Projects are due one week before final exam. All the coding should be done in C++. The protocol for project submission will be presented by Nirav. Projects will carry 40% of final grade.

Let us START! The main question we did not answer last semester: How can we solve NP-Complete problems efficiently (assuming P is not equal to NP)? The promise of approximation algorithms for NP-hard problems is to Find a good solutions (hopefully very close to optimal). Work for every instance of the problem. Finish the algorithm fast (in polynomial time). So many terms, so little time!

What is an NP-Optimization Problem? An NP-Optimization problem is defined by the following items: I : a set of possible inputs, where we can check for each x whether or not it belongs to I in polynomial time. S(x) : The set of feasible solutions for x in I. f(y) : An evaluation function that assigns a quantity to each solution y in S(x). A min or max objective: a solution with optimum value, for each instance of the problem.

Example: Multiprocessor scheduling (minimum makespan): There are m processors, There are n jobs, with required execution times t1,…,tn. We would like to assign the job to processors such that the total execution time is minimum.

Approximation algorithm defined A polynomial time approximation algorithm A gets input x in I, and outputs in polynomial time yA in S(x) that is close to optimal subject to some measurement for closeness. We use A(x)=f(yA).

How Good is good enough? An approximation algorithm is said to be an a-approximation algorithm for an optimization problem P if: The algorithm runs in polynomial time. The algorithm always produces a solution which is within a factor a of the value of the optimal solution. For minimization a>1, while for maximization a<1.

Example: Input: a graph G=(V,E). Goal: Find a subset of vertices C such that each edge (u,v) has one of its endpoint in C. Objective: Minimize |C|. If M is a maximal matching for G, then |M|<=OPTVC . Form a sub-optimal solution C by adding both endpoints of edges in M to C. observe that C is a vertex cover. The performance guarantee of this solution is at most 2 OPTVC.

FPTAS A problem P has a fully polynomial time approximation scheme if there exist an algorithm A that takes as input an instance x of P and a parameter e: Runs in time poly(|x|,1/e). Produces a (1+ e)-approximation solution if P is a minimization problem. Produces a (1- e)-approximation solution if P is a maximization problem.

Example As we will see later, many problems admit FPTAS, including Knapsack and Euclidian TSP (Arora 1996, Mitchell 1996).

Knapsack: Input: n objects. Object I has weight wi and value vi. , with where C is the capacity of knapsack. Goal: Find a subset S of the n elements that does not exceed capacity C. Objective: maximize

Constant factor and FPTAS for Knapsack Will be presented in the class!