This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Notes on Complexity Theory Last updated: October, 2011 Lecture 3 Jonathan Katz 1 Natural NPComplete Problems Last time we saw a “nonnatural” NPcomplete language. Other important NPcomplete lan guages are SAT (satisfiable boolean formulae in conjunctive normal form) and 3 SAT (satisfiable boolean formulae in conjunctive normal form, where each clause contains at most 3 literals). Besides being more “natural” languages, they are useful for proving NPcompleteness of other languages. Theorem 1 (CookLevin Theorem) SAT is NPcomplete. Proof We give a detailed proof sketch. (Note that the proof we give here is different from the one in [1]; in particular, we do not rely on the existence of oblivious Turing machines.) Let L be a language in NP . This means there is a Turing machine M and a polynomial p such that (1) M ( x,w ) runs in time p (  x  ), and (2) x ∈ L if and only if there exists a w for which M ( x,w ) = 1. Note that we may assume that any such w , if it exists, has length exactly p (  x  ) x  1. We also assume for simplicity (and without loss of generality) that M has a single tape (that is used as both its input tape and work tape) and a binary alphabet. A simple observation is that we can represent the computation of M ( x,w ) (where  x  = n ) by a tableau of p ( n ) + 1 rows, each O ( p ( n )) bits long. Each row corresponds to the entire configuration of M at some step during its computation; there are p ( n ) + 1 rows since M always halts after at most p ( n ) steps. (If M ( x,w ) halts before p ( n ) steps, the last rows may be duplicates of each other. Or we may assume that M ( x,w ) always runs for exactly p (  x  ) steps.) Each row can be represented using O ( p ( n )) bits since a configuration contains (1) the contents of M ’s tape (which can be stored in O ( p ( n )) bits — recall that space ( p ( n )) ⊆ time ( p ( n ))); (2) the location of M ’s head on its tape (which can be stored in p ( n ) bits 1 ); and (3) the value of M ’s state (which requires O (1) bits). Moreover, given a tableau that is claimed to correspond to an accepting computation of M ( x,w ), it is possible to verify this via a series of “local” checks. (This notion will become more clear below.) Specifically, letting p = p ( n ) and assuming we are given some tableau, do: 1. Check that the first row is formed correctly. (The tape should contain x , followed by a space and then a sequence of bits representing w ; M ’s head should be in the leftmost position; and M should be in its start state.) 2. Number the rows from 0 to T , and recall that these correspond to time steps of M ’s execution. Let t i,j denote the value written in cell j at time i . Then for i = 1 ,...,T and j = 1 ,...,T , check that t i,j has the correct value given t i 1 ,j 1 ,t i 1 ,j , and t i 1 ,j +1 and the value of the state at time i 1. We also need to check that the state at time i takes the correct value; this is discussed in detail below.this is discussed in detail below....
View
Full Document
 Fall '08
 staff
 Computational complexity theory, Jonathan Katz, CNF formula

Click to edit the document details