Em relação ao segmento Provando que a conversão de CNF para DNF é NP-Hard (e um segmento Math relacionado ):
E a outra direção, de DNF a CNF? É fácil ou difícil?
Na página 2 deste artigo , eles parecem sugerir que ambas as direções são igualmente difíceis quando dizem " Estamos interessados na ampliação máxima de tamanho ao mudar da representação CNF para a representação DNF (ou vice-versa) ".
Mas DNF-SAT está em P e CNF-SAT é NP- completo. Portanto, dada uma expressão DNF , deve haver uma expressão CNF equisatisfatável ϕ 2 cujo comprimento seja polinomial no comprimento de ϕ 1 . E a conversão ϕ 1 → ϕ 2 pode ser feita em tempo poli. Isso está correto?
Editar: Alterado equivalente a equisatisfatório (ou seja, variáveis adicionais são permitidas em ).
fonte
Respostas:
Se você estiver disposto a introduzir variáveis adicionais, poderá converter do formato DNF para CNF no tempo polinomial usando a transformação Tseitin . A fórmula CNF resultante será equisatisfatória com a fórmula DNF original: a fórmula CNF será satisfatória se e somente se a fórmula DNF original for satisfatória. Veja também https://en.wikipedia.org/wiki/Conjunctive_normal_form#Conversion_into_CNF .
Se você não deseja permitir a introdução de variáveis adicionais, a conversão do formato DNF para CNF é co-NP-hard. Em particular, testar se uma fórmula DNF é uma tautologia é co-NP-difícil. No entanto, testar se uma fórmula CNF é uma tautologia pode ser feito em tempo polinomial (basta verificar separadamente se cada cláusula é uma tautologia, o que é fácil, pois cada cláusula é uma disjunção de literais). Portanto, se você pudesse converter do formato DNF para CNF no tempo polinomial, sem introduzir novas variáveis, obteria um algoritmo de tempo polinomial para testar se uma fórmula DNF é uma tautologia - algo que parece improvável, dado que esperamos P não é igual a co-NP. Ou, dito de outra maneira, a conversão do formato DNF para CNF sem a introdução de variáveis adicionais é co-NP-hard.
Essa é a diferença entre equivalência vs equisatisfiabilidade . A equivalência requer que as duas fórmulas tenham o mesmo conjunto de soluções (e, portanto, não permite a introdução de variáveis adicionais). A equisatisfatibilidade exige apenas que ambas as fórmulas sejam satisfatórias ou insatisfatórias (e, portanto, permitem a introdução de variáveis adicionais).
fonte