Algorithm Design and Analysis

Similar documents
Algorithm Design and Analysis

4/19/11. NP and NP completeness. Decision Problems. Definition of P. Certifiers and Certificates: COMPOSITES

4/22/12. NP and NP completeness. Efficient Certification. Decision Problems. Definition of P

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

3/22/2018. CS 580: Algorithm Design and Analysis. 8.3 Definition of NP. Chapter 8. NP and Computational Intractability. Decision Problems.

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

Announcements. Analysis of Algorithms

CS 580: Algorithm Design and Analysis

3/22/2018. CS 580: Algorithm Design and Analysis. Circuit Satisfiability. Recap. The "First" NP-Complete Problem. Example.

8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability. Classify Problems

NP and Computational Intractability

COP 4531 Complexity & Analysis of Data Structures & Algorithms

Chapter 8. NP and Computational Intractability. CS 350 Winter 2018

7.8 Intractability. Overview. Properties of Algorithms. Exponential Growth. Q. What is an algorithm? A. Definition formalized using Turing machines.

7.8: Intractability. Overview. Exponential Growth. Properties of Algorithms. What is an algorithm? Turing machine.

CS 583: Algorithms. NP Completeness Ch 34. Intractability

A difficult problem. ! Given: A set of N cities and $M for gas. Problem: Does a traveling salesperson have enough $ for gas to visit all the cities?

Intractability. A difficult problem. Exponential Growth. A Reasonable Question about Algorithms !!!!!!!!!! Traveling salesperson problem (TSP)

10.3: Intractability. Overview. Exponential Growth. Properties of Algorithms. What is an algorithm? Turing machine.

Computational Intractability 2010/4/15. Lecture 2

Approximation and Randomized Algorithms (ARA) Lecture 2, September 1, 2010

Algorithms Design & Analysis. Approximation Algorithm

Intro to Theory of Computation

Intro to Theory of Computation

NP completeness and computational tractability Part II

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2)

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

Algorithm Design and Analysis

Polynomial-Time Reductions

8.5 Sequencing Problems

SAT, Coloring, Hamiltonian Cycle, TSP

NP and Computational Intractability

1. Introduction Recap

NP and NP-Completeness

More NP-Complete Problems

Lecture 4: NP and computational intractability

4/20/11. NP-complete problems. A variety of NP-complete problems. Hamiltonian Cycle. Hamiltonian Cycle. Directed Hamiltonian Cycle

SAT, NP, NP-Completeness

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 34: NP-Completeness

Polynomial-time Reductions

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

CS 320, Fall Dr. Geri Georg, Instructor 320 NP 1

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

1.1 P, NP, and NP-complete

P and NP. Inge Li Gørtz. Thank you to Kevin Wayne, Philip Bille and Paul Fischer for inspiration to slides

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20

Chapter 8. NP and Computational Intractability

P and NP. Warm Up: Super Hard Problems. Overview. Problem Classification. Tools for classifying problems according to relative hardness.

CS 580: Algorithm Design and Analysis

CSC 373: Algorithm Design and Analysis Lecture 15

NP-Complete Reductions 1

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

NP and NP Completeness

Classes of Problems. CS 461, Lecture 23. NP-Hard. Today s Outline. We can characterize many problems into three classes:

4/30/14. Chapter Sequencing Problems. NP and Computational Intractability. Hamiltonian Cycle

Complexity, P and NP

8.5 Sequencing Problems. Chapter 8. NP and Computational Intractability. Hamiltonian Cycle. Hamiltonian Cycle

NP Complete Problems. COMP 215 Lecture 20

NP-Complete Problems. More reductions

A Working Knowledge of Computational Complexity for an Optimizer

COMPUTER SCIENCE. Computer Science. 16. Intractability. Computer Science. An Interdisciplinary Approach. Section 7.4.

Essential facts about NP-completeness:

NP-completeness. Chapter 34. Sergey Bereg

Computer Science. 16. Intractability. 16. Intractability. Computer Science. Reasonable questions. P and NP Poly-time reductions NP-completeness

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

CS154, Lecture 13: P vs NP

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

Algorithms, Lecture 3 on NP : Nondeterminis7c Polynomial Time

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

NP-Complete problems

ECS122A Handout on NP-Completeness March 12, 2018

Computability and Complexity Theory: An Introduction

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

Limits to Approximability: When Algorithms Won't Help You. Note: Contents of today s lecture won t be on the exam

CS/COE

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions

Polynomial-time reductions. We have seen several reductions:

Lecture 15 - NP Completeness 1

NP-Completeness. Subhash Suri. May 15, 2018

COMP 382. Unit 10: NP-Completeness

CS154, Lecture 13: P vs NP

Design and Analysis of Algorithms

Limitations of Algorithm Power

NP-Complete Reductions 2

Spring Lecture 21 NP-Complete Problems

CSE 421 NP-Completeness

Agenda. What is a complexity class? What are the important complexity classes? How do you prove an algorithm is in a certain class

