Según tengo entendido, el problema de asignación está en P ya que el algoritmo húngaro puede resolverlo en tiempo polinómico - O (n 3 ). También entiendo que el problema de asignación es un problema de programación lineal de enteros , pero la página de Wikipedia dice que esto es NP-Hard. Para mí, esto implica que el problema de asignación está en NP-Hard.
Pero seguramente el problema de asignación no puede estar tanto en P como en NP-Hard, de lo contrario, P sería igual a NP? ¿La página de Wikipedia simplemente significa que el algoritmo general para resolver todos los problemas de ILP es NP-Hard? Algunas otras fuentes afirman que ILP es NP-Hard, por lo que esto realmente confunde mi comprensión de las clases de complejidad en general.
Respuestas:
Si un problema es NP-Hard significa que existe una clase de instancias de ese problema que son NP-Hard. Es perfectamente posible que otras clases específicas de instancias puedan resolverse en tiempo polinómico.
Considere, por ejemplo, el problema de encontrar una coloración 3 de un gráfico . Es un conocido problema NP-Hard. Ahora imagine que sus instancias están restringidas a gráficos que son, por ejemplo, árboles. Claramente, puede encontrar fácilmente una coloración 3 de un árbol en tiempo polinómico (de hecho, también puede encontrar una coloración 2).
Considere los problemas de decisión por un segundo. Un método para probar la dureza de un problema de decisión es idear una reducción polinómica (Karp) de otro problema que se sabe que es NP-Hard. En esta reducción se demuestra que existe una función que asigna cada instancia del problema a una instancia del problema tal que: es una instancia de sí a favor de es una instancia de sí para . Esto implica que resolver debe ser "al menos tan difícil" como resolver sí mismo.Q f q Q P q QPAGS Q F q Q PAGS q P f ( q ) qQ⟺F( q) PAGS F( q) q
Aviso cómo no se requiere para la imagen de sea igual al conjunto de las instancias de . Por lo tanto, es perfectamente posible que el problema restringido a algún subconjunto de instancias no sea difícil.P PF PAGS PAGS
Para volver a su pregunta original:
fuente
No, los casos especiales pueden ser más fáciles.
Considere esta IP, por ejemplo, dadaunayo≥ 0 para i ∈ [ 1 .. n ] :
st y para .∑i = 1norteXyo≥ 1 xi∈Ni∈[1 ..n]
Xyo∈ N i ∈ [ 1 .. n ]
Encuentra el mínimo entre (aquello para lo cual, inevitablemente, en una solución óptima). Encontrar el mínimo de números es claramente un problema polinómico.una1, ... , unnorte Xyo= 1 norte
fuente
Puede modelar un problema polinomialmente solucionable como una IP. Esto no significa que el problema sea NP-duro. Simplemente significa que no existe un algoritmo polinómico conocido para resolver el modelo IP de su problema (a menos que P = NP).
Entonces, como sugirió, el problema de asignación está en P pero su modelo de IP es NP-hard.
fuente
No, hay un tipo especial de programa entero, si la matriz de restricción es TUM (matriz totalmente unimodular), entonces se puede relajar en el programa lineal, que se puede resolver en tiempo polinómico.
fuente
El problema de asignación no es un ILP, sino un problema de LP y, por lo tanto, no NP-hard.
fuente