LectureNotes25 - ECS 120 Lesson 25 – The Cook–Levin...

Info iconThis preview shows pages 1–3. 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: ECS 120 Lesson 25 – The Cook–Levin Theorem, Polynomial Reduction Proofs Oliver Kreylos Wednesday, May 30th, 2001 Last time, we looked at NP , the class of problems solvable by nonde- terministic Turing Machines in polynomial time, and at the “most difficult” problems in NP – the NP-complete problems. Since the NP-complete problems are those we generally classify as intractable, determining whether a given problem P is NP-complete or not is an important question. This can be done in two ways: Either by reducing all problems in NP to P , or by re- ducing a single NP-complete problem to P . The second way is usually much easier, but it depends on a problem that we already know is NP-complete. This first problem has to be proven the hard way. 1 The Cook–Levin Theorem The first problem was proven to be NP-complete independently by Steve Cook and Leonid Levin in 1971/1973. The so-called satisfiability problem asks whether a given boolean formula can be satisfied, i.e., whether there exists a setting of its variables to the values true/false such that the result of the formula is true. As a language, the problem is stated as SAT = h φ i φ is a satisfiable boolean formula A boolean formula is just a formula involving variables that can be ei- ther true or false, which are combined by the logical operations and ( ∧ ), or ( ∨ ) or not ( ¬ ). For our discussion, we will assume that all variables are named x 1 ,x 2 ,x 3 ,... Examples for boolean formulas are ( x 1 ∧ x 2 ) ∨ x 3 , ( x 1 ∨ x 2 ) ∧ ( x 1 ∨ ¬ x 3 ), or ¬ ( x 1 ∧ ¬ x 2 ) ∧ ¬ x 4 . 1 1.1 Boolean Formulas To be precise, and to apply our knowledge about context-free grammars, let us define the exact notion of a boolean formula by a grammar over the alphabet Σ = {∧ , ∨ , ¬ , ( , ) ,x } . The grammar is defined by the rules D → D ∨ C | C C → C ∧ A | A A → ¬ A | ( D ) | X X → xX | x where D is the start symbol. Examples for formulas according to these rules are x ∨ ¬ x or ( x ∨ xx ) ∧ ¬ xxx . All variables generated from this grammar are of the form xx...x ; to make the format more readable we replace a variable x k consisting of k x s by the symbol x k . Then the above example formulas become x 1 ∨ ¬ x 1 and ( x 1 ∨ x 2 ) ∧ ¬ x 3 , respectively. In other words, our grammar encodes the index k of a variable in unary by replicating its symbol k times. Not very efficient, but simple. 1.2 NP-completeness of SAT To show that SAT is NP-complete, we first have to show that it is itself in NP . This is the easy part: A nondeterministic Turing Machine can “guess” the correct settings for all the variables in φ . To verify the guess, the machine then evaluates φ on that setting, which can be done in polynomial time. The hard part is to show that every other problem in NP can be reduced to SAT in polynomial time. In doing so, we cannot assume anything specific about the problems we have to reduce from; so the proof must proceed in a very abstract manner.in a very abstract manner....
View Full Document

This note was uploaded on 05/20/2010 for the course ECS 120 taught by Professor Filkov during the Spring '07 term at UC Davis.

Page1 / 11

LectureNotes25 - ECS 120 Lesson 25 – The Cook–Levin...

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

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