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

Similar documents
Lecture 3. 1 Terminology. 2 Non-Deterministic Space Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, 2005.

NP Completeness. Richard Karp, 1972.

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Notes on Computer Theory Last updated: November, Circuits

Notes on Complexity Theory Last updated: December, Lecture 2

2 P vs. NP and Diagonalization

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

Notes for Lecture 3... x 4

Handout 5. α a1 a n. }, where. xi if a i = 1 1 if a i = 0.

Lecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x).

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

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.

The Polynomial Hierarchy

The Cook-Levin Theorem

Notes on Complexity Theory Last updated: October, Lecture 6

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

Lecture 3: Nondeterminism, NP, and NP-completeness

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

CS151 Complexity Theory. Lecture 1 April 3, 2017

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

Lecture 4 : Quest for Structure in Counting Problems

CS 151 Complexity Theory Spring Solution Set 5

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

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

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

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

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

CSE200: Computability and complexity Space Complexity

SOLUTION: SOLUTION: SOLUTION:

Theory of Computer Science to Msc Students, Spring Lecture 2

Lecture 4: NP and computational intractability

A An Overview of Complexity Theory for the Algorithm Designer

: On the P vs. BPP problem. 30/12/2016 Lecture 12

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

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

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

Lecture 3: Reductions and Completeness

Turing Machines, diagonalization, the halting problem, reducibility

Notes for Lecture 3... x 4

Lecture 3: Circuits and Karp-Lipton. Scribe: Anonymous Student Prof. Dana Moshkovitz

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

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

Essential facts about NP-completeness:

Decidability and Undecidability

On the Computational Hardness of Graph Coloring

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

Computability and Complexity Theory: An Introduction

Umans Complexity Theory Lectures

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CSCI 1010 Models of Computa3on. Lecture 11 Proving Languages NP-Complete

Lecture 5: Efficient PAC Learning. 1 Consistent Learning: a Bound on Sample Complexity

conp, Oracles, Space Complexity

NP-Complete problems

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3

Theory of Computation

Introduction to Complexity Theory

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

Computability and Complexity

Notes on Complexity Theory Last updated: November, Lecture 10

Randomness and non-uniformity

1 Showing Recognizability

JASS 06 Report Summary. Circuit Complexity. Konstantin S. Ushakov. May 14, 2006

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

Time to learn about NP-completeness!

1 Reductions and Expressiveness

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

Lecture 10: Boolean Circuits (cont.)

Lecture 17. In this lecture, we will continue our discussion on randomization.

Circuits. Lecture 11 Uniform Circuit Complexity

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Correctness of Dijkstra s algorithm

15-451/651: Design & Analysis of Algorithms October 31, 2013 Lecture #20 last changed: October 31, 2013

A Note on Turing Machine Design

Review of unsolvability

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

Turing Machines. Lecture 8

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Decidability: Church-Turing Thesis

Ma/CS 117c Handout # 5 P vs. NP

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

Lecture 8: Alternatation. 1 Alternate Characterizations of the Polynomial Hierarchy

Computability Theory. CS215, Lecture 6,

Average case Complexity

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Technische Universität München Summer term 2010 Theoretische Informatik August 2, 2010 Dr. J. Kreiker / Dr. M. Luttenberger, J. Kretinsky SOLUTION

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

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?

Reductions to Graph Isomorphism

Introduction. Pvs.NPExample

DRAFT. Diagonalization. Chapter 4

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

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.

CSCI3390-Second Test with Solutions

Complexity Classes V. More PCPs. Eric Rachlin

CS154, Lecture 13: P vs NP

CSCI3390-Lecture 16: NP-completeness

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

Transcription:

Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 2 1 More N P-Compete Languages It will be nice to find more natural N P-complete languages. To that end, we ine the language circuit-satisfiability (CS) as follows: Theorem 1 CS is N P-complete. CS = {C C is a circuit, and σ s.t. C(σ) = 1}. Proof It is relatively easy to see that CS N P. We show that CS is N P-complete by giving a Karp reduction from any L N P to CS. Fix such an L, and let M L be a non-deterministic machine deciding L and running in time n c on inputs of size n. The idea is straightforward: let M L (x, w) denote an execution of M L with input x and making non-deterministic choices w. Note that x L iff there exists a w such that M L (x, w) = 1. (We further assume that w is padded, as necessary, so that there exists such a w with length exactly n c in this case.) Consider the deterministic, polynomial-time function M L,x : {0, 1} nc {0, 1} ined as M L,x (w) = M L (x, w). Our Karp reduction will take as input x and output a circuit C ML,x that computes the function M L,x. Clearly, x L iff C M,L,x CS. So if we can construct such a circuit in polynomial time we are done. We will show that a circuit with the desired properties exists which is of size polynomial in the input x. We will then argue that in fact the circuit can be constructed in polynomial time, given x (and with implicit knowledge of M L ). Let t = x c. We will build a circuit having O(t) levels and O(t) wires/gates at each level. The single wire at level t+1 will be the output wire. The wires at level 0 represent the initial configuration of M L,x, and the wires at level i {1,... t} represent the configuration of M L,x after the i th step of its execution. A configuration of M L,x consists of t blocks, with the j th block storing the following information: (1) the contents of the j th cell of M L,x s work tape, (2) a bit indicating the presence/absence of the head on the j th cell of M L,x s work tape; (3) the value of M L,x s state, if the previous bit is on (we do not care how these wires are set if the previous bit is off). Note that only a constant number of wires, per block, are needed; thus, there are O(t) wires per level as claimed. At level i, label the first set of wires (above) as s i = s i,1,..., s i,t, the second set of wires h i = h i,1,..., h i,t, and the last set of wires q i = q i,1,..., q i,t (note that each s i,j and q i,j is actually some constant number of wires). Call (s i,j, h i,j, q i,j ) the configuration at (i, j). The input to the circuit is a t-bit string w = w 1,..., w t. Hard-wire at level 0 the values s 0 = x (padded out appropriately with spaces), h 0,1 = 1, h 0,j = 0 (for j > 1), and q 0,1 = q initial. The key point is that the configuration at (i, j) is determined entirely by w i (i.e., the i th input wire) and the configuration at (i 1, j 1), (i 1, j), and (i 1, j + 1). 2-1

