CSCI3390-Lecture 16: NP-completeness

Similar documents
an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

Week 3: Reductions and Completeness

Lecture 25: Cook s Theorem (1997) Steven Skiena. skiena

Essential facts about NP-completeness:

CSCI3390-Lecture 14: The class NP

NP Complete Problems. COMP 215 Lecture 20

Complexity (Pre Lecture)

Design and Analysis of Algorithms

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

NP-Completeness. A language B is NP-complete iff B NP. This property means B is NP hard

TIME COMPLEXITY AND POLYNOMIAL TIME; NON DETERMINISTIC TURING MACHINES AND NP. THURSDAY Mar 20

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

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

The Cook-Levin Theorem

Polynomial time reduction and NP-completeness. Exploring some time complexity limits of polynomial time algorithmic solutions

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

NP-Completeness. Sections 28.5, 28.6

CS154, Lecture 13: P vs NP

Introduction to Complexity Theory

CSCI3390-Second Test with Solutions

CSCI3390-Lecture 17: A sampler of NP-complete problems

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

SOLUTION: SOLUTION: SOLUTION:

Week 2: Defining Computation

ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness. Prof. Peter Bermel January 11, 2017

Advanced topic: Space complexity

Polynomial Space. The classes PS and NPS Relationship to Other Classes Equivalence PS = NPS A PS-Complete Problem

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

P = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:

Theory of Computer Science

Announcements. Problem Set 7 graded; will be returned at end of lecture. Unclaimed problem sets and midterms moved!

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

NP-Complete Reductions 1

NP-Completeness. Until now we have been designing algorithms for specific problems

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Chapter 7: Time Complexity

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Comparison of several polynomial and exponential time complexity functions. Size n

CS154, Lecture 13: P vs NP

CS311 Computational Structures. NP-completeness. Lecture 18. Andrew P. Black Andrew Tolmach. Thursday, 2 December 2010

Computability and Complexity Theory: An Introduction

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170

CISC 4090 Theory of Computation

NP-Completeness and Boolean Satisfiability

The P-vs-NP problem. Andrés E. Caicedo. September 10, 2011

Theory of Computer Science. Theory of Computer Science. E3.1 Overview. E3.2 Cook-Levin Theorem E3.3 3SAT. E3.4 Summary. Further Reading (German)

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

Friday Four Square! Today at 4:15PM, Outside Gates

NP and NP Completeness

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

NP-Completeness. NP-Completeness 1

Lecture Notes 4. Issued 8 March 2018

6.5.3 An NP-complete domino game

Computability Theory

1 Computational problems

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Theory of Computation Time Complexity

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

Polynomial-time reductions. We have seen several reductions:

Complexity Theory Part II

Time to learn about NP-completeness!

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem?

Turing Machines and Time Complexity

COL 352 Introduction to Automata and Theory of Computation Major Exam, Sem II , Max 80, Time 2 hr. Name Entry No. Group

Complexity Theory. Knowledge Representation and Reasoning. November 2, 2005

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

P, NP, NP-Complete, and NPhard

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

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

NP Completeness and Approximation Algorithms

Complexity: moving from qualitative to quantitative considerations

BBM402-Lecture 11: The Class NP

Lecture 16: Time Complexity and P vs NP

Average case Complexity

CSCI3390-Assignment 2 Solutions

On the Computational Hardness of Graph Coloring

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Instructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP

Show that the following problems are NP-complete

Time to learn about NP-completeness!

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

Lecture 1: Course Overview and Turing machine complexity

Boolean circuits. Lecture Definitions

Intro to Theory of Computation

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

CS20a: NP completeness. NP-complete definition. Related properties. Cook's Theorem

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity, P and NP

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Lecture 3: Nondeterminism, NP, and NP-completeness

Lecture 3: Reductions and Completeness

Non-Approximability Results (2 nd part) 1/19

Principles of Knowledge Representation and Reasoning

Transcription:

