Approximation Algorithms

Slides:



Advertisements
Similar presentations
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.
Advertisements

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 
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Combinatorial Algorithms
PCPs and Inapproximability Introduction. My T. Thai 2 Why Approximation Algorithms  Problems that we cannot find an optimal solution.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algorithms
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
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.
Approximation Algorithms
The Theory of NP-Completeness
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2006 Lecture 7 Monday, 4/3/06 Approximation Algorithms.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2009 Lecture 7 Tuesday, 4/7/09 Approximation Algorithms.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
CSCE350 Algorithms and Data Structure
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 The TSP : NP-Completeness Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
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
Lecture 22 More NPC problems
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
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.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
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.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Unit 9: Coping with NP-Completeness
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
Instructor Neelima Gupta Table of Contents Class NP Class NPC Approximation Algorithms.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
Algorithms for hard problems Introduction Juris Viksna, 2015.
NPC.
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
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Approximation Algorithms Greedy Strategies. I hear, I forget. I learn, I remember. I do, I understand! 2 Max and Min  min f is equivalent to max –f.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
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
More NP-Complete and NP-hard Problems
Introduction to Approximation Algorithms
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
ICS 353: Design and Analysis of Algorithms
Richard Anderson Lecture 25 NP-Completeness
The Theory of NP-Completeness
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Approximation Algorithms Chapter 1- Introduction

Why Approximation Algorithms Problems that we cannot find an optimal solution in a polynomial time Eg: Set Cover, Bin Packing Need to find a near-optimal solution: Heuristic Approximation algorithms: This gives us a guarantee approximation ratio Passion is the key to success

Passion is the key to success Why take this course Your advisers/bosses give you a computationally hard problem. Here are two scenarios: No knowledge about approximation: Spend a few months looking for an optimal solution Come to their office and confess that you cannot do it Get fired Knowledge about approximation: Passion is the key to success

Why take this course (cont) Knowledge about approximation Show your boss that this is a NP-complete (NP-hard) problem There does not exist any polynomial time algorithm to find an exact solution Propose a good algorithm (either heuristic or approximation) to find a near-optimal solution Better yet, prove the approximation ratio Passion is the key to success

Passion is the key to success Course Description Covers a variety of techniques to design and analyze many approximation algorithms for computationally hard problems: Combinatorial algorithms: Greedy Techniques, Independent System, Submodular Function Cover various problems Linear Programming based algorithms Semidefinite Programming based algorithms Passion is the key to success

Passion is the key to success Course Objectives Grasp the essential techniques to design and analyze approximation algorithms: Combinatorial methods Linear programming Semidefinite programming Primal-dual and relaxation methods Hardness of approximation Grasp the key ideas of graph theory Able to model and solve many practical problems raising in our real life Passion is the key to success

Passion is the key to success Textbooks Recommended: Vijay Vazirani, Approximation Algorithms, Springer-Verlag, 2001 Vasek Chvatal, Linear Programming, W. H. Freeman Company Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness Shall provide appropriate lecture notes Passion is the key to success

Introduction to Combinatorial Optimization Passion is the key to success

Combinatorial Optimization The study of finding the “best” object from within some finite space of objects, eg: Shortest path: Given a graph with edge costs and a pair of nodes, find the shortest path (least costs) between them Traveling salesman: Given a complete graph with nonnegative edge costs, find a minimum cost cycle visiting every vertex exactly once Maximum Network Lifetime: Given a wireless sensor networks and a set of targets, find a schedule of these sensors to maximize network lifetime Passion is the key to success

Passion is the key to success In P or not in P? Informal Definitions: The class P consists of those problems that are solvable in polynomial time, i.e. O(nk) for some constant k where n is the size of the input. The class NP consists of those problems that are “verifiable” in polynomial time: Given a certificate of a solution, then we can verify that the certificate is correct in polynomial time Passion is the key to success

In P or not in P: Examples Shortest path Minimum Spanning Tree Not in P (NP): Vertex Cover Traveling salesman Minimum Connected Dominating Set Passion is the key to success

NP-completeness (NPC) A problem is in the class NPC if it is in NP and is as “hard” as any problem in NP Passion is the key to success

Passion is the key to success What is “hard” Decision Problems: Only consider YES-NO Decision version of TSP: Given n cities, is there a TSP tour of length at most L? Why Decision Problem? What relation between the optimization problem and its decision? Decision is not “harder” than that of its optimization problem If the decision is “hard”, then the optimization problem should be “hard” Passion is the key to success

NP-complete and NP-hard A language L is NP-complete if: L is in NP, and For every L’ in NP, L’ can be polynomial-time reducible to L Passion is the key to success

