conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

Similar documents
Lecture 19: Finish NP-Completeness, conp and Friends

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

Lecture 20: conp and Friends, Oracles in Complexity Theory

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

The knapsack Problem

conp, Oracles, Space Complexity

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

CMPT307: Complexity Classes: P and N P Week 13-1

Intro to Theory of Computation

: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall October 2007

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

Essential facts about NP-completeness:

NP and conp. Theorem. Skoulakis Stratis NP,coNP and Funtion Problems EuroCG 14, Ein-Gedi, Israel 1 / 18

fsat We next show that if sat P, then fsat has a polynomial-time algorithm. c 2010 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 425

Lecture 23: Introduction to Quantum Complexity Theory 1 REVIEW: CLASSICAL COMPLEXITY THEORY

Umans Complexity Theory Lectures

Elliptic Curves I. The first three sections introduce and explain the properties of elliptic curves.

Primality Testing. 1 Introduction. 2 Brief Chronology of Primality Testing. CS265/CME309, Fall Instructor: Gregory Valiant

13.1 Nondeterministic Polynomial Time

NP and Computational Intractability

Notes on Complexity Theory Last updated: December, Lecture 2

Pr[X = s Y = t] = Pr[X = s] Pr[Y = t]

CPSC 467b: Cryptography and Computer Security

Lecture 24: Randomized Complexity, Course Summary

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

Theory of Computer Science to Msc Students, Spring Lecture 2

6-1 Computational Complexity

A An Overview of Complexity Theory for the Algorithm Designer

Geometric Steiner Trees

Randomness and non-uniformity

Umans Complexity Theory Lectures

Complexity and NP-completeness

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

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

Randomized Complexity Classes; RP

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

CSC 373: Algorithm Design and Analysis Lecture 30

Instructor: Bobby Kleinberg Lecture Notes, 25 April The Miller-Rabin Randomized Primality Test

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

Lecture 4: NP and computational intractability

PRIMES is in P. Manindra Agrawal. NUS Singapore / IIT Kanpur

1.1 P, NP, and NP-complete

NP-Completeness. Algorithmique Fall semester 2011/12

Lecture 31: Miller Rabin Test. Miller Rabin Test

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

SAT, NP, NP-Completeness

Lecture 18: P & NP. Revised, May 1, CLRS, pp

1 Reductions and Expressiveness

NP and NP Completeness

The Cook-Levin Theorem

Cryptography: Joining the RSA Cryptosystem

Notes on Complexity Theory Last updated: October, Lecture 6

Lecture 11: Measuring the Complexity of Proofs

Chapter 2 : Time complexity

Lecture Prelude: Agarwal-Biswas Probabilistic Testing

CS 3719 (Theory of Computation and Algorithms) Lectures 23-32

Notes for Lecture 21

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

Notes for Lecture 3... x 4

Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn

The power and weakness of randomness (when you are short on time) Avi Wigderson Institute for Advanced Study

Nondeterministic Turing Machines

Applied Cryptography and Computer Security CSE 664 Spring 2018

On the Computational Hardness of Graph Coloring

Preliminaries and Complexity Theory

Computability and Complexity Theory: An Introduction

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

NP-completeness. Chapter 34. Sergey Bereg

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

Lecture 6: Introducing Complexity

Chapter 9 Mathematics of Cryptography Part III: Primes and Related Congruence Equations

CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010

CS21 Decidability and Tractability

Theory of Computation Chapter 12: Cryptography

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

NP-Complete problems

LECTURE 5: APPLICATIONS TO CRYPTOGRAPHY AND COMPUTATIONS

MTAT Complexity Theory October 20th-21st, Lecture 7

The Shortest Vector Problem (Lattice Reduction Algorithms)

The Polynomial Hierarchy

A Working Knowledge of Computational Complexity for an Optimizer

Cryptography CS 555. Topic 18: RSA Implementation and Security. CS555 Topic 18 1

2 P vs. NP and Diagonalization

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

