Skip to main content
Mythos

Computational complexity theory studies the resources — primarily time and space (memory) — required to solve computational problems, and uses those resource bounds to classify problems by inherent difficulty. Problems are sorted into complexity classes, the most familiar being P, the set of problems solvable in polynomial time, and NP, the set whose candidate solutions can be verified in polynomial time. The field's central open question, P vs NP, asks whether every problem that can be quickly verified can also be quickly solved. Sudoku is the canonical intuition: handed a filled grid you can check its legality fast, yet finding a valid completion for an arbitrarily large grid appears to demand time that grows exponentially. Thousands of practically important problems share this shape, and the NP-complete ones are linked such that a fast algorithm for any single one would crack them all. Most researchers suspect P ≠ NP, but no proof exists either way. Tractability matters because it draws the line between what is computable in principle and what is computable before the heat death of the universe — an exponential algorithm is not a slow tool, it is no tool at all once the inputs scale.

This is why I keep 📝complexity theory close in my own work. When you model a society of millions of interacting agents, the question is never just "is this realistic?" but "is this even computable?" Complexity bounds the ambition of any large-scale social simulation: they tell me which dynamics I can run at full resolution and which I must approximate, sample, or abstract. The math sets the ceiling before the modeling assumptions ever do. I treat it as a discipline of honesty about what computation can and cannot reach.

Created with 💜 by One Inc | Copyright 2026