Class NP and NP-Completeness

Class NP

Nondeterministic Turing Machine (NDTM)

  • Model a problem as a tree in which the nodes represent states, with time flowing from the root to the children. A leaf represents a solution.
  • In an NDTM, the computation splits whenever a guess is needed.
  • "Guess" nodes are like OR nodes: if either of the children returns T, the "guess" node returns T.
  • NP-hard

  • A problem Q is NP-hard if every problem in NP is reducible to Q.
  • A lower bound on a problem: "at least as hard as any problem in NP."
  • NP-Complete

  • The hardest decision problems in NP.
  • If there were a polynomially bounded algorithm for an NP-complete problem, then there would be a polynomially bounded algorithm for each problem in NP.
  • Establishes both a lower and an upper bound (although it may be that P=NP).
  • If any NP-complete problem is in P, then P=NP.
  • Satisfiability (SAT)

  • Instance: Given a set U = {u1, ..., um} of variables and a collection C = {c1, ..., cn} of clauses over U.
  • Question: Is there a truth assignment to U that satisfies C?
  • A logical formula in conjunctive normal form (CNF): a conjunction of disjunctions
    e.g., (x1 + x2 + ¬x3) · (x1 + x3) · (¬x2)
  • Cook's Theorem: SAT is NP-complete.
  • Once the primordial NP-complete problem is found, we can prove other problems NP-complete without reference to machines:
  • Other NP-Complete Problems

    References

    Copyright © 2004 Jonathan Mohr