NP no se aplica a algoritmos, se aplica a problemas.
Un problema es NP si es fácil verificar una solución. Puede que no sea fácil encontrar dicha solución, pero dada una solución candidata, podemos verificar fácilmente si es realmente una solución o no.
Por ejemplo, considere el problema del vendedor ambulante. Tenemos un gráfico que representa ciudades y carreteras. El vendedor necesita encontrar una ruta que atraviese todas las ciudades exactamente una vez, que sea lo más corta posible. Digamos que necesitan encontrar una ruta más corta que algún umbral [math] x [/ math]. Dada una solución candidata, simplemente sumamos todas las distancias y verificamos si esto es o no más corto que [math] x [/ math]. Es bastante fácil, y el tiempo que tome será aproximadamente lineal en el número de ciudades.
Sin embargo, encontrar si tal solución existe o no está lejos de ser trivial; de hecho, se sabe que es NP completo (si encontramos una solución eficiente, que lleva tiempo polinomial en el número de ciudades, podemos encontrar dicha solución a cualquier problema de NP).
- Si el número de factores de (n + 1)! es el doble del número de factores de n !, entonces, ¿cuál será el resto si n! ¿Se divide por n + 1?
- ¿Qué valor tendría una clase de algoritmos para un estudiante de matemática pura?
- ¿Cómo se encuentran todos los arreglos posibles de un conjunto dado de números?
- Dada una matriz de tamaño [matemática] m \ veces n [/ matemática] que contiene solo unos y ceros, ¿puedes encontrar cuántos grupos de unos hay?
- Cómo resolver la fórmula de combinación para n