Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.

Slides:



Advertisements
Similar presentations
Limitation of Computation Power – P, NP, and NP-complete
Advertisements

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,
The class NP Section 7.3 Giorgi Japaridze Theory of Computability.
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Computability and Complexity
Having Proofs for Incorrectness
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 13-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Graphs 4/16/2017 8:41 PM NP-Completeness.
Computability and Complexity 16-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 32-1 Computability and Complexity Andrei Bulatov Boolean Circuits.
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.
The Theory of NP-Completeness
NP-Complete Problems Problems in Computer Science are classified into
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
NP-Completeness NP-Completeness Graphs 4/17/2017 4:10 AM x x x x x x x
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
Complements of Languages in NP Osama Awwad Department of Computer Science Western Michigan University July 13, 2015.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
MCS312: NP-completeness and Approximation Algorithms
CSCE350 Algorithms and Data Structure
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Complexity 2-1 Problems and Languages Complexity Andrei Bulatov.
NP-complete Problems SAT 3SAT Independent Set Hamiltonian Cycle
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.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
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.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 Design and Analysis of Algorithms Yoram Moses Lecture 11 June 3, 2010
Unit 9: Coping with NP-Completeness
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Additional Classes: co-NP class Krishna Mahesh Deevela Murali.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Optimization/Decision Problems Optimization Problems – An optimization problem is one which asks, “What is the optimal solution to problem X?” – Examples:
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Complexity 24-1 Complexity Andrei Bulatov Counting Problems.
Introduction to NP Instructor: Neelima Gupta 1.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Limitation of Computation Power – P, NP, and NP-complete
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Probabilistic Algorithms
EMIS 8373: Integer Programming
Richard Anderson Lecture 26 NP-Completeness
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
Computability and Complexity
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Theory of Computability
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Presentation transcript:

Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness

Computability and Complexity 17-2 Knapsack Instance: A sequence of positive integer values a set of positive integer weights a target value t, and a weight limit l. Question: Is there a subset T  S such that and ? Knapsack Step 1: The problem Knapsack is in NP : the set T is the certificate

Computability and Complexity 17-3 Step 2: To show that Knapsack is NP-complete we shall reduce SubsetSum to Knapsack Instance: A sequence of positive integers and a target integer t. Question: Is there a subset T  S such that ? SubsetSum

Computability and Complexity 17-4 Set Set t = l = t Given a SubsetSum instance, that is a set and a target number t Then for any subset T  S if and only if and

Computability and Complexity 17-5 Polynomial Algorithm Knapsack can be solved in O(nl) time using dynamic programming Create a (l+1)  (n+1) matrix M Set M(w,0) and M(0,i) to 0 for all w  {1,2,…,l} and i  {1,2,…,n} For i = 1,2,…,n, set entry M(w,i) as follows ( M(w,i) is the largest total value obtainable by selecting from the first i items with weight limit w Answer yes if M(l,n+1)  t, otherwise no

Computability and Complexity 17-6 Example Construction Let V = {1,3,4,2}, W = {1,1,3,2}, t = 7 and l = w i

Computability and Complexity 17-7 Pseudo-polynomial Time This algorithm is not sufficient to show that Knapsack is in P ! The length of the input to Knapsack is in O(n log l)  so nl is not bounded by a polynomial function of the input length An algorithm which is polynomial in the size of the numbers in the input is called pseudo-polynomial NP-complete problem which remains NP-complete when all numbers in the input are bounded by some polynomial in the length of the input is called strongly NP-complete¹ ¹See Garey and Johnson for more discussion of strong NP-completeness

Computability and Complexity 17-8 Strongly NP-complete Problems Any NP-complete problem without numerical data is strongly NP-complete: SAT, Hamiltonian Circuit, other graph problems TSP(D) is strongly NP-complete (From the reduction of HamCircuit we know that even if the distances between cities are bounded by a linear polynomial, the problem remains equivalent to HamCircuit ) SubsetSum ? NO! It is a subproblem of Knapsack

Computability and Complexity 17-9 NP and coNP For a language L over an alphabet , we denote the complement of L, the language  * – L Definition The class of languages L such that has a polynomial time verifiers is called coNP Definition The class of languages L such that has a polynomial time verifiers is called coNP In other words, a problem belongs to coNP if the no-instances have succinct certificates

Computability and Complexity Examples Instance: A graph G. Question: Is it true that G has no Hamiltonian circuit? No Hamilton Circuit Instance: A positive integer k. Question: Is k prime? Prime (= Not Composite)

Computability and Complexity More Examples Instance: A conjunctive normal form . Question: Is  valid? Validity

Computability and Complexity NP-complete vs. coNP-complete Definition A language L is said to be coNP -complete if L  coNP, for any A  coNP, A  L Definition A language L is said to be coNP -complete if L  coNP, for any A  coNP, A  L Theorem If L is NP-complete, then is coNP-complete Theorem If L is NP-complete, then is coNP-complete Proof Let L be NP-complete and A  coNP. Then, and therefore is poly-time reducible to L with a reduction R To show that R is a reduction from A to, we just note that

Computability and Complexity Theorem If a coNP-complete problem is in NP, then NP = coNP Theorem If a coNP-complete problem is in NP, then NP = coNP Proof If L  NP is coNP-complete, then every A  coNP is poly-time reducible to L. Since L belongs to NP, this means A  NP. Conversely, if A  NP, then A is poly-time reducible to L. Since L  coNP, this means that A  coNP Corollary If NP  coNP, then Validity, NoHamCircuit, etc. do not belong to NP Corollary If NP  coNP, then Validity, NoHamCircuit, etc. do not belong to NP

Computability and Complexity Around NP NP coNP NP-complete coNP-complete P NP  coNP