Note that such a statement will not be true for a general poly-time function, but it is true for the function M L,x because of the way it is ined (namely, w i represents the choice made by M L,x at its i th step). Thus, the value of each wire at level i is determined by the values of a constant number of wires (a constant number from level i 1 plus a single input wire), and it is not hard to see that any function on a constant number of bits can be computed by a constant-size circuit. At the bottom level (level t + 1), we compute the output as follows: the output of the circuit is 1 iff there exists an index j such that h t,j = 1 and q t,j = q accept. Computing this requires t 1 ORs of t constant-size circuits (namely, one for each j [t]). Since there are O(t) wires/gates at each level, and O(t) levels, the circuit has size O(t 2 ) which is polynomial in x. It is not too difficult to see that the circuit can also be constructed (uniformly) in time linear in its size (in particular, the O(t) constant-size circuits at each level are the same at each level, and are based on the transition function of M L,x ). Using the above result, we show that satisfiability is N P-complete. Theorem 2 SAT is N P-complete. Proof It is easy to see that SAT N P. We show a Karp reduction from CS to SAT. Since Karp reductions are transitive, the theorem follows. Given a circuit C, we associate a variable with each wire. Let the variables be numbered v 1,..., v n. For each gate g of the circuit, we ine a clause φ g as follows: If g is a NOT gate whose input wire is associated with the variable v i and whose output wire is associated with v j, then let φ g = (v i v j ) ( v i v j ). If g is an OR gate whose input wires are associated with the variables v i, v j and whose output wire is associated with v k, then let φ g = (v k (v i v j )) ( v k v i v j ). If g is an AND gate whose input wires are associated with the variables v i, v j and whose output wire is associated with v k, then let φ g = (v k v i v j ) ( v k ( v i v j )). If the output wire is associated with variable v i, ine φ out = v i. Finally, ine Φ = φ out g C φ i. Say the input wires of C are associated with v 1,..., v l. It can be verified that C evaluates to 1 on an input x {0, 1} l iff there is a satisfying assignment of Φ in which v i = x i for 1 i l. The theorem follows. 2 Relating Search Problems to Decision Problems For this section, let R denote a relation which is polynomially bounded (namely, there exists a polynomial p such that if (x, w) R then w p( x )) as well as polynomially-verifiable (i.e., R P). Note that any such R ines the N P-language L R given by: L R = {x w : (x, w) R} 2-2

(this is the dual of the conversion from an N P-language L to a relation R L described earlier, although we remark that there are multiple relations R which ine the same language L R ). The decisional problem over R is to determine, given x, whether x L R ; i.e., to determine whether there exists a w such that (x, w) R. The search problem over R is to find a w for which (x, w) R, assuming such a w exists. Search problems are harder than decisional problems in the sense that if the search problem can be solved efficiently then so can the decisional one. What can we say about the other direction? We begin with a (somewhat informal) inition: Definition 1 Let O P denote an oracle that solves some problem P. We say a problem P 1 is Cook-reducible to a problem P 2 if there exists a polynomial-time oracle machine M such that M O P 2 solves P 1. (The above notion is sometimes also referred to as Turing reducibility.) It is not hard to see that, using the above terminology, the decisional problem over a relation R is always Cook-reducible to the search problem over R (assuming R satisfies the criteria given above). Definition 2 We say a relation R is self-reducible if the search problem over R is Cookreducible to the decisional problem over R. We remark that self-reducibility is technically ined for relations, not languages (since a given language may give rise to multiple relations and thus multiple associated search problems), but we will be informal and always mean the natural relation associated with a language. We showed in class that SAT is self-reducible. (In fact, one can similarly show that all N P-complete languages are self-reducible.) More difficult to see is that graph isomorphism which is not believed to be N P-complete is self-reducible via the following algorithm which, given two isomorphic n-vertex graphs G 1, G 2, determines an isomorphism φ between them vertex-by-vertex (here, if (i, j) φ we take it to mean that φ(i) = j): Let v i (resp., u i ) denote the i th vertex of G 1 (resp., G 2 ) Initialize G 1 = G 1, G 2 = G 2, φ =, and J = [n] For i = 1 to n do: For j J do: Output φ Let G 1 be the graph derived from G 1 by rooting a tree with i n vertices at v i Define G 2 analogously using u j If there is an isomorphism between G add (i, j) to φ set G 1 = G 1 and G 2 = G 2 set J = J \ {j} loop to the next value of i 1 and G 2 do: It is believed that not all languages in N P are self-reducible. One conjectured example is the natural relation derived from factoring: although composite numbers can (now) be recognized in polynomial time, factoring composite numbers in polynomial time is not believed possible. 2-3

