¿Cómo demostrar que una versión restringida de 3SAT en la que no puede aparecer un literal más de una vez es solucionable en tiempo polinómico?

10

Estoy tratando de resolver una tarea (tomada del libro Algorithms - de S. Dasgupta, CH Papadimitriou y UV Vazirani , Capítulo 8, problema 8.6a), y estoy parafraseando lo que dice:

Dado que 3SAT permanece NP-completo incluso cuando se restringe a fórmulas en las que cada literal aparece como máximo dos veces, demuestre que si cada literal aparece como máximo una vez, entonces el problema se puede resolver en tiempo polinómico.

Intenté resolver esto separando las cláusulas en múltiples grupos:

  1. Cláusulas que no tenían ninguna variable en común con el resto de las cláusulas.
  2. Cláusulas que solo tenían 1 variable en común
  3. Cláusulas que tenían 2 variables en común.
  4. Cláusulas que tenían las 3 variables en común

Mi razonamiento se intentó en el sentido de que el número de tales grupos es finito (debido a la restricción impuesta de que no haya literal presente más de una vez), y podríamos tratar de satisfacer primero al grupo más restringido (grupo 4) y luego sustituir el resultó en los grupos menos restringidos (3, 2 y luego 1), pero me di cuenta de que esto no me estaba llevando a ninguna parte, ya que esto no difiere mucho del caso de la versión restringida de 3SAT en la que puede aparecer cada literal a lo sumo dos veces, que ha demostrado ser NP-completo.

Intenté buscar en línea cualquier pista / solución, pero todo lo que pude obtener fue este enlace , en el que la pista indicada no tenía suficiente sentido para mí, que estoy reproduciendo textualmente aquí:

XyoCjXyoXyo¯CkCjCk¯

CjCkCjCk¯CjCk¯

Cualquier ayuda para descifrar la pista o proporcionar un camino que pueda explorar sería realmente apreciada.

TCSGrad
fuente

Respuestas:

12

Sin pérdida de generalidad, podemos suponer que cada variable aparece exactamente una vez positiva y exactamente una vez negativamente (si una variable solo aparece una vez, establezca su valor para satisfacer la cláusula y eliminar la cláusula). También podemos suponer que una variable no aparece en una cláusula más de una vez (si una variable aparece tanto positiva como negativamente en una cláusula, entonces la cláusula se satisface y se puede eliminar). Estos no alterarán la satisfacción.

Ahora use la regla de resolución para eliminar las variables una por una (dado que cada variable aparece exactamente una vez positiva y otra negativamente, este es un proceso determinista). Si en algún momento obtenemos la cláusula vacía, el conjunto de cláusulas es insatisfactorio, de lo contrario es satisfactoria. Esto es porque:

  • la resolución es un sistema completo de prueba proposicional (es decir, si una cláusula está implícitamente lógica por el conjunto de cláusulas, entonces se puede derivar del conjunto de cláusulas utilizando solo la regla de resolución),

  • un conjunto de cláusulas es insatisfactorio si implica lógicamente la cláusula vacía.

(Xsi)(X¯C)...)(siC)..., que tiene una cláusula menos que antes de la resolución. Por el contrario, si aplicó esto a una fórmula 3SAT sin restricción en el número de apariencias de cada literal, la aplicación de la resolución podría hacer que el número de cláusulas aumente exponencialmente.

Kaveh
fuente
3
unsi¬unCsiC
1
También es necesario asegurarse de que la invariante aún se aplique después de que se haya utilizado la resolución. Después de este paso, la instancia SAT (nota, ya no es 3SAT) conserva la propiedad de que cada literal ocurre precisamente una vez positivamente y una vez negativamente. Esto también muestra que la restricción 3SAT en la pregunta no era necesaria; la resolución de la unidad funciona para cualquier instancia SAT que satisfaga la restricción de grado 2. En resumen: la resolución de la unidad resuelve el grado 2 SAT en tiempo lineal.
András Salamon
No entiendo la última parte. ¿Por qué las cláusulas aumentarán exponencialmente en 3SAT normal?
Parth Tamane