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.

Published