When computers face hard problems, they deal with them by making them into simpler problems -- by making use of randomness, by removing constraints or by allowing approximations.
Para encarar problemas difíciles, las computadoras los dividen en problemas más simples usando la aleatoriedad, eliminando restricciones o permitiendo aproximaciones.