CS Lecture 28 P, NP, and NP-Completeness. Fall 2008

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

Algorithms 6.5 REDUCTIONS. designing algorithms establishing lower bounds classifying problems intractability

Lecture 2. 1 More N P-Compete Languages. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Factorization & Primality Testing

The Complexity of Optimization Problems

Chapter 5 : Randomized computation

CPSC 467b: Cryptography and Computer Security

1 PSPACE-Completeness

NP-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..

10 Concrete candidates for public key crypto

NP Complete Problems. COMP 215 Lecture 20

CS151 Complexity Theory. Lecture 1 April 3, 2017

Algorithms Design & Analysis. Approximation Algorithm

NP-completeness was introduced by Stephen Cook in 1971 in a foundational paper.

NP-Completeness. NP-Completeness 1

Transcription:

1 conp and good characterizations In these lecture notes we discuss a complexity class called conp and its relationship to P and NP. This discussion will lead to an interesting notion of good characterizations for problems, which plays an important role in algorithm design. 1.1 conp One property of the definition of NP is that YES and NO instances are not treated symmetrically. This asymmetry motivates the definition of conp. Definition. conp = { L L NP } (1) Here, L = {0, 1} \ L is the set-theoretic complement of a language L {0, 1}. The language L represents the same decision problem as L except with all answers flipped. (NO instances in L are YES instance in L and the other way around.) Example. Recall that SAT is the problem of deciding if a Boolean formula ϕ is satisfiable. As a language, SAT = {x {0, 1} ϕ x is satisfiable}. (2) (Here, ϕ x denotes the Boolean formula encoded by the string x.) We know that SAT NP. Therefore, the complementary problem satisfies SAT conp, where SAT = {x {0, 1} ϕ x is not satisfiable}. (3) A Boolean formula ϕ is called tautology if every assignment satisfies ϕ. The following problem is also in conp, TAUT = {x {0, 1} ϕ x is a tautology}. (4) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology. 1.2 Polynomial-time refuters Similar to NP s definition in terms of polynomial-time verifiers, conp has a definition in terms of polynomial-time refuters. Lemma. A language L {0, 1} satisfies L conp if and only if there exists a polynomial-time Turing machine R and a polynomial function p: N N such that for every x {0, 1}, x L u {0, 1} p( x ).R(x, u) = 0. (5) We say that a Turing machine R as in the lemma above is a polynomial-time refuter for L. For x {0, 1}, we refer to strings u {0, 1} p( x ) with R(x, u) = 0 as refutations of the question 1

x L?. (This notion of refutation for conp is analogous to the notion of proof/certificate for NP.) 1.3 Short proofs and refutations With the above terminology we can succinctly describe NP, conp, and their intersection NP conp: L NP: every YES instance of L has a polynomial-length proof of x L?. L conp: every NO instance of L has a polynomial-length refutation of x L?. L NP conp: every instance either has a polynomial-length proof or a polynomial-length refutation of x L?. 1.4 NP vs conp The classes NP and conp are widely believed to be different, which means that there exist problems such that YES instances have short proofs but NO instances do not necessarily have short refutations. Conjecture. NP conp. The following lemma shows that proving this conjecture would also prove that P NP. Lemma. If NP conp then P NP. Proof. If a language L {0, 1} has a polynomial-time algorithm, then we can also decide L in polynomial time. Therefore, P = NP also implies that P = conp. The following lemma shows that NP-complete problems cannot have polynomial-length refutations unless NP = conp. Lemma. If NP conp, then SAT conp. 1.5 Efficient algorithms vs good characterizations We say that languages L NP conp have a good characterization (that is, L has both short proofs and short refutations). Note that P NP conp. Therefore, a good characterization is necessary for a problem to have a polynomial-time algorithm. It turns out that in many cases the ideas behind a good characterization for a problem play an important role for designing polynomial-time algorithms. We will see some examples below. There are different beliefs about whether P = NP conp (researchers working in cryptography and complexity tend to believe P NP conp whereas researchers working in algorithms and combinatorial optimization tend to believe P = NP conp). Question. P = NP conp? The following lemma shows that problems with good characterizations are unlikely to be NP-complete. 2

