Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.

Slides:



Advertisements
Similar presentations
Weighted Matching-Algorithms, Hamiltonian Cycles and TSP
Advertisements

Approximation Algorithms
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
Combinatorial Algorithms
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
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.
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.
Optimization problems INSTANCE FEASIBLE SOLUTIONS COST.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 Combinatorial Dominance Analysis Keywords: Combinatorial Optimization (CO) Approximation Algorithms (AA) Approximation Ratio (a.r) Combinatorial Dominance.
Distributed Combinatorial Optimization
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms
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.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Lecture 22 More NPC problems
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
1 Combinatorial Algorithms Parametric Pruning. 2 Metric k-center Given a complete undirected graph G = (V, E) with nonnegative edge costs satisfying the.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
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)
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.
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.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Introduction to NP Instructor: Neelima Gupta 1.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Approximation Algorithms based on linear programming.
Approximation algorithms
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
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.
More NP-Complete and NP-hard Problems
More NP-complete problems
Steiner trees: Approximation Algorithms
8.3.2 Constant Distance Approximations
Richard Anderson Lecture 26 NP-Completeness
Optimization problems such as
Richard Anderson Lecture 26 NP-Completeness
Approximation algorithms
Computability and Complexity
ICS 353: Design and Analysis of Algorithms
Richard Anderson Lecture 28 NP-Completeness
Approximation Algorithms
Polynomial time approximation scheme
Problem Solving 4.
Prabhas Chongstitvatana
No Guarantee Unless P equals NP
The Complexity of Approximation
Instructor: Aaron Roth
Locality In Distributed Graph Algorithms
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Complexity 16-1 Complexity Andrei Bulatov Non-Approximability

To solve an optimization problem we must find for any given x  I, a solution y  S(x) such that The optimal value will be denoted OPT(x) Optimization and Errors In an optimization problem, for every possible instance x we have: a set S(x) of feasible solutions; for every solution y  S(x), we a positive goodness m(x,y); optimization parameter opt  { min, max } Complexity 16-2 The relative error of a solution y (with respect to an instance x ) is

Complexity 16-3 FPAS We have seen that some optimization problems can be approximated within some fixed relative error in polynomial time It turns out that for some NP-hard optimization problems we can do even better: some problems can be efficiently approximated within any desired relative error Definition An algorithm A is a fully polynomial approximation scheme for an optimization problem if, for any instance x, and any  > 0, A computes a feasible solution with relative error less than  in a time which is polynomial in |x| and 1/ 

Complexity 16-4 Example Instance: A collection of positive integers Objective: Find a subset I of {1,2,…,n} which minimizes Minimal Partition Like Knapsack, this problem has a dynamic programming solution with time complexity in O(nS), where, and hence in This is a pseudo-polynomial time algorithm We can use this to get an approximate solution efficiently by truncating the x values

Complexity 16-5 Replace each with Solve the new version, obtaining partition J with sum We have

Complexity 16-6 Hence Setting gives a relative error  The time complexity of the truncated problem is in

Complexity 16-7 Which Problems have a FPAS The truncation techniques we have just used is quite general and can be applied to many problems with a pseudo-polynomial time algorithm Conversely, it can be shown that NP-hard optimization problems whose instances do not contain numbers normally do not have an FPAS (unless P = NP ) Theorem There is an FPAS for Minimal Partition, Knapsack, Subset Sum, … Theorem There is an FPAS for Minimal Partition, Knapsack, Subset Sum, … Theorem If P  NP, then there is no FPAS for Max-SAT, Max-2-SAT, Vertex Cover, … Theorem If P  NP, then there is no FPAS for Max-SAT, Max-2-SAT, Vertex Cover, …

Complexity 16-8 TSP Theorem If P  NP, then TSP is not approximable Theorem If P  NP, then TSP is not approximable Proof Suppose for contradiction that there is an  -approximating algorithm for TSP ; that is, for any collection of cities and distances between them, the algorithm finds a tour of length l such that We use this algorithm to solve Hamilton Circuit in polynomial time

Complexity 16-9 For any graph G = (V,E), construct an instance of TSP as follows: Let the set of cities be V Let the distance between a pair of cities be If G has a Hamilton Circuit, then it has a tour of length |V| Hence the  -approximating algorithm would find a tour of length l such that Otherwise the minimal tour is at least

Complexity More Non-Approximability Instance: A graph G = (V,E). Objective: Find a largest set M  N such that no two vertices from M are connected Max Independent Set Instance: A graph G = (V,E). Objective: Find a largest clique in G Max Clique

Complexity Observation For a graph G with n vertices, the following conditions are equivalent Observation For a graph G with n vertices, the following conditions are equivalent G has a vertex cover of size k G has an independent set of size n – k has a clique of size n – k Theorem If P  NP, then Max Independent Set and Max Clique are not approximable Theorem If P  NP, then Max Independent Set and Max Clique are not approximable

Complexity Proof We prove a weaker result: If there is an  -approximating algorithm for Max Independent Set then there is a FPAS for this problem For a graph G = (V,E), the square of G is the graph such that its vertex set is is an edge if and only if (1,1) (2,1) (3,1) (3,2) (3,3) (2,3) (1,3) (1,2)

Complexity Lemma A graph G has an independent set of size k if and only if has a independent set of size Lemma A graph G has an independent set of size k if and only if has a independent set of size If I is an independent set of G then is an independent set of Conversely, if is an independent set of with vertices, then is an independent set of G

Complexity Suppose that an  -approximating algorithm exists, working in time Let G be a graph with n vertices, and let a maximal independent set of G has size k By Lemma, we can get an i.s. of G of size Applying the algorithm to we obtain an independent set of of size in a time Therefore, we have an -approximating algorithm Repeating this process m times, we obtain a -approximating algorithm working in time

Complexity Given we need m such that Then our  -approximating algorithm works in a time