¿Existe alguna técnica general para demostrar que un problema NO es NP-Complete?
Recibí esta pregunta en el examen que me pidió que mostrara si algún problema (ver más abajo) es NP-Complete. No se me ocurrió ninguna solución real, y solo probé que estaba en P. Obviamente, esta no es una respuesta real.
NP-Complete se define como el conjunto de problemas que se encuentran en NP, y todos los problemas de NP pueden reducirse a él. Por lo tanto, cualquier prueba debe contradecir al menos una de estas dos condiciones. Este problema específico, de hecho, está en P (y por lo tanto en NP). Así que estoy atascado con demostrar que hay algún problema en NP que no se puede reducir a este problema. ¿Cómo diablos se puede probar esto?
Aquí está el problema específico que me dieron en el examen:
Sea el conjunto de cadenas en forma normal disyuntiva . Supongamos que es el lenguaje de cadenas de que pueden satisfacerse mediante alguna asignación de variables. Muestre si está en NP-Completo.
fuente
Respuestas:
Según los comentarios, parece querer una respuesta incondicional.
Sin embargo, DNF-SAT está en L, asignando variables para satisfacer el primer disyuntivo. Por lo tanto, si es NP completo, entonces L = NP.
Por otro lado, si L = NP, entonces DNF-SAT es NP-completo bajo reducciones de espacio de registro, trivialmente. (De hecho, si L = NP, entonces cada problema en NP es NP completo bajo reducciones de espacio de registro).
Se deduce que L = NP si DNF-SAT es NP-completo bajo reducciones de espacio de registro.
Por lo tanto, actualmente no puede hacer una declaración incondicional de que DNF-SAT no tiene NP completo, como parece querer hacer. No es necesario asumir P ≠ NP, pero la respuesta tiene que estar condicionada a algo, y L ≠ NP es la hipótesis más débil posible que garantiza el resultado deseado.
fuente
Un problema es NP-completo si es NP- duro y en NP. Esto significa que debe refutar uno de estos dos.Q
Por lo general, la respuesta es dar un algoritmo de tiempo polinómico, que sería el más simple para DNF-SAT, pero esto se basa en la hipótesis de que P NP. Sin embargo, demostrar que DNF-SAT no es NP-completo sin ninguna suposición implica, como señala Shaull, probar que P ≠ NP, por lo que es algo más complicado.≠ ≠
fuente
Por la jerarquía de tiempo no determinista, podría mostrar que el problema es -hard; como N P ≠ N E X P , es imposible reducir el problema en tiempo polinómico a cualquier problema en N P , por lo que el problema no será en N P .NEXP NP≠NEXP NP NP
Sin embargo, si su problema no es tan difícil, es posible que tenga dificultades para demostrar que no está en ; y si esen N P , se le apuros para demostrar que N P no es Karp reducible a su problema sin suponer que P ≠ N P .NP NP NP P≠NP
fuente
Como es el caso con todas las pruebas, no existe una fórmula para probar una declaración, debe hacer algunas conjeturas inteligentes, prueba y error y, con suerte, podrá probar lo que está tratando de probar. Para probar que un problema NO es NP-Complete, niegue la definición (Ley DeMorgran), es decir, pruebe que el problema NO está en NP o prueba el problema NO NP-Hard.
fuente
Creo que lo que el profesor realmente quiere es que puedas distinguir los problemas que están en P de los que tienen NP completo en el lenguaje de significado dado, ¿puedes construir un algoritmo eficiente? en caso afirmativo, se sospecha que no es NP-complete porque no creemos que los lenguajes en P sean NP-complete! de lo contrario, aún debe demostrar que el problema es NP-hard.
tenga en cuenta que existen algunos problemas que desconocemos, como el isomorfismo gráfico, la factorización de un número dado, ... ¡creemos que estos problemas no son NP completos, pero nadie puede probar eso! ¡específicamente tenemos evidencias de que el isomorfismo gráfico no es NP completo! Otro problema es la coyuntura única del juego que sospechamos que el juego único es NP-complete pero no existe ninguna prueba. ¡así que el enfoque que ha descrito no es útil!
fuente