O conhecido problema SAT é definido aqui para fins de referência.
O problema DOUBLE-SAT é definido como
Como provamos que é NP-completo?
Mais de uma maneira de provar será apreciada.
O conhecido problema SAT é definido aqui para fins de referência.
O problema DOUBLE-SAT é definido como
Como provamos que é NP-completo?
Mais de uma maneira de provar será apreciada.
Aqui está uma solução:
Claramente, Double-SAT pertence a , uma vez que um NTM pode decidir Double-SAT da seguinte maneira: Em uma fórmula de entrada booleana ϕ ( x 1 , … , x n ) , adivinhe 2 de forma não-determinística e verifique se ambos satisfazem ϕ .
Para mostrar que a Double-SAT é -Complete, que dão uma redução de sab em Double-sab, como segue:
Na entrada :
Se pertence a SAT, então ϕ tem pelo menos 1 tarefa satisfatória e, portanto, ϕ ' ( x 1 , … , x n , y ) possui pelo menos 2 tarefas satisfatórias, pois podemos satisfazer a nova cláusula ( y ∨ ˉ y ) atribuindo y = 1 ou y = 0 à nova variável y , então ϕ ′ ( x , ..., x n , y ) ∈ SAT duplo.
Por outro lado, se , então claramente ϕ ′ ( x 1 , … , x n , y ) = ϕ ( x 1 , … , x n ) ∧ ( y ∨ ˉ y ) também não possui atribuição satisfatória, então ϕ ′ ( x 1 , … , x .
Portanto, , e, portanto, duas vezes SAT é N P -Complete.
Você sabe que é NP-completo. Você pode encontrar uma redução de S A T para D O U B L E - S A T ? Ou seja, você pode manipular uma fórmula satisfatória para que o resultado tenha pelo menos duas atribuições satisfatórias? Observe que a mesma manipulação não pode tornar satisfatórias as fórmulas não confiáveis.SAT SAT DOUBLE-SAT
fonte