variante do SAT Crítico


8

O idioma Critical SAT é definido como o conjunto de fórmulas booleanas tal modo que mas remover qualquer cláusula de torna satisfatório. Sabe-se que o Critical SAT é completo. Gostaria de saber sobre a seguinte variante: dada uma fórmula , é o caso de estar em e de que existe alguma cláusula tal que (em vez de todas as cláusulas, existe uma cláusula) . Essa variante de também está completa?F F L N S A T f D P C N F F F L N S A T c F c S A T D PCNFffUNSATfDPCNFffUNSATcfcSATDP

Respostas:


8

É claro que seu idioma está no DP. Para mostrar que é difícil para o DP, reduziremos o SAT-UNSAT para o seu idioma, que podemos chamar de CRIT-UNSAT. Dado um par de CNFs , sejam variáveis ​​novas e Aqui significa adicionar a todas as cláusulas de .x , y h = ( f ¬ x ) ( g x ) ( g y ) ¬ x ( x ¬ y ) . f ¬ x(f,g)x,y

h=(f¬x)(gx)(gy)¬x(x¬y).
f¬xf¬xf

Suponha primeiro que seja satisfatório não seja satisfatório. Como não é satisfatório, não é satisfatório. Como é satisfatório, é satisfatório. Assim, está em CRIT-SAT.g g h f h ¬ x hfgghfh¬xh

Por outro lado, suponha que esteja em CRIT-SAT. Como é insatisfatório, é insatisfatório. Para alguma cláusula , é satisfatório. Se então claramente ainda é insatisfatório. Da mesma forma, se então ainda é insatisfatório, devido a . Se ou , ainda é insatisfatório, devido a . Assim, , o que significa queh g c h c c f ¬ x h c c g x h c g y c g y c = x ¬ y h c g x c = ¬ x h | x = 1 fhhgchccf¬xhccgxhcgycgyc=x¬yhcgxc=¬xh|x=1 é satisfatório, isto é, é satisfatório.f


1
Para evitar duplicação, você não pode simplesmente criar a segunda instância de em novas variáveis? g
Joshua Grochow 01/08/19

1
Que análise de caso?
Radu GRIGore

1
@RaduGRIGore Podemos tentar por exemplo. Se é uma instância de SAT-UNSAT, então é insatisfatório e se torna satisfatório se removermos . Na outra direção, se é insatisfatório, então é insatisfatório. Temos que verificar se existe agora uma maneira de "trapacear" - para torná-lo satisfatório removendo , por exemplo. Na verdade, isso não vai ajudar. Mas tivemos que verificar mais um caso. ( f , g ) h ¬ x h g x ¬ yh=(f¬x)(gx)(gy)¬x(x¬y)(f,g)h¬xhgx¬y
Yuval Filmus

3
Eu pensei que o que Josué disse é , onde parece com mas com variáveis ​​ativadas. g ' gh=(f¬x)(gx)(gx)¬xgg
Radu GRIGore

1
@RaduGRIGore Certo, isso seria uma prova mais simples.
Yuval Filmus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.