Approximation Algorithms An algorithm that returns near-optimal solutions in polynomial time Approximation Ratio ρ(n): Define: C* as a optimal solution and C is the solution produced by the approximation algorithm max (C/C*, C*/C) <= ρ(n) Maximization problem: 0 < C <= C*, thus C*/C shows that C* is larger than C by ρ(n) Minimization problem: 0 < C* <= C, thus C/C* shows that C is larger than C* by ρ(n) Passion is the key to success

Approximation Algorithms (cont) PTAS (Polynomial Time Approximation Scheme): A (1 + ε)-approximation algorithm for a NP-hard optimization П where its running time is bounded by a polynomial in the size of instance I FPTAS (Fully PTAS): The same as above + time is bounded by a polynomial in both the size of instance I and 1/ε Passion is the key to success

Passion is the key to success A Dilemma! We cannot find C*, how can we compare C to C*? How can we design an algorithm so that we can compare C to C* It is the objective of this course!!! Passion is the key to success

Passion is the key to success Techniques A variety of techniques to design and analyze many approximation algorithms for computationally hard problems: Combinatorial algorithms: Greedy Techniques, Independent System, Submodular Function Linear Programming based algorithms Semidefinite Programming based algorithms Passion is the key to success

Passion is the key to success Vertex Cover Definition: An Example Passion is the key to success

Passion is the key to success Vertex Cover Problem Definition: Given an undirected graph G=(V,E), find a vertex cover with minimum size (has the least number of vertices) This is sometimes called cardinality vertex cover More generalization: Given an undirected graph G=(V,E), and a cost function on vertices c: V → Q+ Find a minimum cost vertex cover Passion is the key to success

Passion is the key to success How to solve it Matching: A set M of edges in a graph G is called a matching of G if no two edges in set M have an endpoint in common Example: Passion is the key to success

Passion is the key to success How to solve it (cont) Maximum Matching: A matching of G with the greatest number of edges Maximal Matching: A matching which is not contained in any larger matching Note: Any maximum matching is certainly maximal, but not the reverse Passion is the key to success

Passion is the key to success Main Observation No vertex can cover two edges of a matching The size of every vertex cover is at least the size of every matching: |M| ≤ |C| |M| = |C| indicates the optimality Possible Solution: Using Maximal matching to find Minimum vertex cover Passion is the key to success

Passion is the key to success An Algorithm Alg 1: Find a maximal matching in G and output the set of matched vertices Theorem: Alg 1 is a factor 2-approximation algorithm. Proof: Passion is the key to success

Passion is the key to success Can Alg1 be improved? Q1: Can the approximation ratio of Alg 1 be improved by a better analysis? Q2: Can we design a better approximation algorithm using the similar technique (maximal matching)? Q3: Is there any other lower bounding method that can lead to a better approximation algorithm? Passion is the key to success

Passion is the key to success Answers A1: No by considering the complete bipartite graphs Kn,n A2: No by considering the complete graph Kn where n is odd. |M| = (n-1)/2 whereas opt = n -1 Passion is the key to success

Passion is the key to success Answers (cont) A3: Currently a central open problem Yes, we can obtain a better one by using the semidefinite programming Generalization vertex Cover Can we still able to design a 2-approximation algorithm? Homework assignment! Passion is the key to success

Passion is the key to success Set Cover Definition: Given a universe U of n elements, a collection of subsets of U, S = {S1, …, Sm}, and a cost function c: S → Q+, find a minimum cost subcollection C of S that covers all elements of U. Example: U = {1, 2, 3, 4, 5} S1 = {1, 2, 3}, S2 = {2,3}, S3 = {4, 5}, S4 = {1, 2, 4} c1 = c2 = c3 = c4 = 1 Solution C = {S1, S3} If the cost is uniform, then the set cover problem asks us to find a subcollection covering all elements of U with the minimum size. Passion is the key to success

Passion is the key to success An Example Passion is the key to success

