VII · Computational complexity
Reductions
What it is
Show your problem is at least as hard as a known hard problem by mapping instances. The standard tool for "should I keep looking for a fast algorithm?"
Where it lives
Compiler optimisation, scheduling, planning, deadlock detection, register allocation — when you suspect hardness, reduce to 3-SAT or clique.
The key insight
A successful reduction means you can stop hunting for a polynomial algorithm. Failure to reduce doesn't prove the problem is easy — it just means you haven't proved it's hard yet.