Home
Archaeology
Astronomy
Biology
Books
Business
Chemistry
Coins
Computers
Conservation
Cooking
Earth Science
Farming
Economics
Finance
Games
Geography
Health Science
History by Date
Hobbies
Law
Mathematics
Medicine
Military Technology
Movies
Music
People
Pharmacology
Philosophy
Physics
Psychology
Religion
Science History
Technology
Sports
Television
Video
Visual Art
Privacy
Contact Us



Conjunctive normal form

Conjunctive Normal Form or CNF is a method of standardizing and normalizing formulas in Boolean logic. It is similar to the Canonical sum of products form used in circuit theory. A logical formula is considered to be in CNF if and only if it is a single conjunction of disjunctions. Thus all simple conjunctions are in CNF, but also all simple disjunctions are degenerately in CNF. For example, all of the following formulas are in CNF:

A ∧ B
¬A ∧ (B ∨ C)
(A ∨ B) ∧ (¬B ∨ C ∨ ¬D) ∧ (D ∨ ¬E)
(¬B ∨ C)

But the following are not:
  1. ¬(B ∨ C)
  2. (A ∧ B) ∨ C
  3. A ∧ (B ∨ (D ∧ E))

The above three formulas are respectively equivalent to the following three formulas that are in conjunctive normal form:

  1. ¬B ∧ ¬C
  2. (A ∨ C) ∧ (B ∨ C)
  3. A ∧ (B ∨ D) ∧ (B ∨ E)

Note that all logical formulas can be converted into conjunctive normal form through repeated application of the distributive law of disjunction over conjunction, thus when making proofs on formulas or on the structure of formulas it is often convenient to assume that everything is in CNF. However, in some cases conversion to CNF can lead to an exponential explosion of the formula. For example, in CNF form, logical formulas of the following form have 2^n terms:
(X1 ∧ Y1) ∨ (X2 ∧ Y2) ∨ ... ∨ (Xn ∧ Yn)

Conjunctive Normal Form can be taken further to yield the Clausal normal form of a logical formula, that is used to preform first order resolution.

An important set of problems in computational complexity involves finding assignments to the variables of a boolean formula expressed in Conjunctive Normal Form, such that the formula is true. 3-SAT is the problem of finding a satisfying assignment to a boolean formula expressed in CNF such that each disjunction contains at most 3 variables. This has been shown to be NP-complete. The corresponding 2-SAT problem however can be solved in linear time.

See Also:


Copyright 2004. All rights reserved.