Конспект лекций по дискретной математике
Рефераты >> Математика >> Конспект лекций по дискретной математике

Каноническая нормальная форма.

Конституентой единицы (нуля) называется конъюнктивный (дизъюнктивный) терм максимального ранга. Т.е. для Булевой функции от n переменных конституента включает в себя n букв.

Свойство конституенты: Конституента единицы (нуля) принимает значение единицы (нуля) на одном и только одном наборе аргументов.

Пример: _ _

n=4 x1x2x3x4 (1010)=1

_ _ _

x1Úx2Úx3Úx4=0

Определение: Дизъюнктивная (конъюнктивная) нормальная форма называется канонической, если все ее дизъюнктивные (конъюнктивные) термы представляют собой конституенты единицы (нуля). Иногда канонические формы называют совершенными.

Пример получения канонических форм:

y=x1Åx2

x1

x2

y

Конституента единицы

Конституенты нуля

0

0

0

-

x1Úx2

0

1

1

1x2

-

1

0

1

x12

-

1

1

0

-

1Ú2

КДНФ - каноническая дизъюнктивная нормальная форма:

_ _

y=x1x2Úx1x2

ККНФ - каноническая конъюнктивная нормальная форма:

_ _

y=(x1Úx2)(x1Úx2)

1) С помощью канонических форм наиболее просто осуществляется переход от табличной формы задания Булевой функции к аналитической.

2) С помощью канонических форм можно осуществить преобразование любой функции в Булев базис.

3) Любая Булева функция за исключением логического нуля и логической единицы имеет единственные КДНФ и ККНФ. Логическую единицу можно представить в виде КДНФ и логический ноль в виде ККНФ.

4) Правило перехода от табличной формы задания Булевой функции к аналитической:

а) в таблице истинности выделяются все наборы аргументов, при которых функция равна единице (нулю).

б) для каждого из этих наборов составляют конституенты единицы (нуля).

в) объединением конституенты единицы (нуля) знаками дизъюнкции (конъюнкции) получается аналитическая форма в виде КДНФ (ККНФ).

Пояснение: при составлении конституент единицы (нуля) используют следующее правило:

Если некоторый аргумент принимает на наборе значение равное нулю, то в конституенту единицы он входит с отрицанием, а в конституенту нуля без него.

5) КДНФ и ККНФ представляют собой две различные, но эквивалентные аналитические формы булевой функции. Это означает, что из одной формы можно получить другую, используя законы Булевой алгебры.

_ _ _ _ _ _ _ _ _ _

y=(x1Úx2)(x1Úx2)=x1x1Úx1x2Úx2x1Úx2x2=x1x2Úx2x1=x1x2Úx1x2 (КДНФ)

6) Принципиально существует другой способ получения ККНФ:

а) составляется КДНФ, но не для самой, а для ее отрицания.

б) берется отрицание над полученной КДНФ, которое снимается с применением закона двойственности.

_ _ _ = ------------ ----- ---- _ _

y=x1x2Úx1x2, y=y=x1x2Úx1x2=x1x2 x1x2=( x1Úx2)(x1Úx2)

Разнообразие двоичных алгебр

В связи с тем, что любую сколь угодно сложную Булеву функцию можно представить в канонических формах, то есть записать ее с помощью операций отрицания, конъюнкции и дизъюнкции эта система Булевых операций обладает свойством функциональной полноты, т.е. образует так называемый базис. Естественно предположить, что система Булевых операций является не единственной, с помощью которой можно образовать некоторый базис.

В принципе любую из базовых функций можно отождествить соответствующей операцией и на основе совокупности этих операций построить двоичные алгебры, отличные от Булевой. К наиболее распространенным двоичным алгебрам относятся: алгебра Жигалкина (Å, &); алгебра Вебба (Пирса) (¯); алгебра Шеффера ( | ). В каждой из этих алгебр действуют собственные законы. Естественно существуют взаимно однозначные переходы от операций одного базиса к операциям другого.

Числовое представление Булевых функций

Для любой Булевой функции можно предложить две числовые формы, основанные на перечислении десятичных эквивалентов наборов аргументов на которых функция принимает значение единицы (нуля).

f3(x)=(0,2,6,7) - от этой числовой формы легко перейти к КДНФ путем замены каждого из наборов в перечислении конституенты единицы.

_ _ _ _ _ _ _ _ _ _ _

y=x1x2x3Úx1x2x3Úx1x2x3Úx1x2x3=x1x3(x2Úx2)Úx1x2(x3Úx3)=x1x3Úx1x2 (ДНФ)

f3(x)=&(1,3,4,5)

_ _ _ _ _ _

y=(x1Úx2Úx3) (x1Úx2Úx3) (x1Úx2Úx3) (x1Úx2Úx3) (*)

Преобразование произвольной аналитической формы Булевой функции в нормальную

В Булевой алгебре в виде теоремы доказывается следующее утверждение: существует единый конструктивный подход, позволяющий преобразовать аналитическое выражение Булевой алгебры в произвольной форме к нормальной форме.

Пример:

_ _ _ _ _ _

y=f4(x)=(x1x2Úx2x3)(x1|x4)=(x1x2Úx2x3)(x1x4)=(x1x2Úx2x3)(x1Úx4)=


Страница: