logo
кр одмита

4.4.1. Дизъюнктивные нормальные формы

Переменные х1х2, … , хп и их инверсии назовем литералами и введем обозначение а, где а а, если  = 1, и а =а, если  = 0. Элементарной конъюнкцией Ki является многоместная конъюнкция попарно различных литералов, т. е. Ki = . К элементарным конъюнкциям относятся также одиночные литералы и константа 1 – конъюнкция, состоящая из пустого множества литералов. Число литераловr элементарной конъюнкции называется ее рангом. Элементарная конъюнкция называется полной относительно переменных x1, x2, …, xn, если она содержит символы всех переменных (со знаком отрицания или без него). Ранг таких конъюнкций равен n.

Дизъюнктивная нормальная форма (ДНФ) – это выражение вида Ki, т. е. дизъюнкция элементарных конъюнкций. Примером дизъюнктивной нормальной формы является выражение х1х2  х2 х3 х4 х1 х3, где две конъюнкции имеют ранг 2 и одна конъюнкция – ранг 3. Одна элементарная конъюнкция также может считаться ДНФ.

Любая булева функция f(x1x2, … , xn) может быть представлена в следующем виде:

f(x1, x2,  , xn) =f(1, 2, … , n). (4.1)

Последнее выражение является представлением булевой функции f(x1x2, … , xn) в совершенной дизъюнктивной нормальной форме (СДНФ). Здесь f(12, … , n) является значением функции на наборе значений аргументов (12, … , n), т. е. константой 0 или 1.

Легко построить СДНФ, представляющую произвольную булеву функцию, заданную в табличной форме. Для этого достаточно выделить наборы (12, … , n), на которых функция принимает значение 1, и для каждого из них ввести в СДНФ полную элементарную конъюнкцию, где любая переменная xi присутствует с отрицанием, если i = 0, и без отрицания, если i = 1.

Очевидно, для любой булевой функции f(x1x2, …, xn), кроме константы 0, существует единственная СДНФ (с точностью до порядка литералов и конъюнкций). Поэтому данная форма представления булевой функции является канонической. Например, СДНФ для функции от трех аргументов, заданной табл. 4.5, имеет следующий вид:

f(x1x2, x3)  = x1 х2х3    x1х2х3  x1х2 х3 .

Таблица 4.5

Задание функции f (x, y, z)

x

y

z

f (x, y, z)

0

0

0

0

0

0

1

0

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

0

Константа 1 представляется в виде СДНФ, которая содержит все различные полные элементарные конъюнкции, которые называют конституентами единицы (в литературе используется также термин минтерм). Конституента единицы принимает значение 1 на единственном наборе значений переменных.