NP-Completeness and Boolean Satisfiability

Similar documents
Intractable Problems. Time-Bounded Turing Machines Classes P and NP Polynomial-Time Reductions

Intractable Problems [HMU06,Chp.10a]

Essential facts about NP-completeness:

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine.

CSE 135: Introduction to Theory of Computation NP-completeness

Finish K-Complexity, Start Time Complexity

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.

CISC 4090 Theory of Computation

CS154, Lecture 13: P vs NP

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

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?

Lecture 16: Time Complexity and P vs NP

CS154, Lecture 13: P vs NP

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

Advanced Topics in Theoretical Computer Science

Theory of Computation Time Complexity

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

Automata Theory CS Complexity Theory I: Polynomial Time

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

SAT, NP, NP-Completeness

Chapter 7: Time Complexity

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

Intro to Theory of Computation

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

Lecture 7: Polynomial time hierarchy

conp, Oracles, Space Complexity

CS151 Complexity Theory. Lecture 1 April 3, 2017

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

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

CS154, Lecture 17: conp, Oracles again, Space Complexity

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

Introduction to Complexity Theory

Boolean circuits. Lecture Definitions

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

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION

CS 5114: Theory of Algorithms

Notes for Lecture Notes 2

Recap from Last Time

NP Completeness and Approximation Algorithms

CS5371 Theory of Computation. Lecture 19: Complexity IV (More on NP, NP-Complete)

CP405 Theory of Computation

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

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY. FLAC (15-453) Spring l. Blum TIME COMPLEXITY AND POLYNOMIAL TIME;

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

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

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

Notes for Lecture 21

Time-bounded computations

NP-Completeness Part II

1 Computational Problems

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

NP, polynomial-time mapping reductions, and NP-completeness

Review of unsolvability

Design and Analysis of Algorithms

COSE215: Theory of Computation. Lecture 20 P, NP, and NP-Complete Problems

Complexity: moving from qualitative to quantitative considerations

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

Comp487/587 - Boolean Formulas

SAT, Coloring, Hamiltonian Cycle, TSP

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

Introduction to Computational Complexity

MTAT Complexity Theory October 13th-14th, Lecture 6

Automata Theory CS S-18 Complexity Theory II: Class NP

CS154 Final Examination

Acknowledgments 2. Part 0: Overview 17

Definition: conp = { L L NP } What does a conp computation look like?

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010

Lecture 20: conp and Friends, Oracles in Complexity Theory

Nondeterminism and Epsilon Transitions

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

CSE 105 Theory of Computation

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

Polynomial-time Reductions

Spring Lecture 21 NP-Complete Problems

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Show that the following problems are NP-complete

Lecture 22: PSPACE

CSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016

Introduction to Advanced Results

Introduction. Pvs.NPExample

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

Lecture 3: Nondeterminism, NP, and NP-completeness

1 Non-deterministic Turing Machine

Theory of Computation

CS154 Final Examination

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

NP Complete Problems. COMP 215 Lecture 20

CSCI3390-Lecture 16: NP-completeness

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Easy Shortcut Definitions

COP 4531 Complexity & Analysis of Data Structures & Algorithms

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

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

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

INAPPROX APPROX PTAS. FPTAS Knapsack P

COSE215: Theory of Computation. Lecture 21 P, NP, and NP-Complete Problems

Theory of Computation Chapter 9

Transcription:

NP-Completeness and Boolean Satisfiability Mridul Aanjaneya Stanford University August 14, 2012 Mridul Aanjaneya Automata Theory 1/ 49

Time-Bounded Turing Machines A Turing Machine that, given an input of length n, always halts within T(n) moves is said to be T(n)-time bounded. The TM can be multitape. Sometimes, it can be nondeterministic. The deterministic, multitape case corresponds roughly to an O(T(n)) running-time algorithm. Mridul Aanjaneya Automata Theory 2/ 49

The class P If a DTM M is T(n)-time bounded for some polynomial T(n), then we say M is polynomial-time (polytime) bounded. And L(M) is said to be in the class P. Important Point: When we talk of P, it doesn t matter whether we mean by a computer or by a TM. Mridul Aanjaneya Automata Theory 3/ 49

Polynomial Equivalence of Computers and TM s A multitape TM can simulate a computer that runs for time O(T(n)) in at most O(T 2 (n)) of its own steps. If T(n) is a polynomial, so is T 2 (n). Mridul Aanjaneya Automata Theory 4/ 49

