In Boolean logic, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of clauses, where a clause is a disjunction of literals. http://en.wikipedia.org/wiki/Conjunctive_normal_form
You are given a cell array list of literals present in each clause, whose literal-names are indicated by numbers. The index is -ve if it is to be negated. You are also given the truth value of these variables as a row vector.
Output the truth value of the proposition.
Ex (A | B) & (~B | C | ~D ) & (D | ~E) is true for A=C=D=true, B=E=false is represented as { [1 2] [-2 3 -4] [4 -5]} , [1 0 1 1 0] and this evaluates to true
The CNF conjuncts are not restricted to 3 variables (3CNF).
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers18
Suggested Problems
-
4573 Solvers
-
4512 Solvers
-
Vectorizing, too easy or too hard?
147 Solvers
-
348 Solvers
-
Change the sign of even index entries of the reversed vector
656 Solvers
More from this Author10
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!