¿Está 1SAT NP completo?

El problema de k-SAT en n variables sería determinar si existe una interpretación de todas las n variables lógicas distintas para satisfacer la fórmula dada en forma conjuntiva normal.

Se sabe que el problema 3-SAT es NP-Complete. Sin embargo, cuando establece k = 1, la expresión booleana que necesitamos satisfacer se reduce a las variables lógicas AND-ed juntas. Puedo pensar en una solución de tiempo polinomial trivial para esto, donde escanea la expresión y almacena las variables encontradas en una tabla hash (una matriz sería suficiente). Para todas las variables lógicas, si aparece alguna en la expresión junto con su negación, entonces obviamente la fórmula no es satisfactoria. De lo contrario lo es.

Notas adicionales:

Entonces, ahora sabemos que existe un algoritmo de tiempo polinómico para 1-SAT, si puede reducir cualquier problema NP-Complete a este problema, entonces toda la clase colapsaría, dando P = NP (que la mayoría de la comunidad CS piensa es poco probable)

El problema 2-SAT también se encuentra en P junto con el 1-SAT. Para cualquier k> 2, el problema k-SAT es NP-Completo.

More Interesting

En la clasificación de texto, ¿hay alguna manera de evitar los mismos resultados para 'hacer adición' y adición?

¿Se puede enseñar el pensamiento matemático / lógico?

¿Cuál es el propósito de aprender teoría de la computación?

¿Cuáles son algunos proyectos simples de C ++ que puedo emprender que me ayudarán a comprender los vectores?

¿Puedo ser un gran programador si no soy bueno en matemáticas? ¿Cómo puedo mejorar mis habilidades matemáticas?

Cómo encontrar un algoritmo para encontrar tanto el mínimo como el máximo de n números usando menos de 3n / 2 comparaciones

Dados n objetos y p posiciones divididas equitativamente alrededor de una tabla, n <= p, ¿cuántas combinaciones de ubicación existen?

¿Cuáles son algunos ejemplos de principios teóricos?

¿En qué se diferencia la teoría lógica de las matemáticas de la teoría lógica de la informática?

¿Están algunas de las máquinas en 'On Computable Numbers' (A. Turing 1936) buggy?

Quiero aprender matemáticas programando. ¿Cuáles son los proyectos de programación simples pero geniales que requerirían conocimiento de álgebra, cálculo, probabilidad, etc.?

Cómo analizar un archivo de texto en Python y obtener la suma de los números presentes en el archivo

Cómo ser un programador perfecto paso a paso

¿Cómo ha influido la teoría de conjuntos en el desarrollo de las estructuras de datos?

¿Cómo explicaría las diferencias subyacentes entre álgebra lineal, establecer álgebra teórica y álgebra relacional (especialmente desde una perspectiva CS / base de datos)?