slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Computability and Complexity PowerPoint Presentation
Download Presentation
Computability and Complexity

Loading in 2 Seconds...

play fullscreen
1 / 10

Computability and Complexity - PowerPoint PPT Presentation

  • Uploaded on

Computability and Complexity. 14-1. Cook’s Theorem. Computability and Complexity Andrei Bulatov. Computability and Complexity. 14-2. Cook – Levin Theorem. Definition A language L is said to be NP -complete if L  NP and , for any A  NP , A  L.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Computability and Complexity' - chaeli

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Computability and Complexity


Cook’s Theorem

Computability and Complexity

Andrei Bulatov


Computability and Complexity


Cook – Levin Theorem


A language L is said to be NP-complete if L NP and, for

any A NP,A L

Theorem (Cook – Levin)

Satisfiability is NP-complete


Computability and Complexity


Proof (Main Idea)

Let A be a language from NP

Then there is a polynomial time nondeterministic Turing Machine NT

For every input x for NT, we build a propositional formula

encoding the computation NT(x) such that satisfying assignments

to correspond exactly to paths in NT(x)

If is short enough and can be constructed in polynomial time,

we get the required polynomial time reduction


Computability and Complexity


Assumptions about NT

Assume that NT uses:

  • h+1 symbols (where is the blank symbol)
  • k+1 states (where is the accepting state)
  • l instructions — distinct possible transitions

Assume that every path in NT(x) has length

(We can extend every shorter path assuming that no further action

is taken.

We can cut longer paths, because they make no difference whether

x is going to be accepted or not)

Assume that the tape head never moves to the left from the leftmost

symbol of the input


Computability and Complexity



We use Boolean variables to specify exactly the possible configurations

of the machine at each time :

  • is true if and only if s-th cell contains symbol at time t

(there are of them)

  • is true if and only if NT in state at time t

(there are of them)

  • is true if and only if tape head on s-th cell at time t

(there are of them)

  • is true if and only if the machine implements instruction
  • at time t

(there are of them)


Computability and Complexity

(Remember that )



Now we write the formula

  • A says each cell at each time contains exactly one symbol

(there are clauses in A)


Computability and Complexity


  • B says the tape head scans exactly one cell at each time
  • C says that NT is in exactly one state
  • D says that NT implements exactly one instruction at each step
  • E says that at time 1, the input x is on the first n cells of the tape,
  • the head is at position 1, and the state is

If then


Computability and Complexity


Define F, G, H and J as follows for each instruction

  • F says that is a valid transition

or equivalently in CNF

  • G specifies the effect on the state

Computability and Complexity


  • H specifies that the correct symbol is written
  • J specifies that the correct movement is made

where d(L) = –1, d(R) = 1, d(S) = 0

  • Finally, K says that the accepting state is entered

Computability and Complexity



  • We can construct formula in polynomial time
  • (Note that the construction is only possible “in principle”, since
  • the a will not necessarily be known)
  • If formula is satisfiable then the values of the variables specify
  • an accepting computation for x
  • Conversely, if there is an accepting computation for x, then the
  • corresponding values of the variables will satisfy the formula
  • Hence,
  • QED