Partimos de modelos y analizamos la dificultad de cada problema: los problemas sencillos admiten soluciones exactas y los difíciles, soluciones aproximadas. Ambas vías llegan a aplicaciones reales.
Teoría de la complejidad computacional
Problemas sencillos (P)
Problemas difíciles (NP-hard)