Si un problema np-hard se resuelve en tiempo polinómico, ¿es eso una prueba de que p = np o este problema se ha clasificado incorrectamente?

NP-Hard es la clase de problemas, en términos simples, “al menos tan difícil” como cualquier problema en NP . Lo que esto significa específicamente es que si tiene un algoritmo [matemático] A_1 [/ matemático] para resolver un problema NP-Hard , puede construir, para cualquier problema NP , un algoritmo [matemático] A_2 [/ matemático] que se ejecuta en el “mismo tiempo” que [matemática] A_1 [/ matemática] (las complejidades de los dos algoritmos tendrán como máximo una diferencia de tiempo polinómico).

Tenga en cuenta que, dado que no confinamos NP-Hard dentro de NP , no tenemos la garantía de que los problemas de NP-Hard puedan verificarse en tiempo polinómico (la propiedad clave de NP ). Esta es la razón por la cual la clase NP-Complete es tan importante: al ser la intersección entre NP y NP-Hard , NP-Complete captura el conjunto de problemas NP-Hard que pueden verificarse en tiempo polinómico.

Entonces, respondiendo a su pregunta: si un problema NP-Hard se resuelve en tiempo polinómico, hay dos escenarios posibles:
1. El problema pertenece al subconjunto de problemas NP-Hard que se pueden verificar en tiempo polinómico ( NP-Complete ), y esto constituye una prueba de que P = NP .
2. El problema no pertenece al subconjunto de problemas NP-Hard que pueden verificarse en tiempo polinómico, y este problema, con certeza, se ha clasificado incorrectamente. ¿Por qué? Porque un solucionador polinomial de un problema es una receta para un verificador polinomial para el mismo problema. Puede tomar cualquier instancia y solución candidata, resolver la instancia en tiempo polinómico y comparar el resultado con la solución candidata, obteniendo si son iguales y no de otra manera (recuerde, todos los problemas que importan son problemas de decisión). Por lo tanto, el resultado de un solucionador de polinomios a un problema con probablemente ningún verificador de polinomios es una contradicción y eso significa que debe haber algún error en su algoritmo.

Sí. Cada problema en NP-hard es al menos tan difícil como NP-complete. NP-complete es un subconjunto de NP-hard. Hay otras clases que son subconjuntos de NP-hard (por ejemplo, PSPACE.) Que son aún más difíciles de resolver, y son aún menos propensos que los problemas de NP a ser resueltos en tiempo polinómico de manera determinista. (Se ha demostrado que P es un subconjunto adecuado de EXPTIME, que es parte de NP-hard, por lo que ciertamente no incluirá eso).

Para ponerlo en un diagrama, extraído de Wikipedia:

Hay un problema semántico aquí. Se ha comprobado que muchos problemas de NP-Complete son de NP-Complete según las estrategias de búsqueda requeridas. Pero cuando se les da la respuesta correcta, se pueden validar más rápido que NP-Complete (creo que el vendedor viajero es un ejemplo de esto).

Para que usted pueda decir algo significativo sobre la hipótesis p = NP, tendría que no solo resolver un problema, sino crear una estrategia de solución garantizada para resolver una clase completa de problemas en tiempo polinómico.
Pero si hicieras eso, probarías una amplia clase de problemas que se sabe que son equivalentes en algún sentido. Sin embargo, debo mencionar que hay un gran subconjunto de problemas polinómicos, que solo puede terminar en un tiempo razonable cuando se baja a la computación cuántica (o peor) y si hubo un mapeo de problemas no polinómicos en tiempo polinómico, entonces muchos de la clase np-complete se garantizaría que se mapearía en la “parte difícil” del tiempo polinomial, por lo que es muy posible que hagamos este descubrimiento y la respuesta todavía salga como “no con las computadoras de hoy en día para la gran n”.

Pero, en teoría, si se te ocurre un algoritmo eficaz y repetible para resolver uno de los problemas completos de np en tiempo polinómico, entonces deberíamos poder decir: “Al menos esto se puede resolver más rápido que en tiempos exponenciales” para toda la clase .

Significa que se ha clasificado incorrectamente.

Depende de cada caso específico de cada problema específico, pero generalmente hay muchos casos en los que P no es igual a NP.

Entiendo que la cuestión de P vs. NP es en realidad una cuestión de ergodicidad computacional en el espacio de solución .

En algún lugar del espacio de fases de las posibles configuraciones del sistema, hay estados que son “soluciones correctas” a ciertos problemas que pueden verificarse mediante una “ruta computacional corta”: esto es análogo a resolver un laberinto al revés, que generalmente es mucho más fácil que resolverlo hacia adelante (depende de los detalles del diseño del laberinto, pero se entiende la idea).

Resolver un laberinto hacia adelante es mucho más difícil porque la topología del laberinto significa que el espacio combinatorio de posibles soluciones puede crecer muy rápidamente, y usted no sabe si una rama del camino es la solución o no hasta que llegue a su final, y entonces el P vs La pregunta de NP en realidad contiene “el problema de la detención”, que se ha demostrado que es indecidible (Turing, 1936).

Por lo tanto, si el problema de detención no se puede resolver universalmente, esto implica que hay caminos de solución de laberinto que no se pueden predecir sin un cálculo exhaustivo, y cuyo tiempo de cálculo de la solución tampoco se puede predecir. Entonces P no es igual a NP.

Si cree que ha mostrado que un problema NP-completo tiene un algoritmo de tiempo polinómico, las posibilidades más probables son:

  1. Tu algoritmo no es correcto.
  2. Tu algoritmo no es polinomial.
  3. El problema que resuelve el algoritmo no es en realidad NP completo.

No, eso no es una prueba de p = np. Cada problema p también es un problema np, por lo que ya hay toneladas de problemas np-hard que se pueden resolver en tiempo polinómico. La conjetura indica que TODOS los problemas np-hard se pueden resolver en tiempo polinómico, lo que es una afirmación muy diferente.

More Interesting

Si [matemática] f (5) = 12 [/ matemática] y [matemática] f (10) = 18 [/ matemática] ¿qué significa [matemática] f (20) =? [/ Matemática] Cuándo (a) [matemática] f [/ math] es una función exponencial y (b) [math] f [/ math] es una función de potencia?

¿Cuál es la negación de min y max?

Cómo resolver este problema particular de programación dinámica ACM-ICPC

¿Es la matemática de la computación (UCLA) una especialidad decente para ir a la escuela de posgrado en informática?

¿Cuál es el propósito del software matemático computacional?

¿Han publicado algunos expertos impresiones iniciales del artículo de ArXiv que afirman NP = PSPACE?

¿Qué es lo contrario de una máquina de Turing? ¿Existe una máquina teórica que ya esté configurada para calcular algún algoritmo de la manera más directa?

¿Debo estudiar Matemáticas e Informática o Ingeniería Eléctrica y Electrónica?

Quiero ser excelente en matemáticas y programación, pero no tengo tiempo para ambos. ¿Cúal?

¿Puedo usar una función hash para ordenar registros de manera aleatoria pero consistente?

¿Por qué una calculadora simple solo toma hasta 9 dígitos como entrada?

¿Cómo es O (N ^ 4) la respuesta correcta? ¿Puedes explicarlo paso a paso?

Si el Universo se restableciera al estado en el que acaba de comenzar, ¿podría el mundo ser diferente después de exactamente la misma cantidad de tiempo que la edad del Universo ahora? ¿O sería exactamente lo mismo?

¿Cuál es el mejor uso de cada uno de los siguientes: Mathematica, Maple, Matlab, SAS y SPSS?

¿Es el código de computadora una forma de representación matemática?