! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.



Similar documents
CSC 373: Algorithm Design and Analysis Lecture 16

Lecture 7: NP-Complete Problems

A Working Knowledge of Computational Complexity for an Optimizer

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

OHJ-2306 Introduction to Theoretical Computer Science, Fall

CoNP and Function Problems

Chapter. NP-Completeness. Contents

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

P versus NP, and More

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Introduction to Algorithms. Part 3: P, NP Hard Problems

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Introduction to computer science

The Classes P and NP

5.1 Bipartite Matching

Introduction to Logic in Computer Science: Autumn 2006

Theoretical Computer Science (Bridging Course) Complexity

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Tetris is Hard: An Introduction to P vs NP

Welcome to... Problem Analysis and Complexity Theory , 3 VU

Guessing Game: NP-Complete?

2.1 Complexity Classes

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Tutorial 8. NP-Complete Problems

Computational complexity theory

Complexity Classes P and NP

Lecture 30: NP-Hard Problems [Fa 14]

CMPSCI611: Approximating MAX-CUT Lecture 20

One last point: we started off this book by introducing another famously hard search problem:

11. APPROXIMATION ALGORITHMS

Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY

Exponential time algorithms for graph coloring

Notes on NP Completeness

Discrete Mathematics Problems

Factoring & Primality

Ian Stewart on Minesweeper

Reductions & NP-completeness as part of Foundations of Computer Science undergraduate course

On the Relationship between Classes P and NP

Why? A central concept in Computer Science. Algorithms are ubiquitous.

ON THE COMPLEXITY OF THE GAME OF SET.

Chapter 1. NP Completeness I Introduction. By Sariel Har-Peled, December 30, Version: 1.05

NP-Completeness and Cook s Theorem

Applied Algorithm Design Lecture 5

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Discuss the size of the instance for the minimum spanning tree problem.

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

NP-completeness and the real world. NP completeness. NP-completeness and the real world (2) NP-completeness and the real world

Universality in the theory of algorithms and computer science

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Fairness in Routing and Load Balancing

The Open University s repository of research publications and other research outputs

Definition Given a graph G on n vertices, we define the following quantities:

Cloud Computing is NP-Complete

Prime Numbers. Difficulties in Factoring a Number: from the Perspective of Computation. Computation Theory. Turing Machine 電 腦 安 全

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Handout #1: Mathematical Reasoning

2 Primality and Compositeness Tests

Introduction to NP-Completeness Written and copyright c by Jie Wang 1

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Complexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München

MATH10040 Chapter 2: Prime and relatively prime numbers

Quantum and Non-deterministic computers facing NP-completeness

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

Updating Action Domain Descriptions

International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013

Lecture 13 - Basic Number Theory.

8 Primes and Modular Arithmetic

CAD Algorithms. P and NP

CHOOSING THE BEST HEURISTIC FOR A NP-PROBLEM

Approximation Algorithms

Transportation Polytopes: a Twenty year Update

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University

Why Study NP- hardness. NP Hardness/Completeness Overview. P and NP. Scaling 9/3/13. Ron Parr CPS 570. NP hardness is not an AI topic

CS510 Software Engineering

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Bargaining Solutions in a Social Network

Million Dollar Mathematics!

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

Sudoku as a SAT Problem

(Teams removed to preserve address privacy)

An Overview of Integer Factoring Algorithms. The Problem

Analysis of Algorithms, I

USE OF EIGENVALUES AND EIGENVECTORS TO ANALYZE BIPARTIVITY OF NETWORK GRAPHS

On the Dimensionality of Voting Games

Efficient Fault-Tolerant Infrastructure for Cloud Computing

Integer roots of quadratic and cubic polynomials with integer coefficients

Near Optimal Solutions

V. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005

Lecture 1: Oracle Turing Machines

On the independence number of graphs with maximum degree 3

Generating models of a matched formula with a polynomial delay

School Timetabling in Theory and Practice

SECTION 10-2 Mathematical Induction

Lecture 2: Universality

Transcription:

