Problem polynomial-time reduces to problem () if arbitray instances of problem can be solved using

  1. Polynomial number of standard computational steps, and
  2. Polynomial number of calls to oracle that solves problem .

Prove

  1. Construct problem Y by using problem X
  2. Verify contruction is correct. and
  3. Verify there’s polynomial times contruction and calls.
  4. Done

Known reductions

  1. SAT Problem 3-SAT Problem Independent Set Problem Vertex Cover Problem Set Cover Problem

  2. 3-SAT Problem Subset Sum Problem

  3. Subset Sum Problem Knapsack Problem

  4. Subset Sum Problem Partition Problem

  5. Partition Problem Subset Sum Problem

  6. Hamiltonian Cycle TSP