CSCI3390-Lecture 16: NP-completeness 1 Summary We recall the notion of polynomial-time reducibility. This is just like the reducibility we studied earlier, except that we require that the function mapping instances of one problem to instances of the other be computable in polynomial time. We define NP-hard and NP-complete problems. NP-complete problems are, in a sense, the hardest problems in NP. If an NP-complete problem were shown to be in P, it would follow that P=NP, so that a proof of NPcompleteness is taken to be a proof that a problem is likely to be intractable. Main theorem: SAT is NP-complete (the Cook-Levin Theorem). From this start, we will use reduction to show that a number of other computational problems are NP-complete. We ll give the proof of the Cook-Levin Theorem. The idea is simple, the precise details a bit involved. As a warmup, we will show a few simpler reductions from problems in NP to SAT. 2 Polynomial-time reducibility (more formal than before) We discussed polynomial-time reducibility in the last lecture. Here is a formal definition. 1

2.1 Definition L 1 Σ, L 2 Γ computational problems. L 1 P L 2 if there exists a function such that f : Σ Γ w L 1 iff f(w) L 2 f computable in polynomial time (by a polynomial-time deterministic TM). Observe that ordinary reducibility has the same definition, without the polynomialtime part. 2.2 Properties 1. L 1 P L 2 and L 2 P implies L 1 P. (Compare ordinary reducibility and decidability.) 2. P is transitive, that is, if L 1 P L 2 and L 2 P L 3 then L 1 P L 3. Here is the proof. For 1, the algorithm for L 1 is: given an input w, compute f(w) and check whether f(w) L 2. The two hypotheses say that both these operations can be carried out in time polynomial in w. Thus L 1 P. For 2, let f : Σ Γ and g : Γ be the functions realizing the reductions of L 1 to L 2 and L 2 to L 3 respectively. Then g f : Σ Γ has one of the properties we need namely w L 1 if and only if g f(w) L 3. But how do we know that we can compute g f(w) in time bounded by a polynomial in n = w? It takes no more than cn k steps to compute f(w), and it takes no more than d v l steps to compute f(v) for v Γ. Further, observe that f(w) cn k, because we need at least one step to write down each letter of f(w). So we can compute g(f(w)) in cn k + d(cn k ) l = O(n kl ) steps. 2

3 NP-complete problems A problem L is NP-hard if for every L NP, L P L. We take this to mean that L is at least as hard (maybe harder) than any problem in NP. A problem is NP-complete if it is both NP-hard and in NP. The NP-complete problems represent, in a sense, the hardest problems in NP. By what we observed above, if an NP-complete problem can be shown to be in P, then P = NP. So proof of NP-completeness has become a kind of stand-in for proof that a problem is truly intractable. Cook-Levin Theorem If L NP then L P SAT. Since we already know that SAT is in NP, this shows that SAT is NP-complete. Earlier we showed SAT P 3-SAT. Thus it follows from the Cook-Levin theorem that 3-SAT is also NP-hard, and, since it is in NP, it is NP-complete. 4 Some warmup reductions The Cook-Levin Theorem says that every problem in NP is polynomial-time reducible to SAT. This means, in particular, that problems like graph 3-colorability, Hamiltonian path, Sudoku, etc. are reducible to SAT. Here we will give separate proofs of some of these facts, just to give you an idea of how such a reduction works in a somewhat simpler case. 4.1 Graph 3-colorability We give a polynomial-time reduction of Graph 3-colorability to SAT. This means that we have to describe an algorithm that translates each graph G to a propositional formula φ G in CNF such that G is 3-colorable if and only if φ G is satisfiable. Let the set of vertices of G be V (G) = {1,..., n}. Our formula will have 3n variables r i, g i, b i for i V (G). The intended meaning is that r i is true if and only if vertex i is colored red (and likewise green and blue, for the other variables). We need to write clauses that assert the following properties: 3

Every vertex is colored some color. No vertex is colored two different colors. Adjacent vertices are not colored the same color. The first property is translated by the n clauses r i g i b i for i V (G). To say vertex i is not colored both red and blue, we can write (r i b i ) r i b i. We get three such clauses for each i (for red and blue, red and green, blue and green). Thus this introduces 3n clauses, each with two literals. To say that vertex i and j are not colored the same color, we need three clauses: r i r j, ḡ i ḡ j, b i b j. We include these 3 clauses for every edge (i, j). Since there are not more than ( ) n 2 edges, this introduces fewer than 3n 2 /2 new clauses, each with two literals. Now it should be clear that satisfying assignments of the formula are precisely specifications of 3-colorings of G. So this algorithm is a reduction from 3-colorability to SAT. We counted clauses and literals to make sure that the construction could be carried out in time polynomial in the size of the graph, and resulted in a formula whose size is polynomial in the size of the graph. If you look a little more closely at the construction, you see that it gives a reduction from k-colorability to k-sat: The only place where the number of colors matters is in the first group of clauses that say that every vertex needs to be colored. In particular we get 2-colorability P 2 SAT. Since we showed that there is a polynomial-time algorithm for 2-SAT, there must be one for 2-colorability as well. (It is very easy to see that there is a polynomialtime algorithm for 2-colorability independently of this.) 4

4.2 Sudoku Consider an M M Sudoku board that has been partially filled. In the standard puzzle, M = 9. We will show how to construct a propositional formula that is satisfiable if and only if the board can be completed to a solved puzzle. The variables in the formula are p ijk, where 1 i, j, k M. We interpret this variable as asserting that the cell in row i and column j contains the number k. We write clauses to express the following requirements: The cells in the initial setup are filled as described (for example, if we are given a puzzle in which the cell in row 3, column 4, contains a 9, then this should be reflected in the formula by having p 1,3,9 be true.) Every cell contains exactly one number. No row contains two occurrences of the same number. No column contains two occurrences of the same number. No subsquare contains two occurrences of the same number. To express the first property, we just have a bunch of one-variable clauses of the form p ijk, giving the initial configuration of the puzzle. There are no more than M 2 such clauses. To say that every cell contains some number, we use the M 2 clauses M p ijk, k=1 one for each cell i, j. Each of these clauses contains M literals. To say that no cell contains two different numbers, for each cell i, j and each pair k k, we have the clause p ijk p ijk. There are M 2 (M) 2 < M 4 such clauses, each with two literals. To say that no row contains two occurrences of the same number, for each row i, for each pair j j, and for each value k, we have the clause p ijk p ij k. 5

Once again there are M 2 (M) 2 < M 4 such clauses, each with two literals. We get similar formulas for the remaining two conditions. For the subsquares condition, we have to consider all pairs of distinct pairs (i, j), (i, j ) belonging to the same subsquare, but the count is the same. So we wind up with a formula having O(M 4 ) clauses, each with no more than M literals, which we can write down directly from the given instance. Observe that the great majority of clauses are common to every instance of the problem only the first category depends on the particular instance. We constructed the formula in such a way that it is satisfiable if and only if the puzzle has a solution. So this shows SUDOKU P SAT. 5 Proof of the Cook-Levin Theorem We now show that for any L NP, L P SAT. The setup. Let L NP. Then L is accepted by a polytime NDTM M = (Q, Σ, Γ, s 0, δ). Recall the model definition this is just an ordinary deterministic polynomial time TM with a guessing phase at the beginning. We will suppose this is a TM whose tape is infinite in only one direction. (This makes the details slightly easier to write down, and could easily be avoided.) We imagine computation of the successive configurations of the deterministic part of M (after the guessing phase) on input w as the process of filling in the cells of a square grid with tape symbols of M.. In row 1 we have written w, ( w = n) and the guess which takes up cn k squares of the first row. The computation runs for at most dn l steps. If the machine enters a halted state before this number of steps is completed, we will just say it maintains the same configuration for the remaining steps. Since the length of the tape (the non-blank portion) cannot exceed the number of steps of the computation, the entire computation will fit in an N N square, where N = dn l. In addition to filling the cells of the grid with tape symbols, we need to indicate for each time the cell that is currently being scanned, and the state. For each w we have to produce a formula φ w in CNF such that (a) the construction of φ w can be carried out in polynomial time in the length of w, and (b) there is an accepting computation of M on w if and only if φ w is satisfiable. Most of the proof is devoted to the construction of φ w. Once you get how the construction works, (a) and (b) will be (more or less) obvious but we will explain them. 6

