Pregunta

He dado la siguiente variación de SAT:

Dada una fórmula F en CNF, donde cada cláusula C tiene exactamente 3 literales distintos y para cada C en F, ya sea que todos los literales son positivos o todos los literales se niegan. Ejemplo:

$ f= (x_1 \ vee x_2 \ vee x_4) \ wedge (\ neg x_2 \ vee \ net x_3 \ vee \ neg x_4) \ wedge (x_3 \ vee x_4 \ vee x_5) $

¿Es esta variación de SAT TRATTRABLE?

Mis hallazgos hasta ahora:

Sospecho que el problema es NP-Completa y, por lo tanto, no es autor. Por lo tanto, me gustaría realizar una poli-reducción de 3-SAT a la variación descrita anteriormente.

Una fórmula arbitraria de 3 SAT se puede convertir a Monotone 3-SAT.

TOMAR SIGUIENTE EJEMPLO:

$ c_1= (x_1 \ vee x_2 \ vee \ neg x_3) $ y define $ z_3 $ por $ \ neg x_3 \ leftrightarrow z_3 $ y $ x_3 \ leftrightarrow \ net z_3 $ que es equivalente a $ (x_3 \ vee z_3) \ wedge (\ net x_3 \ vee \ net z_3) $ .

de que obtenemos la forma monótona de $ c_1 $ por

$ (x_1 \ vee x_2 \ vee \ net x_3) \ leftrightarrow (x_1 \ vee x_2 \ vee z_3) \ wedge (x_3 \ vee z_3) \ wedge (\ neg x_3 \ vee \ net z_3) $

Al aplicar esta transformación a todas las cláusulas, obtengo una fórmula monótona 3-SAT, que es igualmente satisfactoria.

Mi reducción produce 2 cláusulas adicionales con 2 literales para cada cláusula no monotona, pero ¿cómo obtengo solo cláusulas monótonas con exactamente 3 literales distintos?

¿Fue útil?

Solución

Intentaré responder ahora mi propia pregunta y se alegraría de algunos feed en la corregencia.

Como en la pregunta anteriormente discutida y señalada por Kyle Jones, podemos reducir las fórmulas arbitrarias de 3 satélites a las fórmulas de 3-SAT Monotone.

Por ejemplo, una cláusula $ c= (x_1 \ vee x_2 \ vee \ neg x_3) $ se puede convertir en $ C '(x_1 \ vee x_2 \ vee z_3) \ wedge (z_3 \ vee x_3) \ wedge (\ net z_3 \ vee \ neg x_3) $ . Uno puede comprobar si $ C $ es satisfecho $ c '$ también es satisfactorio y si $ C $ no es satisfecho $ c '$ tampoco es satisfactorio.

El siguiente paso es convertir todas las cláusulas con menos de 3 literales a cláusulas con exactamente 3 literales distintos.

Por lo tanto, tomar, por ejemplo, $ c_1= (x_1 \ vee x_2) $ y transformarlo en $ c_1 '= ( x_1 \ vee x_2 \ vee y_1) \ wedge (x_1 \ vee x_2 \ vee y_2) \ wedge (x_1 \ vee x_2 \ vee y_3) \ wedge (\ net y_1 \ vee \ net y_2 \ vee \ net y_3) $ De nuevo, si $ c_1 $ es satisfecho $ c_1 '$ también es satisfactorio y si $ C_1 $ no es satisfecho $ c_1 '$ tampoco es satisfactorio. Lo mismo se puede hacer para el caso negativo, es decir, $ c_2= (\ neg x_1 \ vee \ neg x_2) $ se puede transformar en $ C_2 '= (\ net x_1 \ vee \ net x_2 \ vee \ net u_1) \ wedge (\ neg x_1 \ vee \ net x_2 \ vee \ neg u_2) \ wedge (\ neg x_1 \ vee \ net x_2 \ vee \ neg u_3) \ wedge (u_1 \ vee u_2 \ vee u_3) $

Al aplicar las dos transformaciones, se puede convertir una instancia arbitraria de 3 SAT a una instancia monótona 3-SAT con exactamente 3 literales distintos. Como se puede ver fácilmente por encima de las transformaciones, tienen complejidad polinomial. Por lo tanto, ya que 3-SAT es NP-HARD, la reducción, Aswell, debe ser NP-HARD.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top