Как я могу доказать, что преобразование из CNF в DNF является NP-Hard?
Я не прошу ответа, просто несколько советов о том, как это доказать.
Как я могу доказать, что преобразование из CNF в DNF является NP-Hard?
Я не прошу ответа, просто несколько советов о том, как это доказать.
Ответы:
Неофициально:
В DNF вы можете выбрать любое предложение как истинное, чтобы сделать формулу истинной. Это означает, что DNF, который эквивалентен некоторому CNF, является в основном перечислением всех решений логического сата на CNF. Обратите внимание, что может быть экспоненциальное количество решений. Поскольку решение логического сбоя для CNF для одного решения является NP-полным, преобразование в DNF, по сути, означает решение для каждого решения. Так что это, по крайней мере, так же сложно, как Boolean SAT, и, следовательно, NP-hard.
источник