Decision Problems 8.2 Definition of NP Decision problem. X is a set of strings. Instance: string s. Algorithm A solves problem X: A(s) = yes iff s X. Polynomial time. Algorithm A runs in polytime if for every string s A(s) terminates in at most p( s ) "steps" where p(") is some polynomial. length of s PRIMES: X = { 2 3 5 7 11 13 17 23 29 31 37. } Algorithm. [AgrawalKayalSaxena 2002] p( s ) = s 8. Algorithm Design by Éva Tardos and Jon Kleinberg Copyright 2005 Addison Wesley Slides by Kevin Wayne 2 Definition of P NP P. Decision problems for which there is a polytime algorithm. Problem Description Algorithm Yes No Certification algorithm intuition. Certifier views things from "managerial" viewpoint. Certifier doesn't determine whether s X on its own; rather it checks a proposed proof t that s X. MULTIPLE RELPRIME Is x a multiple of y? Are x and y relatively prime? Grade school division Euclid (300 BCE) 51 17 34 39 51 16 34 51 Def. Algorithm C(s t) is a certifier for problem X if for every string s s X iff there exists a string t such that C(s t) = yes. PRIMES EDIT DISTANCE LSOLVE Is x prime? Is the edit distance between x and y less than 5? Is there a vector x that satisfies Ax = b? AKS (2002) Dynamic programming GaussEdmonds elimination 53 niether neither # 0 1 1& # 4& % ( % ( % 2 4 "2 ( % 2 ( $ % 0 3 15' ( $ % 36' ( 51 acgggt ttttta " 1 0 0% " 1% $ ' $ ' $ 1 1 1 ' $ 1 ' # $ 0 1 1& ' # $ 1& ' "certificate" or "witness" NP. Decision problems for which there exists a polytime certifier. C(s t) is a polytime algorithm and t # p( s ) for some polynomial p("). Remark. NP stands for nondeterministic polynomialtime. 3 4

Certifiers and Certificates: Composite Certifiers and Certificates: 3Satisfiability COMPOSITES. Given an integer s is s composite? Certificate. A nontrivial factor t of s. Note that such a certificate exists iff s is composite. Moreover t # s. Certifier. boolean C(s t) { if (t # 1 or t % s) return false else if (s is a multiple of t) return true else return false } SAT. Given a CNF formula & is there a satisfying assignment? Certificate. An assignment of truth values to the n boolean variables. Certifier. Check that each clause in & has at least one true literal. Ex. ( x 1 " x 2 " x 3 ) # ( x 1 " x 2 " x 3 ) # ( x 1 " x 2 " x 4 ) # ( x 1 " x 3 " x 4 ) instance s x 1 =1 x 2 =1 x 3 = 0 x 4 =1 Instance. s = 437669. Certificate. t = 541 or 809. Conclusion. COMPOSITES is in NP. 437669 = 541 $ 809 Conclusion. SAT is in NP. certificate t 5 6 Certifiers and Certificates: Hamiltonian Cycle P NP EXP HAMCYCLE. Given an undirected graph G = (V E) does there exist a simple cycle C that visits every node? Certificate. A permutation of the n nodes. Certifier. Check that the permutation contains each node in V exactly once and that there is an edge between each pair of adjacent nodes in the permutation. P. Decision problems for which there is a polytime algorithm. EXP. Decision problems for which there is an exponentialtime algorithm. NP. Decision problems for which there is a polytime certifier. Claim. P ' NP. Pf. Consider any problem X in P. By definition there exists a polytime algorithm A(s) that solves X. Certificate: t = ( certifier C(s t) = A(s). Conclusion. HAMCYCLE is in NP. Claim. NP ' EXP. Pf. Consider any problem X in NP. By definition there exists a polytime certifier C(s t) for X. To solve input s run C(s t) on all strings t with t # p( s ). Return yes if C(s t) returns yes for any of these. instance s certificate t 7 8

The Main Question The Simpson's: P = NP? Does P = NP? [Cook 1971] Is the decision problem as easy as the certification problem? Clay $1 million prize. EXP P NP EXP P = NP If P ) NP If P = NP would break RSA cryptography (and potentially collapse economy) If yes: Efficient algorithms for 3COLOR TSP FACTOR SAT If no: No efficient algorithms possible for 3COLOR TSP SAT Copyright 1990 Matt Groening Consensus opinion on P = NP? Probably no. 9 10 Futurama: P = NP? Looking for a Job? Some writers for the Simpsons and Futurama. J. Steward Burns. M.S. in mathematics Berkeley 1993. David X. Cohen. M.S. in computer science Berkeley 1992. Al Jean. B.S. in mathematics Harvard 1981. Ken Keeler. Ph.D. in applied mathematics Harvard 1990. Jeff Westbrook. Ph.D. in computer science Princeton 1989. Copyright 2000 Twentieth Century Fox 11 12

Polynomial Transformation 8.3 NPComplete Def. Problem X polynomial reduces (Cook) to problem Y if arbitrary instances of problem X can be solved using: Polynomial number of standard computational steps plus Polynomial number of calls to oracle that solves problem Y. Def. Problem X polynomial transforms (Karp) to problem Y if given any input x to X we can construct an input y such that x is a yes instance of X iff y is a yes instance of Y. we require y to be of size polynomial in x Note. Polynomial transformation is polynomial reduction with just one call to oracle for Y exactly at the end of the algorithm for X. Almost all previous reductions were of this form. Open question. Are these two concepts the same? we abuse notation # p and blur distinction Algorithm Design by Éva Tardos and Jon Kleinberg Copyright 2005 Addison Wesley Slides by Kevin Wayne 14 NPComplete Circuit Satisfiability NPcomplete. A problem Y in NP with the property that for every problem X in NP X # p Y. CIRCUITSAT. 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? Theorem. Suppose Y is an NPcomplete problem. Then Y is solvable in polytime iff P = NP. Pf. * If P = NP then Y can be solved in polytime since Y is in NP. Pf. + Suppose Y can be solved in polytime. Let X be any problem in NP. Since X # p Y we can solve X in polytime. This implies NP ' P. We already know P ' NP. Thus P = NP. output Fundamental question. Do there exist "natural" NPcomplete problems? yes: 1 0 1 1 0??? hardcoded inputs inputs 15 16

The "First" NPComplete Problem Example Theorem. CIRCUITSAT is NPcomplete. [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 polytime then circuit is of polysize. 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? independent set of size 2? sketchy part of proof; fixing the number of bits is important and reflects basic distinction between algorithms and circuits Consider some problem X in NP. It has a polytime 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 polysize circuit K. first s bits are hardcoded with s remaining p( s ) bits represent bits of t Circuit K is satisfiable iff C(s t) = yes. both endpoints of some edge have been chosen? u v w G = (V E) n = 3 uv uw 1 0 vw 1 u? v? set of size 2? w? 17 " n % $ ' hardcoded inputs (graph description) # 2 & n inputs (nodes in independent set) 18 Establishing NPCompleteness 3SAT is NPComplete Remark. Once we establish first "natural" NPcomplete problem others fall like dominoes. Recipe to establish NPcompleteness of problem Y. Step 1. Show that Y is in NP. Step 2. Choose an NPcomplete problem X. Step 3. Prove that X # p Y. Justification. If X is an NPcomplete problem and Y is a problem in NP with the property that X # P Y then Y is NPcomplete. Pf. Let W be any problem in NP. Then W # P X # P Y. By transitivity W # P Y. Hence Y is NPcomplete. by definition of NPcomplete by assumption Theorem. 3SAT is NPcomplete. Pf. Suffices to show that CIRCUITSAT # P 3SAT since 3SAT is in NP. Let K be any circuit. Create a 3SAT variable x i for each circuit element i. Make circuit compute correct values at each node: x 2 = x 3 + add 2 clauses: x 2 " x 3 x 2 " x 3 x 1 = x 4 x 5 + add 3 clauses: x 0 = x 1 x 2 + add 3 clauses: x 1 " x 4 x 1 " x 5 x 1 " x 4 " x 5 x 0 " x 1 x 0 " x 2 x 0 " x 1 " x 2 Hardcoded input values and output value. x 5 = 0 + add 1 clause: x 5 x 0 = 1 + add 1 clause: x 0 Final step: turn clauses of length < 3 into clauses of length exactly 3. x 1 output x 0 x 2 x 5 x 4 x 3 0?? 19 20

NPCompleteness Some NPComplete Problems Observation. All problems below are NPcomplete and polynomial reduce to one another 3SAT reduces to INDEPENDENT SET CIRCUITSAT 3SAT by definition of NPcompleteness Six basic genres of NPcomplete problems and paradigmatic examples. Packing problems: SETPACKING INDEPENDENT SET. Covering problems: SETCOVER VERTEXCOVER. Constraint satisfaction problems: SAT 3SAT. Sequencing problems: HAMILTONIANCYCLE TSP. Partitioning problems: 3COLOR 3DMATCHING. Numerical problems: SUBSETSUM KNAPSACK. INDEPENDENT SET DIRHAMCYCLE GRAPH 3COLOR SUBSETSUM Practice. Most NP problems are either known to be in P or NPcomplete. Notable exceptions. Factoring graph isomorphism Nash equilibrium. VERTEX COVER HAMCYCLE PLANAR 3COLOR SCHEDULING SET COVER TSP 21 22 Extent and Impact of NPCompleteness More Hard Computational Problems Extent of NPcompleteness. [Papadimitriou 1995] Prime intellectual export of CS to other disciplines. 6000 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." NPcompleteness can guide scientific inquiry. 1926: Ising introduces simple model for phase transitions. 1944: Onsager solves 2D case in tour de force. 19xx: Feynman and other top minds seek 3D solution. 2000: Istrail proves 3D problem NPcomplete. 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 3D shape from biplane angiocardiogram. Operations research: optimal resource allocation. Physics: partition function of 3D Ising model in statistical mechanics. Politics: ShapleyShubik voting power. Pop culture: Minesweeper consistency. Statistics: optimal experimental design. 23 24

Asymmetry of NP 8.8 conp and the Asymmetry of NP Asymmetry of NP. We only need to have short proofs of yes instances. Ex 1. SAT vs. TAUTOLOGY. Can prove a CNF formula is satisfiable by giving such an assignment. How could we prove that a formula is not satisfiable? Ex 2. HAMCYCLE vs. NOHAMCYCLE. Can prove a graph is Hamiltonian by giving such a Hamiltonian cycle. How could we prove that a graph is not Hamiltonian? Remark. SAT is NPcomplete and SAT. P TAUTOLOGY but how do we classify TAUTOLOGY? not even known to be in NP Algorithm Design by Éva Tardos and Jon Kleinberg Copyright 2005 Addison Wesley Slides by Kevin Wayne 26 NP and conp NP = conp? NP. Decision problems for which there is a polytime certifier. Ex. SAT HAMCYCLE COMPOSITES. Def. Given a decision problem X its complement X is the same problem with the yes and no answers reverse. Ex. X = { 0 1 4 6 8 9 10 12 14 15 } Ex. X = { 2 3 5 7 11 13 17 23 29 } conp. Complements of decision problems in NP. Ex. TAUTOLOGY NOHAMCYCLE PRIMES. Fundamental question. Does NP = conp? Do yes instances have succinct certificates iff no instances do? Consensus opinion: no. Theorem. If NP ) conp then P ) NP. Pf idea. P is closed under complementation. If P = NP then NP is closed under complementation. In other words NP = conp. This is the contrapositive of the theorem. 27 28

Good Characterizations Good Characterizations Good characterization. [Edmonds 1965] NP I conp. If problem X is in both NP and conp then: for yes instance there is a succinct certificate for no instance there is a succinct disqualifier Provides conceptual leverage for reasoning about a problem. Ex. Given a bipartite graph is there a perfect matching. If yes can exhibit a perfect matching. If no can exhibit a set of nodes S such that N(S) < S. Observation. P ' NP I conp. Proof of maxflow mincut theorem led to stronger result that maxflow and mincut are in P. Sometimes finding a good characterization seems easier than finding an efficient algorithm. Fundamental open question. Does P = NP I conp? Mixed opinions. Many examples where problem found to have a nontrivial good characterization but only years later discovered to be in P. linear programming [Khachiyan 1979] primality testing [AgrawalKayalSaxena 2002] Fact. Factoring is in NP I conp but not known to be in P. if polytime algorithm for factoring can break RSA cryptosystem 29 30 PRIMES is in NP / conp FACTOR is in NP / conp Theorem. PRIMES is in NP / conp. Pf. We already know that PRIMES is in conp so it suffices to prove that PRIMES is in NP. FACTORIZE. Given an integer x find its prime factorization. FACTOR. Given two integers x and y does x have a nontrivial factor less than y? Pratt's Theorem. An odd integer s is prime iff there exists an integer 1 < t < s s.t. t s"1 # 1 (mod s) Input. s = 437677 Certificate. t = 17 2 2 $ 3 $ 36473 prime factorization of s1 also need a recursive certificate to assert that 3 and 36473 are prime t (s"1) / p $ 1 (mod s) for all prime divisors p of s1 Certifier. Check s1 = 2 $ 2 $ 3 $ 36473. Check 17 s1 = 1 (mod s). Check 17 (s1)/2. 437676 (mod s). Check 17 (s1)/3. 329415 (mod s). Check 17 (s1)/36473. 305452 (mod s). Theorem. FACTOR. P FACTORIZE. Theorem. FACTOR is in NP / conp. Pf. Certificate: a factor p of x that is less than y. Disqualifier: the prime factorization of x (where each prime factor is less than y) along with a certificate that each factor is prime. use repeated squaring 31 32