30.

Slides:



Advertisements
Similar presentations
Computational Complexity
Advertisements

NP-Completeness: Reductions
CSCI 256 Data Structures and Algorithm Analysis Lecture 22 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Lecture 21 NP-complete problems
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
NP-COMPLETENESS. 2 Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition.
Graphs 4/16/2017 8:41 PM NP-Completeness.
The Theory of NP-Completeness
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Polynomial-Time Reductions
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
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.
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013 Lecture 22.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 31.
1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.Ex. n Greed.O(n log n) interval scheduling. n Divide-and-conquer. O(n log n) FFT.
11/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURES NP-completeness.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
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.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 27.
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.
CSEP 521 Applied Algorithms Richard Anderson Lecture 10 NP Completeness.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
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 NP-Completeness Poly time algorithm: input size n (in some encoding), worst case running time – O(n c ) for some constant c. Three classes of problems.
TECH Computer Science NP-Complete Problems Problems  Abstract Problems  Decision Problem, Optimal value, Optimal solution  Encodings  //Data Structure.
Approximation Algorithms
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 33.
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.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Sailesh Prabhu Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
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.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 29.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
28.
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.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 32.
NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Advanced Algorithms Piyush Kumar (Lecture 8: NP Completeness) Welcome to COT5405 Based on Kevin Wayne’s slides.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
Conceptual Foundations © 2008 Pearson Education Australia Lecture slides for this course are based on teaching materials provided/referred by: (1) Statistics.
P, NP, NP-completeness 2 Reductions 1 Thu, July 7 th 1.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
More NP-Complete and NP-hard Problems
Data Structures and Algorithm Analysis Lecture 24
Intractable Problems Dr K R Bond 2009
Richard Anderson Lecture 26 NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Intro to Theory of Computation
Richard Anderson Lecture 25 NP-Completeness
NP-Completeness Yin Tat Lee
Presentation transcript:

30

NP-Complete NP-complete: A problem Y in NP with the property that for every problem X in NP, X  p Y Theorem: Suppose Y is an NP-complete problem. Then Y is solvable in poly-time iff P = NP Pf:  If P = NP then Y can be solved in poly-time since Y is in NP Pf:  Suppose Y can be solved in poly-time Let X be any problem in NP. Since X  p Y, we can solve X in poly-time. This implies NP  P We already know P  NP. Thus P = NP Fundamental question: Do there exist "natural" NP-complete problems?

Circuit Satisfiability CIRCUIT-SAT: Given a combinational circuit built out of AND, OR, and NOT gates, is there a way to set the circuit inputs so that the output is 1?

Circuit Satisfiability CIRCUIT-SAT: Given a combinational circuit built out of AND, OR, and NOT gates, is there a way to set the circuit inputs so that the output is 1? output    yes: 1 0 1    1 ? ? ? hard-coded inputs inputs

                    Find a satisfying assignment x3 x4 x5 x1 x2

Circuit Satisfiability Nobody knows how to solve this problem faster than just trying all possible 2n inputs to the circuit, but this requires exponential time But also, nobody has proven that this is the best we can do!

The "First" NP-Complete Problem Theorem: CIRCUIT-SAT is NP-complete. [Cook 1971, Levin 1973]. Pf: (sketch) Any algorithm that takes a fixed number of bits n as input and produces a yes/no answer can be represented by such a circuit. Moreover, if algorithm takes poly-time, then circuit is of poly-size Consider some problem X in NP. It has a poly-time certifier C(s, t). To determine whether s is in X, need to know if there exists a certificate t of length p(|s|) such that C(s, t) = yes View C(s, t) as an algorithm on |s| + p(|s|) bits (input s, certificate t) and convert it into a poly-size circuit K first |s| bits are hard-coded with s remaining p(|s|) bits represent bits of t Circuit K is satisfiable iff C(s, t) = yes sketchy part of proof; fixing the number of bits is important, and reflects basic distinction between algorithms and circuits

Example Ex: Construction below creates a circuit K whose inputs can be set so that K outputs true iff graph G has an independent set of size 2  independent set of size 2? independent set?  both endpoints of some edge have been chosen?    set of size 2?     u    v w G = (V, E), n = 3 u-v u-w v-w u v w 1 1 ? ? ? hard-coded inputs (graph description) n inputs (nodes in independent set)

Establishing NP-Completeness Remark: Once we establish first "natural" NP-complete problem, others fall like dominoes Recipe to establish NP-completeness of problem Y Step 1. Show that Y is in NP Step 2. Choose an NP-complete problem X Step 3. Prove that X  p Y Justification: If X is an NP-complete problem, and Y is a problem in NP with the property that X  P Y then Y is NP-complete Pf: Let W be any problem in NP. Then W  P X  P Y By transitivity, W  P Y Hence Y is NP-complete

3-SAT is NP-Complete Theorem: 3-SAT is NP-complete Pf: Suffices to show that CIRCUIT-SAT  P 3-SAT since 3-SAT is in NP Let K be any circuit Create a 3-SAT variable xi for each circuit element i Encode requirement that circuit computes correct values at each node x2 =  x3  add 2 clauses: x1 = x4  x5  add 3 clauses: x0 = x1  x2  add 3 clauses: Hard-coded input values and output value x5 = 0  add 1 clause: x0 = 1  add 1 clause: Final step: turn clauses of length < 3 into clauses of length exactly 3 output x0  x1 x2   x5 x4 x3 ? ?

NP-Completeness Observation: All problems below are NP-complete and polynomial reduce to one another! by definition of NP-completeness CIRCUIT-SAT 3-SAT 3-SAT reduces to INDEPENDENT SET INDEPENDENT SET DIR-HAM-CYCLE GRAPH 3-COLOR SUBSET-SUM VERTEX COVER HAM-CYCLE PLANAR 3-COLOR SCHEDULING SET COVER TSP

Some NP-Complete Problems Six basic genres of NP-complete problems and paradigmatic examples Packing problems: SET-PACKING, INDEPENDENT SET Covering problems: SET-COVER, VERTEX-COVER Constraint satisfaction problems: SAT, 3-SAT Sequencing problems: HAMILTONIAN-CYCLE, TSP Partitioning problems: 3D-MATCHING 3-COLOR Numerical problems: SUBSET-SUM, KNAPSACK Practice: Most NP problems are either known to be in P or NP-complete

Extent and Impact of NP-Completeness Extent of NP-completeness [Papadimitriou 1995] Prime intellectual export of CS to other disciplines 6,000 citations per year (title, abstract, keywords) more than "compiler", "operating system", "database" Broad applicability and classification power "Captures vast domains of computational, scientific, mathematical endeavors, and seems to roughly delimit what mathematicians and scientists had been aspiring to compute feasibly.“ NP-completeness can guide scientific inquiry

More Hard Computational Problems Aerospace engineering: optimal mesh partitioning for finite elements Biology: protein folding Chemical engineering: heat exchanger network synthesis Civil engineering: equilibrium of urban traffic flow Economics: computation of arbitrage in financial markets with friction Electrical engineering: VLSI layout Environmental engineering: optimal placement of contaminant sensors Financial engineering: find minimum risk portfolio of given return Game theory: find Nash equilibrium that maximizes social welfare Genomics: phylogeny reconstruction Mechanical engineering: structure of turbulence in sheared flows Medicine: reconstructing 3-D shape from biplane angiocardiogram Operations research: optimal resource allocation Physics: partition function of 3-D Ising model in statistical mechanics Politics: Shapley-Shubik voting power Pop culture: Minesweeper consistency. Statistics: optimal experimental design