3 Ladner s Theorem We know that there exist N P-complete languages. Furthermore, it is not hard to see that as long as P N P, any N P-complete language lies in N P \ P. Are there non-n P-complete languages in N P \ P? Ladner s theorem tells us that there are. Theorem 3 Assuming P N P, there exists a language A N P \ P which is not N P- complete. Proof The high-level intuition behind the proof is that we construct A by taking an N P-complete language and blowing holes in it in such a way that the language is no longer N P-complete yet not in P either. The specific details are quite involved. Let M 1,... denote an enumeration of all polynomial-time Turing machines; formally, this can be achieved by considering an enumeration 1 of M (where M is the set of all Turing machines), and ining M i as follows: if the i th item in this enumeration is (M, j), then M i (x) runs M(x) for at most x j steps. We remark that M 1,... also gives an enumeration of languages in P (with languages appearing multiple times). In a similar way, let F 1,... denote an enumeration of functions computable in polynomial time (such functions are ined by the poly-time Turing machine which computes them). Define language A as follows: A = {x x SAT f( x ) is even}, for some function f that remains to be ined. Note that as long as we ensure that f is computable in polynomial time, then A N P. We ine f by a polynomial-time Turing machine M f such that M f (1 n ) = f(n). Let M SAT be a machine that decides SAT (not necessarily in polynomial time, of course... ), and let f(0) = f(1) = 2. On input 1 n (with n > 1), M f proceeds in two stages, each lasting for n steps: 1. During the first stage, M f computes f(0), f(1),... until it runs out of time. 2 Suppose the last value of f it was able to compute was f(x) = k. The output of M f will be either k or k + 1, to be determined by the next stage. 2a. If k = 2i is even, then M f tries to find a z {0, 1} such that M i (z) outputs the wrong answer as to whether z A. (That is, M f tries to find a z such that either z A but M i (z) = 0, or such that z A but M i (z) = 1.) This is done by computing M i (z), M SAT (z), and f( z ) for all strings z in lexicographic order. If such a string is found within the allotted time, then the output of M f is k + 1. Otherwise, the output of M f is k. 2b. If k = 2i 1 is odd, then M f tries to find a string z such that F i (z) is an incorrect Karp reduction from SAT to A. (That is, M f tries to find a z such that either z SAT but 1 Since both M and are countable, it follows that M is countable. 2 Here and in the next stage, note that M f never needs to compute f(n ) for n n (which would cause self-reference problems). This is so since M f (1 n ) runs out of time (in either stage) if it writes down a string of length n. 2-4

F i (z) A, or z SAT but F i (z) A.) This is done by computing F i (z), M SAT (z), M SAT (F i (z)), and f( F i (z) ). If such a string is found within the allotted time, then the output of M f is k + 1; otherwise, the output is k. It is clear from its inition that M f runs in polynomial time. Note also that f(n+1) f(n) for all n. We claim that A P. Suppose the contrary. Then A is decided by some M i. In this case, however, the second stage of M f with k = 2i will never find a z satisfying the desired property, and so f is eventually a constant function and in particular f(n) is odd for only finitely-many n. But this implies that A and SAT coincide except for finitely-many strings. This implies that SAT P, a contradiction to our assumption that P N P. Similarly, we claim that A is not N P-complete. For, if so, then there is a polynomialtime function F i which gives a Karp reduction from SAT to A. Now f(n) will be even for only finitely-many n, implying that A is a finite language. But then A P, a contradiction to our assumption that P N P. As an addendum to the theorem, we note that there are no natural languages known to be in N P \ P but not N P-complete (assuming P N P, of course). However, there are a number of languages conjectured to fall in this category, including graph isomorphism and essentially all languages derived from cryptographic assumptions (e.g., factoring, one-way functions, etc.). Bibliographic Notes Sections 1 and 2 are based on [2, Lecture 2]. Ladner s theorem was proven in [3], and the proof given here is based on Papadimitriou [4, Chap. 14] and a note by Fortnow [1]. References [1] L. Fortnow. Two Proofs of Ladner s Theorem. Available from http://weblog.fortnow.com/media/ladner.pdf. [2] O. Goldreich. Introduction to Complexity Theory (July 31, 1999). [3] R.E. Ladner. On the Structure of Polynomial-Time Reducibility. J. ACM 22(1): 155 171, 1975. [4] C.H. Papadimitriou. Computational Complexity. Addison-Wesley, 1995. 2-5