This preview shows pages 1–3. 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: 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 NPcomplete problems. Since the NPcomplete problems are those we generally classify as intractable, determining whether a given problem P is NPcomplete 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 NPcomplete problem to P . The second way is usually much easier, but it depends on a problem that we already know is NPcomplete. This first problem has to be proven the hard way. 1 The Cook–Levin Theorem The first problem was proven to be NPcomplete independently by Steve Cook and Leonid Levin in 1971/1973. The socalled 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 contextfree 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 NPcompleteness of SAT To show that SAT is NPcomplete, 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.
 Spring '07
 Filkov

Click to edit the document details