Which of the following is TRUE about formulae in Conjunctive Normal Form?
A. For any formula, there is a truth assignment for which at least half the clauses evaluate to true.
B. For any formula, there is a truth assignment for which all the clauses evaluate to true.
C. There is a formula such that for each truth assignment, at most one-fourth of the clauses evaluate to true.
D. None of the above.
My Doubt: I know Conjunctive normal form is Product of sum form, But this question confuses me, Please explain me in simple language.
I will show two proofs of (A). We can quickly discount (B) with any unsatisfiable formula, like x ∧ ¬x
. From a proof of (A) we can also discount (C) and (D).
Let us say we have some formula in CNF. Let us examine any propositional variable (or term, or whatever you want to call it), which we will call x
. We can consider all the clauses which include either x
or ¬x
over three distinct cases:
If x
appears in the clause and ¬x
does not, we know that the clause will be satisfied if x
is assigned true, and will not be satisfied if x
is assigned false.
Similarly, if ¬x
appears in the clause and x
does not, we know that the clause will be satisfied if x
is assigned false, and will not be satisfied if x
is assigned true.
If both x
and ¬x
appears in the clause, any assignment will satisfy that clause.
If there are more case 1 clauses than case 2, an assignment of true to x
will satisfy at least half of the considered clauses. If there are more case 2 clauses than case 1, an assignment of false to x
will satisfy at least half of the considered clauses. If there is an equal occurrence of case 1 and case 2, then any assignment to x
will satisfy at least half of the considered clauses.
Of the remaining clauses, we can apply a similar algorithm to the propositional variables left, until all the clauses have at least one assigned variable, and at least half of all these clauses will evaluate to true.
Consider any clause of some formula in CNF. Given that each clause is in 'sum form', there is only one assignment of all the constituent literals which will cause the clause to evaluate to false. That means, for a clause with k literals, there are 2k - 1 assignments of the constituent literals which will cause the clause to evaluate to true. Because each assignment is independently equally as likely, the expected probability of the clause evaluating to true is (2k - 1) / 2k, which is 1 - (1 / 2k). Clearly, for any positive value of k, the probability of a clause being satisfied by an arbitrary truth assignment is at least one half.
From the probability of some arbitrary clause being satisfied, we can say that the expected number of satisfied clauses to be the the sum of the probabilities of each clause being satisfied. From here, with a small amount of mathematics we can conclude that the expected number of satisfied clauses to be at least half the total number of clauses. Because there must be at least one truth assignment which satisfies at least this number of expected satisfied clauses, we can conclude that for any given formula, there exists at least one truth assignment which satisfies at least half of the clauses.