Figure 1: Proof of the Cook-Levin theorem that SAT is NP-complete, requires constructing a formula φ w for which every satisfying assignment corresponds to entering tape symbols in this N N grid, along with specification of a state at each time and a reading head position at each time. The entries are required to satisfy certain initial and final conditions, shown in the diagram, as well as be consistent with the operation of the Turing machine at each step. All these requirements can be formulated as clauses of φ w. 7

Variables. These are of two types: 1. For 1 i, j N and γ Γ, the alphabet of tape symbols of M, we have the variable symbol γ,i,j, which we interpret to mean, at time i, cell j of the tape contains the symbol γ. 2. For 1 i, j N and s Q, the state set of M, a variable pos i,j,s which we interpret to mean, at time i, the reading head is at cell j of the tape, and the machine is in state s. Clauses. These are of several types: 1. A group of clauses that gives the initial configuration of the machine at time 1. 2. A group of clauses that says that at each time step t > 1, the configuration of the machine follows from the configuration in the preceding step by the transition rules of M.. 3. A clause that says that at time N, M is in an accepting state. Let s construct the first group of clauses: We need to say that at time 1 the reading head is on cell 1 and the M is in the machine s initial state s 0. This is handled by the one-variable clause pos 1,1,s0. We also need to say that this is the only head position and state at time 1, so we get N Q 1 other clauses pos 1,j,s whenever (j, s) (1, s 0 ). We need to say that at time 1, every cell contains exactly one symbol, so for every 1 j N and tape symbols γ γ, we have a clause symbol γ,1,j symbol γ,1,j. 8

and for every 1 j n the clause γ Γ symbol γ,1,j. Together these introduce O(N) new clauses, each with no more than Γ literals. If γ j is the j th symbol of w, then we need the one-variable clause symbol γj,1,j. This introduces n < N new clauses with one literal. If j > n + cn k, we need the one-variable clause symbol,1,j. This also introduces n < N new clauses with one literal. For the last group, we have the single clause N pos N,j,accept, j=1 with N literals. The remaining clauses describe the operation of the machine, showing how the configuration at each time step is derived from the configuration at the previous step. This ensures, among other things, there is only one possible configuration at each time t > 1 once the configuration at time 1 is fixed. We actually don t need to write down the exact clauses for to see how this works. We only need to observe that when i > 1, pos i,j,s and symbol γ,i,j are completely determined by the values of the 3 Q + 3 Γ variables pos i 1,k,s, symbol γ,i 1,k where s Q, γ Γ, and j 1 k j + 1. For example, the symbol at time i > 1 in cell j is γ if either (i) the symbol at time i 1 in cell j is γ, and the reading head is NOT on cell j at time i 1; or (ii) the reading head is on cell j at time i 1, the state is s, the symbol scanned is γ and the second component of δ(s, γ ) is γ. To represent this, we provisionally write a clause symbol γ,i,j θ, 9

where θ expresses all these conditions. The formula θ is some complicated propositional formula in the 3 Q + 3 Γ variables given above. We then convert symbol γ,i,j θ in CNF. This might give us a lot of clauses, but the number of such clauses for each fixed i, j does not depend on N. We treat pos i,j,s in exactly the same way. Thus this group contains O(N 2 ) clauses, each with O(1) literals. The result is a formula that is satisfiable if and only if there is some way to guess values in the guessing portion of the tape at time 0 so as to produce an accepting run of the Turing machine, that is, if and only if w L. The construction shows that the size of the formula is bounded above by a polynomial in N, and thus by a polynomial in n. In a sense, this is just like the proof that Sudoku is polynomial-time reducible to SAT: We are given an initial configuration of the grid, and some rules for filling the grid, and ask whether it is possible to solve the puzzle, where the rules for the solved puzzle are defined by a formula of propositional logic. The important point is that this formula is easy to write down, and has size bounded by a polynomial in the original input. 10