We begin with models and analyse the computational hardness of each problem: tractable problems admit exact solutions, while hard ones call for approximate solutions. Both paths lead to real-world applications.
Computational complexity theory
Tractable problems (P)
Hard problems (NP-hard)