Examples of Problems in P Is w in L(G), for a given CFG G? Input w. Use CYK algorithm, which is O(n 3 ). Is there a path from node x to node y in graph G? Input = x, y, and G. Use Dijkstra s algorithm, which is O(n log n) on a graph of n nodes and arcs. Mridul Aanjaneya Automata Theory 5/ 49

Running Times Between Polynomials You might worry that something like O(n log n) is not a polynomial. However, to be in P, a problem only needs an algorithm that runs in time less than some polynomial. Surely O(n log n) is less than the polynomial O(n 2 ). Mridul Aanjaneya Automata Theory 6/ 49

A Tricky Case: Knapsack The Knapsack problem is: given positive integers i 1, i 2,..., i n, can we divide them in two sets with equal sums? Perhaps we can solve this problem in polytime by a dynamic-programming algorithm: Maintain a table of all the differences we can achieve by partitioning the first j integers. Mridul Aanjaneya Automata Theory 7/ 49

Knapsack Basis: j=0. Initially, the table has true for 0 and false for all other differences. Induction: To consider i j, start with a new table initially all false. Then set k to true if, in the old table, there is a value m that was true, and k is either m+i j or m-i j. Mridul Aanjaneya Automata Theory 8/ 49

Knapsack Suppose we measure running time in terms of the sum of the integers, say m. Each table only needs space O(m) to represent all the positive and negative differences we could achieve. Each table can be constructed in time O(n). Mridul Aanjaneya Automata Theory 9/ 49

Knapsack Since n m, we can build the final table in O(m 2 ) time. From that table, we can see if 0 is achievable and solve the problem. Mridul Aanjaneya Automata Theory 10/ 49

Subtlety: Measuring Input Size Input size has a specific meaning: the length of the representation of the problem as it is input to a TM. For the Knapsack problem, you cannot always write the input in a number of characters that is polynomial in either the number of or sum of the integers. Mridul Aanjaneya Automata Theory 11/ 49

Knapsack - Bad Case Suppose we have n integers, each of which is around 2 n. We can write integers in binary, so the input takes O(n 2 ) space to write down. But the tables require space O(n2 n ). They therefore require at least that order of time to construct. Mridul Aanjaneya Automata Theory 12/ 49

Bad Case Thus, the proposed polynomial algorithm actually takes time O(n 2 2 n ) on an input of length O(n 2 ). Or, since we like to use n as the input size, it takes time O(n2 sqrt (n)) on an input of length n. In fact, it appears no algorithm solves Knapsack in polynomial time. Mridul Aanjaneya Automata Theory 13/ 49

Redefining Knapsack We are free to describe another problem, call it Pseudo-Knapsack, where integers are represented unary. Pseudo-Knapsack is in P. Mridul Aanjaneya Automata Theory 14/ 49

The class NP The running time of a nondeterministic TM is the maximum number of steps taken along any branch. If that time bound is polynomial, the NTM is said to be polynomial-time bounded. And its language/problem is said to be in the class NP. Mridul Aanjaneya Automata Theory 15/ 49

Example: NP The Knapsack problem is definitely in NP, even using the conventional binary representation of integers. Use nondeterminism to guess one of the subsets. Sum the two subsets and compare. Mridul Aanjaneya Automata Theory 16/ 49

P versus NP Originally a curiosity of Computer Science, mathematicians now recognize as one of the most important open problems the question P = NP? There are thousands of problems that are in NP but appear not to be in P. But no proof that they aren t really in P. Mridul Aanjaneya Automata Theory 17/ 49

Complete Problems One way to address the P = NP question is to identify complete problems for NP. An NP-complete problem has the property that if it is in P, then every problem in NP is also in P. Defined formally via polytime reductions. Mridul Aanjaneya Automata Theory 18/ 49

Complete Problems: Intuition A complete problem for a class embodies every problem in the class, even if it does not appear so. Strange but true: Knapsack embodies every polytime NTM computation. Mridul Aanjaneya Automata Theory 19/ 49

Polytime Reductions Goal: Find a way to show problem X to be NP-complete by reducing every language/problem in NP to X in such a way that if we had a deterministic polynomial time algorithm for X, then we could construct a deterministic polynomial time algorithm for any problem in NP. Mridul Aanjaneya Automata Theory 20/ 49