Passion is the key to success NP-completeness Theorem: Set Cover (SC) is NP-complete Proof: INSTANCE: Given a universe U of n elements, a collection of subsets of U, S = {S1, …, Sm}, and a positive integer b QUESTION: Is there a , |C| ≤ b, such that (Note: The subcollection {Si | } satisfying the above condition is called a set cover of U Passion is the key to success

Passion is the key to success Proof (cont) First we need to show that SC is in NP. Given a subcollection C, it is easy to verify that if |C| ≤ b and the union of all sets listed in C does include all elements in U. To complete the proof, we need to show that Vertex Cover (VC) ≤p Set Cover (SC) Given an instance C of VC (an undirected graph G=(V,E) and a positive integer j), we need to construct an instance C’ of SC in polynomial time such that C is satisfiable iff C’ is satisfiable. Passion is the key to success

Passion is the key to success Proof (cont) Construction: Let U = E. We will define n elements of U and a collection S as follows: Note: Each edge corresponds to each element in U and each vertex corresponds to each set in S. Label all vertices in V from 1 to n. Let Si be the set of all edges that incident to vertex i. Finally, let b = j. This construction is in poly-time with respect to the size of VC instance. Passion is the key to success

VERTEX-COVER p SET-COVER one element for every edge SC VC VC one set for every vertex, containing the edges it covers Passion is the key to success

Passion is the key to success Proof (cont) Now, we need to prove that C is satisfiable iff C’ is. That is, we need to show that if the original instance of VC is a yes instance iff the constructed instance of SC is a yes instance. (→) Suppose G has a vertex cover of size at most j, called C. By our construction, C corresponds to a collection C’ of subsets of U. Since b = j, |C’| ≤ b. Plus, C’ covers all elements in U since C “covers” all edges in G. To see this, consider any element of U. Such an element is an edge in G. Since C is a set cover, at least one endpoint of this edge is in C. Passion is the key to success

Passion is the key to success (←) Suppose there is a set cover C’ of size at most b in our constructed instance. Since each set in C’ is associated with a vertex in G, let C be the set of these vertices. Then |C| = |C’| ≤ b = j. Plus, C is a vertex cover of G since C’ is a set cover. To see this, consider any edge e. Since e is in U, C’ must contain at least one set that includes e. By our construction, the only set that include e correspond to nodes that are endpoints of e. Thus C must contain at least one endpoint of e. Passion is the key to success

Passion is the key to success Solutions Algorithm 1: (in the case of uniform cost) 1: C = empty 2: while U is not empty 3: pick a set Si such that Si covers the most elements in U 4: remove the new covered elements from U 5: C = C union Si 6: return C Passion is the key to success

Passion is the key to success Solutions (cont) In the case of non-uniform cost Similar method. At each iteration, instead of picking a set Si such that Si covers the most uncovered elements, we will pick a set Si whose cost-effectiveness α is smallest, where α is defined as: Questions: Why choose smallest α? Why define α as above Passion is the key to success

Passion is the key to success Solutions (cont) Algorithm 2: (in the case of non-uniform cost) 1: C = empty 2: while U is not empty 3: pick a set Si such that Si has the smallest α 4: for each new covered elements e in U 5: set price(e) = α 6: remove the new covered elements from U 7: C = C union Si 8: return C Passion is the key to success

Approximation Ratio Analysis Let ek, k = 1…n, be the elements of U in the order in which they were covered by Alg 2. We have: Lemma 1: Proof: Let Uj denote remaining set U at iteration j. That is, Uj contains all the uncovered elements at iteration j. At any iteration, the leftover sets of the optimal solution can cover the remaining elements at a cost of at most opt. (Why?) Passion is the key to success

Passion is the key to success Proof of Lemma 1 (cont) Thus, among these leftover sets, there must exist one set where its α value is at most opt/|Uj|. Let ek be the element covered at this iteration, |Uj| ≥ n – k + 1. Since ek was covered by the most cost-effective set in this iteration, we have: price(ek) ≤ opt/|Uj| ≤ opt/(n-k+1) Passion is the key to success

Passion is the key to success Approximation Ratio Theorem 1: The set cover obtained from Alg 2 (also Alg 1) has a factor of Hn where Hn is a harmonic series Hn = 1 + 1/2 + … + 1/n Proof: It follows directly from Lemma 1 Passion is the key to success

Examples of NP-complete problems Independent set - independent set: a set of vertices in the graph with no edges between each pair of nodes. - given a graph G=(V,E), find the largest independent set - reduction from vertex cover: largest independent set V/S smallest vertex cover S Passion is the key to success

Passion is the key to success Independent Set Independent set - if G has a vertex cover S, then V \ S is an independent set proof: consider two nodes in V \ S: if there is an edge connecting them, then one of them must be in S, which means one of them is not in V \ S - if G has an independent set I, then V \ I is a vertex cover proof: consider one edge in G: if it is not covered by any node in V \ I, then its two end vertices must be both in I, which means I is not an independent set Passion is the key to success

Summary of some NPc problems SAT 3SAT Maximum cut Graph coloring Vertex cover Independent set Set cover Maximum clique size Minimum Steiner tree Hamiltonian cycle find more NP-complete problems in http://en.wikipedia.org/wiki/List_of_NP-complete_problems Passion is the key to success