Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.

Slides:



Advertisements
Similar presentations
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Advertisements

Lecture 23. Subset Sum is NPC
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.
NP-Completeness: Reductions
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
More NP-completeness Sipser 7.5 (pages ). CS 311 Fall NP’s hardest problems Definition 7.34: A language B is NP-complete if 1.B ∈ NP 2.A≤
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
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.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
More NP-completeness Sipser 7.5 (pages ).
CS21 Decidability and Tractability
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Graphs 4/16/2017 8:41 PM NP-Completeness.
Reduction Techniques Restriction Local Replacement Component Design Examples.
Transitivity of  poly Theorem: Let ,  ’, and  ’’ be three decision problems such that   poly  ’ and  ’  poly  ’’. Then  poly  ’’. Proof:
Computability and Complexity 16-1 Computability and Complexity Andrei Bulatov NP-Completeness.
1 Perfect Matchings in Bipartite Graphs An undirected graph G=(U  V,E) is bipartite if U  V=  and E  U  V. A 1-1 and onto function f:U  V is a perfect.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Fall 2006Costas Busch - RPI1 More NP-complete Problems.
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Black-box (oracle) Feed me a weighted graph G and I will tell you the weight of the max-weight matching of G.
Clique Cover Cook’s Theorem 3SAT and Independent Set
February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015.
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
Lecture 22 More NPC problems
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
NP-complete Problems SAT 3SAT Independent Set Hamiltonian Cycle
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
1 3-COLOURING: Input: Graph G Question: Does there exist a way to 3-colour the vertices of G so that adjacent vertices are different colours? 1.What could.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
Additional NP-complete problems
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
1.1 Chapter 3: Proving NP-completeness Results Six Basic NP-Complete Problems Some Techniques for Proving NP-Completeness Some Suggested Exercises.
1 Suppose I construct a TM M f which: 1. Preserves its input u. 2. Simulates a machine M b on input ε. 3. If M b hangs on input ε, force an infinite loop.
CS 461 – Nov. 30 Section 7.5 How to show a problem is NP-complete –Show it’s in NP. –Show that it corresponds to another problem already known to be NP-complete.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CSC 413/513: Intro to Algorithms
1 Ch 10 - NP-completeness Tractable and intractable problems Decision/Optimization problems Deterministic/NonDeterministic algorithms Classes P and NP.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Prof. Busch - LSU1 Busch Complexity Lectures: More NP-complete Problems.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
Costas Busch - LSU 1 More NP-complete Problems. Costas Busch - LSU 2 Theorem: If: Language is NP-complete Language is in NP is polynomial time reducible.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
More NP-Complete and NP-hard Problems
More NP-complete problems
Richard Anderson Lecture 26 NP-Completeness
More NP-complete Problems
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
CS21 Decidability and Tractability
Computability and Complexity
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
More NP-complete Problems
CS21 Decidability and Tractability
CS21 Decidability and Tractability
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
CHAPTER 7 Time complexity
Presentation transcript:

Complexity 11-1 Complexity Andrei Bulatov NP-Completeness

Complexity 11-2 NP-Completeness Proofs To prove that a language L is NP-complete we now just have to perform two steps: 1.Show that L belongs to NP 2.Find a known NP-complete problem (language) L and show L  L 100s of problems have now been shown to be NP-complete (for an earlier survey see Garey and Johnson) Note: If we can complete Step 2 but not Step 1, then we say that L is NP-hard

Complexity 11-3 NP-Completeness of Clique Instance: A graph G and a number k. Question: Does G contain a clique of size k ? Clique Theorem Clique is NP-complete Theorem Clique is NP-complete Step 1: The problem Clique is in NP : the list of vertices in the clique is the certificate

Complexity 11-4 Step 2: To show that Clique is NP-complete we shall reduce Satisfiability to Clique Given a formula  with clauses For each literal X in clause create a graph vertex Put an edge between every pair of vertices from distinct clauses, unless they are incompatible (i.e. X and  X ) This construction can be carried out in polynomial time The resulting graph has a clique of size k if and only if  is satisfiable (assign the value true to every variable occurring in the clique)

Complexity 11-5 Example Construction X Y Z U V YY  Z  X  U k  3