Polytime Reductions We need the notion of a polytime transducer - a TM that: 1 Takes an input of length n. 2 Operates deterministically for some polynomial time p(n). 3 Produces an output on a separate output tape. Note: output length is at most p(n). Mridul Aanjaneya Automata Theory 21/ 49

Polytime Reductions State input n scratch tapes output <= p(n) Mridul Aanjaneya Automata Theory 22/ 49

Polytime Reductions Let L and M be languages. Say L is polytime reducible to M if there is a polytime transducer T such that for every input w to T, the output x = T(w) M if and only if w L. Mridul Aanjaneya Automata Theory 23/ 49

Picture of Polytime Reductions in L not in L T in M not in M Mridul Aanjaneya Automata Theory 24/ 49

NP-complete Problems A problem/language M is said to be NP-complete if for every language L NP, there is a polytime reduction from L to M. Fundamental Property: If M has a polytime algorithm, then L also has a polytime algorithm. i.e., if M P, then every L NP is also in P, or P = NP. Mridul Aanjaneya Automata Theory 25/ 49

Proof that Polytime Reductions Work Suppose M has an algorithm of polynomial time q(n). Let L have a polytime transducer T to M, taking polynomial time p(n). The output of T, given an input of length n, is at most of length p(n). The algorithm for M on the output of T takes time at most q(p(n)). Mridul Aanjaneya Automata Theory 26/ 49

Proof that Polytime Reductions Work We now have a polytime algorithm for L: 1 Given w of length n, use T to produce x of length p(n), taking time p(n). 2 Use the algorithm for M to tell if x M in time q(p(n)). 3 Answer for w is whatever the answer for x is. Total time p(n) + q(p(n)) = a polynomial. Mridul Aanjaneya Automata Theory 27/ 49

Boolean Expressions Boolean, or propositional-logic expressions are built from variables and constants using the operators AND, OR, and NOT. Constants are true and false, represented by 1 and 0, respectively. We ll use concatenation for AND, + for OR, - for NOT. Mridul Aanjaneya Automata Theory 28/ 49

Example: Boolean Expressions (x + y)(-x + -y) is true only when variables x and y have opposite truth values. Note: parentheses can be used at will, and are needed to modify the precendence order NOT (highest), AND, OR. Mridul Aanjaneya Automata Theory 29/ 49

The Satisfiability Problem (SAT) Study of boolean functions generally is concerned with the set of truth assignments (assignments of 0 or 1 to each of the variables) that make the function true. NP-completeness needs only a simpler question (SAT): does there exist a truth assignment making the function true? Mridul Aanjaneya Automata Theory 30/ 49

Example: SAT (x + y)(-x + -y) is satisfiable. There are, in fact, two satisfying truth assignments: 1 x=0; y=1. 2 x=1; y=0. x(-x) is not satisfiable. Mridul Aanjaneya Automata Theory 31/ 49

SAT is in NP There is a multitape NTM that can decide if a Boolean formula of length n is satisfiable. The NTM takes O(n 2 ) time along any path. Use nondeterminism to guess a truth assignment on a second tape. Replace all variables by guessed truth values. Evaluate the formula for this assignment. Accept if true. Cook s Theorem SAT is NP-complete. Mridul Aanjaneya Automata Theory 32/ 49

Picture so far We have one NP-complete problem: SAT. In the future, we shall do polytime reductions of SAT to other problems, thereby showing them to be NP-complete. Why? If we polytime reduce SAT to X, and X P, then so is SAT, and therefore so is all of NP. Mridul Aanjaneya Automata Theory 33/ 49

Conjunctive Normal Form A Boolean formula is in Conjunctive Normal Form (CNF) if it is the AND of clauses. Each clause if the OR of literals. Each literal if either a variable or the negation of a variable. CSAT Is a boolean formula in CNF satisfiable? Mridul Aanjaneya Automata Theory 34/ 49

NP-completeness of CSAT You can convert any formula to CNF. If may exponentiate the size of the formula and therefore take time to write down that is exponential in the size of the original formula, but these numbers are all fixed for a given NTM M and independent of n. Mridul Aanjaneya Automata Theory 35/ 49

k-sat If a boolean formula is in CNF and every clause consists of exactly k literals, we say that the boolean formula is an instance of k-sat. Say the formula is in k-cnf. Example: 3-SAT formula: (x + y + z)(x + -y + z)(x + y + -z)(x + -y + -z) Mridul Aanjaneya Automata Theory 36/ 49

