variante de SAT crítico

8

El lenguaje Critical SAT se define como el conjunto de fórmulas booleanas f tal que f U N S A T, pero eliminar cualquier cláusula de f lo hace satisfactorio. Se sabe que el SAT crítico es D P -completo. Me pregunto acerca de la siguiente variante: dada una fórmula C N F f , ¿es el caso que f está en U N S A T y que existe alguna cláusula c tal que f c CnorteFFFUnorteSUNATFrePAGSCnorteFFFUnorteSUNATC (en lugar de para todas las cláusulas, existe una cláusula). ¿Esta variante D P -completa también?FCSUNATrePAGS

Juan
fuente

Respuestas:

8

Está claro que su idioma está en DP. Para demostrar que es DP-hard, le daremos una reducción de SAT-UNSAT a su idioma, lo que podemos llamar CRIT-UNSAT. Dado un par de CNF , que x , y sean variables frescas, y que h = ( f ¬ x ) ( g x ) ( g y ) ¬ x ( x ¬ y ) . Aquí f (F,sol)x,y

h=(F¬X)(solX)(soly)¬X(X¬y).
medios añaden ¬ x para todas las cláusulas de f .F¬X¬XF

Supongamos primero que es satisfactoria yg no es satisfactoria. Como g no es satisfactoria, h no es satisfactoria. Como f es satisfactoria, h ¬ x es satisfactoria. Por lo tanto, h está en CRIT-SAT.FsolsolhFh¬Xh

Por el contrario, suponga que está en CRIT-SAT. Como h es insatisfactorio, g es insatisfactorio. Para alguna cláusula c , h c es satisfactoria. Si c f ¬ x entonces claramente h c sigue siendo insatisfactorio. Del mismo modo, si c g x entonces h c sigue siendo insatisfactorio, debido a g y . Si c g y o c =hhsolChccf¬xhccgxhcgycgy luego h c sigue siendo insatisfactorio, debido a g x . Entonces c = ¬ x , lo que significa que h | x = 1 es satisfactoria, es decir, f es satisfactoria.c=x¬yhcgxc=¬xh|x=1f

Yuval Filmus
fuente
1
Para evitar la duplicación, ¿no puede simplemente hacer la segunda instancia de en nuevas variables? sol
Joshua Grochow
1
¿Qué análisis de caso?
Radu GRIGore
1
@RaduGRIGore Podemos probar por ejemplo. Si ( f , g ) es una instancia de SAT-UNSAT, entonces h es insatisfactorio y se vuelve satisfactorio si eliminamos ¬ x . En la otra dirección, si h es insatisfactorio, entonces gh=(F¬X)(solX)(soly)¬X(X¬y)(F,sol)h¬XhsolEs insatisfactorio. Tenemos que comprobar que ahora hay una manera de "hacer trampa", para que sea satisfactoria eliminando , por ejemplo. De hecho, esto no ayudará. Pero tuvimos que verificar un caso más. x¬y
Yuval Filmus
3
Pensé que lo que Joshua dijo es , donde g ' se ve como g pero con variables imprimados. h=(f¬x)(gx)(gx)¬xgg
Radu GRIGore
1
@RaduGRIGore Correcto, eso sería una prueba más simple.
Yuval Filmus