When the problem is genuinely hard and is genuinely small, you stop looking for a polynomial algorithm and start looking for a smart exponential one.
Exponential budget
Technique Feasible nBrute force 10–11 Bitmask DP 20–23 Bitmask DP 18–20 Meet in the middle 40–45 Branch and bound with good pruning 50–100 (problem dependent) Subset sum with bitset
- Backtracking
- Branch and Bound
- Meet in the Middle
- Exact Cover · Algorithm X · Dancing Links
- NP-Completeness and Reductions
- SAT and 2-SAT
- Maximum Clique and Independent Set · Bron-Kerbosch
- Graph Colouring
- Steiner Tree · Dreyfus-Wagner
- Travelling Salesman · Held-Karp
- Parameterized Complexity and Kernelization
See also: Complexity Theory · Randomized / Approximation