k-sat Facts Every boolean formula has an equivalent CNF formula. But the size of the CNF formula may be exponential in the size of the original. Not every boolean formula has a k-sat equivalent. 2-SAT is in P, 3-SAT is NP-complete. Mridul Aanjaneya Automata Theory 37/ 49

Proof: 2-SAT is in P (sketch) Pick an assignment for some variable, say x = true. Any clause with -x forces the other literal to be true. Example: (-x + -y) forces y to be false. Keep seeing what other truth values are forced by variables with known truth values. Mridul Aanjaneya Automata Theory 38/ 49

Proof: 2-SAT is in P (sketch) One of three things can happen: 1 You reach a contradiction (e.g., z is forced to be both true and false). 2 You reach a point where no more variables have their truth value forced, but some clauses are not yet made true. 3 You reach a satisfying truth assignment. Mridul Aanjaneya Automata Theory 39/ 49

Proof: 2-SAT is in P (sketch) Case 1: (Contradition) There can be only a satisfying assignment if you use the other truth value for x. Simplify the formula by replacing x by this truth value and repeat the process. Case 3: You found a satisfying assignment, so answer yes. Mridul Aanjaneya Automata Theory 40/ 49

Proof: 2-SAT is in P (sketch) Case 2: (You force values for some variables, but other variables and clauses are not affected.) Adopt these truth values, eliminate the clauses that they satisfy, and repeat. In cases 1 and 2 you have spend O(n 2 ) time and have reduced the length of the formula by 1, so O(n 3 ) total. Mridul Aanjaneya Automata Theory 41/ 49

3-SAT This problem is NP-complete. Clearly it is in NP, since SAT is. It is not true that every boolean formula can be converted to an equivalent 3-CNF formula, even if we exponentiate the size of the formula. Mridul Aanjaneya Automata Theory 42/ 49

3-SAT But we don t need equivalence. We need to reduce every CNF formula F to some 3-CNF formula that is satisfiable if and only if F is. Reduction involves introducing new variables into long clauses, so that we can split them apart. Mridul Aanjaneya Automata Theory 43/ 49

Reduction of CSAT to 3-SAT Let (x 1 + x 2 +...+ x n ) be a clause in some CSAT instance, with n 4. Note: the x s are literals, not variables; any of them could be negated variables. Introduce new variables y 1,...,y n 3 that appear in no other clause. Mridul Aanjaneya Automata Theory 44/ 49

Reduction of CSAT to 3-SAT Replace (x 1 + x 2 +...+ x n ) by (x 1 +x 2 +y 1 )(x 3 +y 2 + -y 1 )... (x n 2 +y n 3 + -y n 4 )(x n 1 +x n + -y n 3 ). If there is a satisfying assignment of the x s for the CSAT instance, then one of the literals x i must be made true. Assign y i = true if j < i-1 and y j = false for larger j. Mridul Aanjaneya Automata Theory 45/ 49

Reduction of CSAT to 3-SAT We are not done. We also need to show that if the resulting 3SAT instance is satisfiable, then the original CSAT instance was satisfiable. Mridul Aanjaneya Automata Theory 46/ 49

Reduction of CSAT to 3-SAT Suppose (x 1 +x 2 +y 1 )(x 3 +y 2 + -y 1 )... (x n 2 +y n 3 + -y n 4 )(x n 1 +x n + -y n 3 ) is satisfiable, but none of the x s is true. The first clause forces y 1 = true. Then the second clause forces y 2 = true. And so on... all the y s must be true. But then the last clause is false. Mridul Aanjaneya Automata Theory 47/ 49

Reduction of CSAT to 3-SAT There is a little more to the reduction, for handling clauses of 1 or 2 literals. Replace (x) by (x+y 1 +y 2 )(x+y 1 + -y 2 )(x+ -y 1 +y 2 )(x+ -y 2 + -y 2 ). Replace (w+x) by (w+x+y)(w+x+ -y). Mridul Aanjaneya Automata Theory 48/ 49

CSAT to 3-SAT Running Time This reduction is surely polynomial. In fact, it is linear in the length of the CSAT instance. Thus, we have polytime-reduced CSAT to 3-SAT. Since CSAT is NP-complete, so is 3-SAT. Mridul Aanjaneya Automata Theory 49/ 49