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

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
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

This note was uploaded on 01/13/2012 for the course CMSC 652 taught by Professor Staff during the Fall '08 term at Maryland.

Page1 / 5

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

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

View Full Document Right Arrow Icon
Ask a homework question - tutors are online