El primer conocido $NPC$ problema es el Problema de Satisfacción Booleana, que tiene una prueba de ser $NPC$ hecho por Cook (Teorema de Cook-Levin).
El problema puede describirse fácilmente de la siguiente manera:
En la teoría de la complejidad, el problema de la satisfabilidad (SAT) es un problema de decisión, cuya instancia es una expresión booleana escrita usando sólo AND, OR, NOT, variables y paréntesis. Por lo tanto, debemos dar una respuesta "sí" si hay un conjunto de variables booleanas que dan "TRUE" para lo dado para la expresión correspondiente.
Sin embargo, tengo una pregunta. El artículo de la wikipedia dice lo siguiente:
SAT es más fácil si las fórmulas se limitan a las de forma normal disyuntiva es decir, son disyunción (OR) de términos, donde cada término es una conjunción (AND) de literales (variables posiblemente negadas). Una fórmula de este tipo es realmente satisfactoria si y sólo si al menos uno de sus términos es satisfactorio, y un término es satisfactorio si y sólo si no contiene tanto x como NOT x para alguna variable x. Esto puede comprobarse en tiempo polinómico.
Así que, básicamente, si la expresión se escribe en el DNF, este problema no es $NPC$ sino simplemente $P$ .
Sin embargo, por lo que sé, hay una $O(p(n))$ para transformar cualquier expresión booleana en DNF y DNF existe para cualquier expresión booleana.
¿Qué me estoy perdiendo o interpretando mal? Obviamente hay un error en mi lógica, porque resultó en hacer el problema del SAT $P$ pero no $NP$ .
Gracias.
0 votos
Esto se aclaró en Wikipedia ahora "Pero puede tomar tiempo y espacio exponencial para convertir un problema general SAT a la forma normal disyuntiva".