Trouble understanding why Disjunctive Normal Form is polynomial time solvable but not CNF.

4.5k Views Asked by At

So from my understanding when looking at a Boolean formula in Disjunctive Normal Form, its satisfiability is decidable in polynomial time, yet this isn't the case for CNF. Is this because with DNF you only need to find one clause that is satisfiable to prove it? Where as in CNF you would need to compare all of them regardless?

1

There are 1 best solutions below

0
On BEST ANSWER

Yes. DNF and CNF formulas describe the solution space in different ways. DNF formulas are explicit in that they tell you exactly which assignments will satisfy the formula. CNF formulas are implicit in that they tell you what assignments won't satisfy the formula.

Because DNF formulas are explicit, to determine satisfiability it suffices to go through the list of clauses and verify that at least one does not contain a variable and its negation. One pass through the clauses can at most require time linear to the number of clauses and quadratic to the number of variables, so there's your polynomial-time decision procedure for DNF satisfiability.