Complexity 11-6 NP-Completeness of Vertex Cover Instance: A graph G = (V,E), and a natural number k. Question: Is there a set M  N, with  M  k, such that for each edge (i,j)  E, {i,j}  M   ? Vertex Cover¹ ¹Sometimes called Node Cover Step 1: The problem Vertex Cover is in NP : the list of vertices in M is the certificate

Complexity 11-7 Given a formula  with clauses and n variables Step 2: To show that Vertex Cover is NP-complete we shall reduce Satisfiability to Vertex Cover This construction can be carried out in polynomial time For each variable X create two adjacent vertices and to represent the literals X and  X For each clause of size create a complete subgraph with vertices connected to corresponding literals Set

Complexity 11-8 Example Construction X Y Z U V

Complexity 11-9 At least one of each pair must be in the cover At least vertices from each complete graph must be in the cover If the formula is satisfiable, then choose the cover by choosing each literal assigned true plus all but one vertex in each (Omit a vertex which is connected to a satisfied literal.) Conversely, if a vertex cover exists, assign each Boolean variable according to whether ( true ) or ( false ) is in M. (By the choice of k, there must be one vertex in each clique which is not in M. This vertex must be adjacent to a vertex in M, hence the clause is satisfied.)

Complexity Alternative Reductions We have shown that Clique and Vertex Cover are both NP-complete This means it must be possible to reduce Clique to Vertex Cover and vice versa!

Complexity NP-Completeness of 3- SAT To show that 3- Satisfiability is NP-complete we reduce Satisfiability to 3- Satisfiability C is satisfiable if and only if C is, since at least one of the literals other than Y s must be true Replace every clause with k > 3 by

Complexity NP-Completeness of SubsetSum Instance: A sequence of positive integers and a target integer t. Question: Is there a subset T  S such that ? SubsetSum Step 1: The problem SubsetSum is in NP : the set T is the certificate

Complexity Step 2: To show that SubsetSum is NP-complete we shall reduce Satisfiability to SubsetSum Given a formula  with clauses Choose t so that T must contain exactly one of each pair and at least one from each clause This construction can be carried out in polynomial time For each clause of length create integers For each variable X create 2 integers and

Complexity Example Construction

Complexity NP-Completeness of HamCircuit Instance: A graph G. Question: Does G contain a Hamilton circuit? HamCircuit Theorem HamCircuit is NP-complete Theorem HamCircuit is NP-complete Step 1: The problem HamCircuit is in NP : the Hamilton circuit is the certificate

Complexity Step 2: To show that HamCircuit is NP-complete we shall reduce 3- Satisfiability to HamCircuit Given a formula  with clauses and variables What is to be encoded? Boolean variables a choice between two values (for each variable) consistency: all occurrences of X must have the same truth value constraints on the possible values imposed by clauses

Complexity the choice gadget We assume that all gadgets are connected with the rest of the graph only through their endpoints, shown as full dots; there are no edges connecting other vertices of the gadget to the rest of the graph This gadget will allow the Hamiltonian circuit, approaching from above, to pick either left or right edge, thus communicating to a truth value

the consistency gadget Complexity This graph can be traversed by the Hamiltonian circuit in one of the two ways

Complexity the constraint gadget - If, using the choice and consistency devices, we have made sure that each side of the triangle is traversed by the Hamilton circuit if and only if the corresponding literal is false ; then at least one literal has to be true

Complexity Properties of the Gadgets the choice gadget can be traversed in exactly two ways the internal vertices of the consistency gadget (“exclusive or” gadget) can be traversed in exactly two ways, so that exactly one pair of the external vertices is involved any Hamilton circuit traverses at most two of the edges of a constraint gadget

Complexity X Y Z 1 2 true false all these vertices are connected

Complexity NP-Completeness of TSP(D) Instance: A finite set of cities, a positive integer distance, between each pair and an integer B. Question: Is there a permutation  of such that Travelling Salesperson(D) Step 1: The problem TSP(D) is in NP : a route satisfying the inequality is the certificate

Complexity Step 2: To show that TSP(D) is NP-complete we shall reduce HamCircuit to TSP(D) Given a graph G with vertex set V and edge set E For each vertex v create a city Set if (u,v)  E and otherwise Set B = |V| Then If G has a Hamilton circuit then there is a route of weight B (the Hamilton circuit) If there is a route of weight B, then in G this route goes through edges and therefore is a Hamilton circuit