(Publiquei esta pergunta no CS há dez dias, sem resposta desde então - então publico aqui.)
Qualquer fórmula CNF pode ser transformada em tempo polinomial em uma fórmula 3-CNF usando novas variáveis. Nem sempre é possível se novas variáveis não são permitidas (por exemplo, a fórmula de cláusula única: ).( x 1 ∨ x 2 ∨ x 3 ∨ x 4 )
Vamos definir o problema (SAT para 3-SAT): Dado , uma fórmula CNF. É possível transformar em um 3-CNF equivalente definido nas mesmas variáveis que ? - onde "equivalente" significa com o mesmo conjunto de modelos.F F F
Qual é a complexidade desse problema?
cc.complexity-theory
complexity-classes
sat
Xavier Labouze
fonte
fonte
Respostas:
(A partir do comentário acima) O problema parece difícil de coNP; a redução simples é de 3CNF-UNSAT (que é coNP-completa): dada uma fórmula 3CNF φ = C 1 ∧ . . . ∧ C m , estendê-lo adicionando uma nova cláusula com 4 novas variáveis:φ=C1∧...∧Cm
φ ' = ( Y 1 ∨ y 2 ∨ y 3 ∨ y 4 ) ∧ C 1 ∧ . . . ∧ C m
φ ' tem uma fórmula 3CNF equivalente definido nas mesmas variáveis se e apenas se a fórmula original φ é insatisfatível.φ′ φ
( ⇐ ) a fórmula 3CNF ( y 1 ∨ y 2 ∨ y 3 ) ∧ ( y 1 ∨ y 2 ∨ y 4 ) ∧ C 1 ∧ . . . ∧ C m é equivalente a φ ′⇐ ( y1∨ y2∨ y3) ∧ ( y1∨ y2∨ y4)∧C1∧...∧Cm φ′
( ⇒ ) supor que φ ' tem uma fórmula equivalente 3CNF φ " e que é satisfeita. Escolha uma tarefa satisfatória de e simplifique ambos e substituindo as variáveis pela verdade correspondente valores . Nós obtemos que é satisfatório se e somente se é satisfatório (ambos contêm apenas variáveis ). Claramente⇒ φ′ φ′′ φ X = ⟨ ˙ x 1 , . . . , ˙ x n ⟩ φ φ ' φ " x i ˙ x i φ ' X φ " X y i φ ' X = ( y 1 ∨ y 2 ∨ y 3 ∨ y 4 ) φ " X ( y 1 ∨ ¬ y 2φ X=⟨x˙1,...,x˙n⟩ φ φ′ φ′′ xi x˙i φ′X φ′′X yi φ′X=(y1∨y2∨y3∨y4) . Toda cláusula de contém no máximo três variáveis, portanto podemos escolher uma delas, por exemplo e usá-la para criar uma tarefa satisfatória para :
que não é uma tarefa satisfatória para , levando a uma contradição.φ′′X ∨ y 3 ) φ ' ⟨ y 1 = f um l s e , y 2 = t r u e , y 3 = f um l s e , Y 4 = t r u e , ˙ x 1 , . . . , ˙ x n ⟩ & Phi; "(y1∨¬y2∨y3) φ′ ⟨y1=false,y2=true,y3=false,y4=true,x˙1,...,x˙n⟩ φ′′
fonte