CS21 Decidability and Tractability

NP-Completeness. ch34 Hewett. Problem. Tractable Intractable Non-computable computationally infeasible super poly-time alg. sol. E.g.

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

NP Completeness and Approximation Algorithms

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

Introduction to Complexity Theory. Bernhard Häupler. May 2, 2006

Transcription:

Algorithm Design and Analysis LECTURES 30-31 NP-completeness Definition NP-completeness proof for CIRCUIT-SAT Adam Smith 11/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne

Review Basic reduction strategies. Simple equivalence: INDEPENDENT-SET P VERTEX-COVER. Special case to general case: VERTEX-COVER P SET-COVER. Encoding with gadgets: 3-SAT P INDEPENDENT-SET. Transitivity. If X P Y and Y P Z, then X P Z. Pf idea. Compose the two algorithms. Ex: 3-SAT P INDEPENDENT-SET P VERTEX-COVER P SET-COVER. What kind of reduction would prove that all these are equivalent? a) b) Reduction from 3-SAT to SET-COVER = alg. for 3-SAT that uses a set-cover subroutine Reduction from SET-COVER to 3-SAT = alg. for set-cover that uses a 3-SAT subroutine

Definition of Class NP 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. 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. "certificate" or "witness" NP. Decision problems for which there exists a poly-time certifier. C(s, t) is a poly-time algorithm and t p( s ) for some polynomial p(). Remark. NP stands for nondeterministic polynomial-time.

Certifiers and Certificates: Composite 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 CompositesCertifier(s, t) { if (t 1 or t s) return false else if (s is a multiple of t) return true else return false } Instance. s = 437,669. Certificate. t = 541 or 809. 437,669 = 541 809 Conclusion. COMPOSITES is in NP.

Certifiers and Certificates: 3-Satisfiability 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. instance s certificate t Conclusion. SAT is in NP.

Certifiers and Certificates: Hamiltonian Cycle HAM-CYCLE. 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. Conclusion. HAM-CYCLE is in NP. instance s certificate t

Certifiers and Certificates: Independent Set INDEPENDENT SET: Given a graph G = (V, E) and an integer k, is there a subset of vertices S V such that S k, and for each edge at most one of its endpoints is in S? Certificate. A set of k nodes. Certifier. Check that there are no edges between all pairs of nodes in the set. Conclusion. INDEPENDENT-SET is in NP. independent set 7

P, NP, EXP P. Decision problems for which there is a poly-time algorithm. EXP. Decision problems for which there is an exponential-time algorithm, i.e., an algorithm that runs in time O(2 p( s ) ) for some polynomial p( ). NP. Decision problems for which there is a poly-time certifier. Claim. P NP. Pf. Consider any problem X in P. By definition, there exists a poly-time algorithm A(s) that solves X. Certificate: t =, certifier C(s, t) = A(s). Claim. NP EXP. Pf. Consider any problem X in NP. By definition, there exists a poly-time 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.

The Main Question: P Versus NP Does P = NP? [Cook 1971, Edmonds, Levin, Yablonski, Gödel] 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 3-COLOR, TSP, FACTOR, SAT, If no: No efficient algorithms possible for 3-COLOR, TSP, SAT, Consensus opinion on P = NP? Probably no.

NP-Complete NP-complete. A problem Y is NP-complete if Y is in NP X p, Karp Y for every problem X in NP. 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, Karp 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?

A not-so-natural NP-complete problem Ver = { (p,x,1 t ): there exists a string y of length t such that program p on input (x,y) stops and outputs 1 within t time steps.} Exercise: Prove that this language is NP-complete.

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 0??? hard-coded inputs inputs

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. 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 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 there exists t such that C(s, t) = yes.

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 0 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, Karp Y. Justification. If X is an NP-complete problem, and Y is a problem in NP with the property that X P, Karp Y then Y is NP-complete. Pf. Let W be any problem in NP. Then W P, Karp X P, Karp Y. By transitivity, W P, Karp Y. Hence Y is NP-complete. by definition of NP-complete by assumption

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 x i for each circuit element i. Make circuit compute correct values at each node: x 2 = x 3 add 2 clauses: x 1 = x 4 x 5 add 3 clauses: x 0 = x 1 x 2 add 3 clauses: Hard-coded input values and output value. x 5 = 0 add 1 clause: x 0 = 1 add 1 clause: x 1 output x 0 x 2 Final step: turn clauses of length < 3 into clauses of length exactly 3 by adding extra variables: x 1 x 2 is satisfiable iff is satisfiable. x 5 x 4 0?? x 3

NP-Completeness Observation. All problems below are NP-complete and polynomial reduce (with Karp reductions) to one another! CIRCUIT-SAT by definition of NP-completeness 3-SAT 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, Traveling Salesman. 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. For most search problems, if the corresponding decision problem is in P, the search problem can be solved in polynomial time. Notable exceptions. Decision problem: Graph isomorphism. Search problems: Factoring, Nash equilibrium.

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. 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 NP-complete.

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.