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 PCNFff∈UNSATfDPCNFffUNSATcf∖c∈SATDP

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)∧(g∨x)∧(g∨y)∧¬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 fhhgch∖cc∈f∨¬xh∖cc∈g∨xh∖cg∨yc∈g∨yc=x∨¬yh∖cg∨xc=¬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)∧(g∨x)∧(g∨y)∧¬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)∧(g∨x)∧(g′∨x)∧¬xg′g
— 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.