{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lecture3

# lecture3 - Notes on Complexity Theory Last updated October...

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
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Notes on Complexity Theory Last updated: October, 2011 Lecture 3 Jonathan Katz 1 Natural NP-Complete Problems Last time we saw a “non-natural” NP-complete language. Other important NP-complete 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 NP-completeness of other languages. Theorem 1 (Cook-Levin Theorem) SAT is NP-complete. 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 left-most 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

{[ snackBarMessage ]}

### Page1 / 5

lecture3 - Notes on Complexity Theory Last updated October...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online