Lemma. If NP conp, then no problem in NP conp is NP-complete. 1.6 Conjectured landscape of NP vs conp The following sections give examples of problems with good characterizations. Some of these problems are also known to be in P (using more involved algorithms). Other problems, for instance FACTORING, are not known to be in P (and conjectured to be intractable by some researchers). 1.7 Example: Systems of linear equations LINEQ. Given a system of linear equations, decide if the system is satisfiable. (More formally, we are given a matrix A Q m n and a vector b Q m with all numbers in binary representation and the goal is to decide if there exists a vector x Q n such that Ax = b.) We can solve this problem in polynomial-time by Gaussian elimination. It turns out that analyzing the running time of Gaussian elimination is quite subtle when taking into account bit complexity for arithmetic operations. 1 We discuss how to show that LINEQ has a good characterization. 3

Theorem. LINEQ NP conp. First, we show that the problem is in NP. Lemma. LINEQ NP. Proof sketch. Given A, b, and x, checking Ax = b takes time polynomial in the bit complexity of A, b, and x. (The fact that integer multiplication and addition take polynomial-time also implies that matrix-vector multiplication takes polynomial-time.) It remains to show that every satisfiable system of linear equations {Ax = b} has a solution x with bit complexity polynomial in the bit complexity of A and b. This fact can be shown by bounds on determinants. See homework 5, question 3 for more detailed hints. In order to show that LINEQ conp, we will use the following linear algebra fact. Linear algebra fact. For every system of linear equations {Ax = b} with A Q m n and b Q m, either there exists x Q n with Ax = b or there exists y Q m such that y A = 0 and y b = 1. Note that y A = 0 and y b = 1 implies that the system {Ax = b} is not satisfiable, because every x satisfies y (Ax b) = (y A)x y b = 1, which means that Ax b 0. We give a geometric proof for this fact at the end of this section. The above linear algebra fact implies the following reduction between LINEQ and its complement. Lemma. LINEQ p LINEQ. Proof. Let A Q m n and b Q m. By the above linear algebra fact, the linear system {Ax = b} is not satisfiable if and only if the linear system {y A = 0, y b = 1} is satisfiable. In matrix form, the latter system is {By = c}, where ( ) ( ) A 0 n B = b and c =. (6) 1 It follows that the function mapping (A, x) to (B, c) as above is a polynomial-time Karp reduction from LINEQ to LINEQ Proof of theorem. The previous lemmas LINEQ NP and LINEQ p LINEQ together imply LINEQ NP (recall homework 3 question 2), which means that LINEQ NP conp. Proof of linear algebra fact. Let A Q m n and b Q m. We are to show that the system {Ax = b} has a solution if and only if the system {y A = 0, y b = 1} does not have a solution. Let U = {Ax x R n } be the linear subspace of R m spanned by the columns of A. We decompose b as the sum b = c + y such that c U and y is orthogonal to U. (Geometrically c is the point in U closest to b in Euclidean distance.) Since y is orthogonal to U, it satisfies y A = 0 (which means geometrically that y is orthogonal to the columns of A). 4

By the construction of y, the system {Ax = b} is satisfiable if and only if y = 0. Since b = y + c, the vector y satisfies y 2 2 = y y = y (b c) = y b. (7) It follows that y 0 if and only if y b 0. Therefore, by scaling y appropriately, we obtain a solution for {y A = 0, y b = 1} if and only if {Ax = b} is not satisfiable. 1.8 Example: Maximum flow and minimum cut In the following, a flow network is a directed graph with dedicated source and sink, and nonnegative integer capacities assigned to edges. MAXFLOW. Given a flow network G and a number v N, decide if there exists a flow of value larger than v in G. The following problem turns out to be closely related (by the max-flow min-cut theorem below). MINCUT. Given a flow network G and a number v N, decide if there exists a source-sink cut of capacity at most v in G. Both MAXFLOW and MINCUT are problems in P (using fairly sophisticated combinatorial algorithms). Below we will discuss how to show that these problems have good characterizations. Theorem. MAXFLOW, MINCUT NP conp. Recall that the Ford Fulkerson algorithm shows the following interesting-trivial fact. Fact. Every flow network (with integer capacities) has a flow of maximum value that the flow values along all edges are integers. 5

