This preview shows pages 1–2. Sign up to view the full content.
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
This note was uploaded on 01/13/2012 for the course CMSC 652 taught by Professor Staff during the Fall '08 term at Maryland.
 Fall '08
 staff

Click to edit the document details