Aunque para algunos problemas populares, es cierto, creo que ambos supuestos son, dependiendo de lo que defina como un problema de optimización, no son ciertos.
Primero algunas definiciones: la mayoría de los problemas de optimización no son parte de NP . Por ejemplo, para el problema de la mochila : no se puede explotar el no determinismo para construir la bolsa más valiosa, simple porque las diferentes ramas no deterministas no tienen memoria compartida. NP también se define como "polinomialmente verificable" (verificar un certificado) [1, p. 34]
. En este caso, el certificado es, por ejemplo, una bolsa : una cadena de bits en la que si se establece el i -ésimo bit, implica que el ítem i -ésimo es parte de la bolsa. De hecho, puede verificar en el tiempo polinómico si dicha bolsa es más valiosa que un umbral dado (esta es la variante de decisión), pero, hasta donde sabemos, no puede, basándose en una sola bolsa (un número polinómico de bolsas), decidir si esa bolsa es la más valiosa de todas las bolsas posibles. Esa es una diferencia vital entre, por ejemplo, NP y EXP : en EXP , puede enumerar todas las bolsas posibles y llevar la contabilidad sobre cuál es la mejor bolsa.
La variante de decisión de los problemas de optimización es en algunos casos parte de NP , uno necesita hacer una distinción clara entre el sabor de maximización y el sabor de decisión . En el sabor de la decisión, la pregunta es: " Dado un problema de optimización y un límite de utilidad, ¿existe una solución con un límite mayor o igual a ese límite de utilidad " (o ligeramente modificado para un problema de minimización).
También supongo que por NP te refieres a la parte (hipotética) de NP que no es parte de P . Si P = NP , por supuesto, NP-complete todavía existe, pero será igual a P (solo coincide con P para algunas nociones de reducción, como reducciones de tiempo múltiple polinomial por @ AndrásSalamon), lo que no es tan impresionante ( y reduciría la " brecha " que está indicando en su pregunta).
Cada vez más noto que la mayoría de los problemas discretos son NP completos.
Ahora que lo hemos resuelto: hay muchos problemas de optimización en P : problema de ruta más corta , problema de flujo máximo (para capacidades integrales), árbol de expansión mínima y coincidencia máxima . Aunque estos problemas pueden parecerle "triviales de resolver", siguen siendo problemas de optimización y, en muchos casos, la construcción (y la prueba de su corrección) no es tan fácil. Por lo tanto, el reclamo no contiene todos los problemas discretos que son NP completos. Dado que P no es igual a NP , estos problemas no pueden ser NP completos .
ΣPAGSyo
Mientras que la optimización de problemas continuos es casi siempre fácil de lograr.
Un problema continuo popular que es NP-hard es la programación cuadrática .
X⃗
X⃗ T⋅ Q ⋅ x⃗ 2+ c⃗ T⋅ x⃗
se minimiza satisfactoriamente:
A ⋅ x⃗ ≤ b⃗
En realidad, la programación lineal también se considera desde hace mucho tiempo NP-hard , pero con una heurística de muy buen rendimiento (el método Simplex ). Sin embargo, el algoritmo de Karmarkar está en P .
Desde el momento en que el problema de optimización se ocupa de objetos no convexos, en general será difícil, si no imposible, encontrar un algoritmo eficiente.
Bibliografía
[1]
Complejidad computacional, un enfoque moderno , Sanjeev Arora y Boaz Barak