This fact allows us to conclude that MAXFLOW NP: Given a network G, a number v, and a potential flow f, we can verify in polynomial time if f is a valid flow in G of value larger than v. Furthermore, if there exists a flow of value larger than v, then there is also one with bit complexity bounded by the bit complexity of G. (Here, we use the fact above.) It is also straightforward to show that MINCUT is in NP. Lemma. Both MAXFLOW and MINCUT are decision problems in NP. Also recall that the analysis of the Ford Fulkerson algorithm showed the following connection between MAXFLOW and MINCUT. Maximum-flow minimum-cut theorem. For every flow network, the maximum value of a flow is equal to the minimum capacity of a source-sink cut. Together with the previus lemma, the max-flow min-cut theorem allows us to show that MAXFLOW and MINCUT are also in conp. Lemma. MAXFLOW p MINCUT and MINCUT p MINCUT. Proof. In the problem MAXFLOW, we are given a network G and a number v and we are to decide if the maximum flow in G is at most v. By the max-flow min-cut theorem, this question is equivalent to the question whether G has a source-sink cut of capacity at most v. It follows that MAXFLOW p MINCUT. The argument for MINCUT p MINCUT is similar. (Note that we actually showed that MAXFLOW and MINCUT are the same problem in the sense MAXFLOW = MINCUT.) 1.9 Example: Primality Recall that a number is prime if it is greater than 1 and has no positive divisors other than 1 and itself. Here we consider the problem of testing if a given number is prime. PRIMES. Given a number p N encoded in binary, decide if p is prime. For this problem a good characterization has been known since 1976 (Pratt). Theorem. PRIMES P conp. Also polynomial-time randomized algorithms by Miller Rabin and Solovay Strassen have been known for this problem since around the same time. It has been an open problem to remove the use of randomness in these tests of primality. In 2002, Agrawal, Kayal, and Saxena showed that this problem indeed has a deterministic polynomial-time algorithm. 6

Theorem. PRIMES P 1.10 Example: Integer factoring The following problem plays a central role in cryptography (especially public-key encryption). An efficient algorithm for this problem could be used to break many cryptographic protocols used today, in particular RSA. FACTORING. Given numbers x, a, b N encoded in binary, decide if there exists a prime factor p in the interval [a, b] such that p divides x. In order to give evidence for the security of current cryptographic protocols, it would be great to be able show that FACTORING is NP-complete. (Such a proof would not imply that the protocols are actually secure but it would still boost our confidence in their security.) However, it turns out that FACTORING has a good characterization, which means that it is not NP-complete unless NP is equal to conp. Theorem. FACTORING NP conp. Proof. The problem is in NP because the prime factor p is a polynomial-length certificate for YES instances: Using the polynomial-time algorithm for PRIMES, we can verify in polynomial-time that p is a prime. We can also verify p [a, b] and that p divides x. The problem is also in conp because a prime factorization of x is a polynomial-length certificate for NO instances: Given numbers p 1,..., p k, we can check that p 1,..., p k is a prime factorization of x (again using the polynomial-time algorithm for PRIMES) and that none of the primes p 1,..., p k are in the interval [a, b]. Here, we also use the fact that the prime factorization of a number is unique. Footnotes 1. It is straightforward to show that the number of arithmetic operations performed by the algorithm is polynomial. What s more difficult to show is that these operations are only applied to numbers with polynomial bit complexity. 7