CSCI 4602
Fall 2002
Practice questions for quiz 4.

  1. What is the definition of a Turing recognizable set?

  2. What is the definition of an m-complete set?

  3. Let A = {p | p accepts input 0} and B = {p | p accepts input 1}. Show that A m-reduces to B.

  4. Show that the language A = {p | p accepts input 0} is recursively enumerable.

  5. Show that the language A = {p | p is a program and p(0) = 1} is m-complete.

  6. What is the definition of an NP-complete problem?

  7. Is the following boolean formula satisfiable? I will use ^ for and, | for or and x- for the negation of x.

    (x | y | z) ^ (x- | y-) ^ (x- | z-) ^ (y- | z-)

  8. What famous conjecture needs to be proved in order to conclude that there is no polynomial time algorithm to solve the vertex cover problem?

  9. Describe the error in the following fallacious "proof" that P is different from NP.

    A propositional formula of length n can have at least sqrt(n) different variables. It is satisfiable if some assignment of values to those variables makes it true. But there are 2sqrt(n) assignments of values to the variables, and trying them all takes at least 2sqrt(n) steps. Since 2sqrt(n) grows faster than any polynomial, SAT is not solvable in polynomial time. So SAT is not in P. But SAT is in NP, so P and NP are clearly different classes.

    (This argument has actually been proposed before. The first recorded instance was by a group of Russian mathematicians in 1959; they quickly realized their error.)