Complexity Classes and Reductions
1. Core Classes
P: deterministic polynomial-time solvableNP: polynomial-time verifiable certificatescoNP: complements of NP languagesPSPACE: polynomial-space solvable
Containments: P subseteq NP subseteq PSPACE.
2. Reductions
Polynomial reduction A <=p B preserves yes/no structure via polynomial-time mapping.
Use reductions to transfer hardness.
3. NP-Completeness Method
- show target in NP
- reduce known NP-complete source to target
- prove iff correctness
4. Worked Reduction Sketch
VERTEX-COVER to CLIQUE via complement graph relationship in decision form.
5. Proof Hygiene Checklist
- direction of reduction correct
- runtime explicitly polynomial
- mapping correctness both directions
- edge-case handling
Exercises
- Write formal reduction definition in language terms.
- Show SAT to 3-SAT transformation intuition.
- Identify reduction direction error in a flawed proof and fix it.
- Convert optimization problem to equivalent decision variant.