Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по Архитектуре и организации ЭВМ.doc
Скачиваний:
128
Добавлен:
20.06.2014
Размер:
6.09 Mб
Скачать

Правило де Моргана

x1x2...xn= x1& x2& ... & xn

x1x2...xn= x1& x2& ... & xn

Докажем для двух переменных с помощью таблицы истинности:

Х1

Х2

Х1 Х2

X1 & X2

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

0

Операция поглощения:

Х XY = X или в общем виде XX*f(X,Y,Z...) = X;

Операция полного склеивания:

XY XY = X (по Y)

XY XY = Y (по Х)

Операция неполного склеивания:

XY XY = ХXYXY

3. Лекция: Совершенные дизъюнктивные и конъюнктивные нормальные формы ФАЛ

Страницы: 1 | 2 | 3 | вопросы | »

| учебники | для печати и PDA | ZIP

  Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter  

В лекции дано определение совершенной дизъюнктивной и конъюнктивной нормальных форм. Представлены правила записи функции по нулям и единицам. Дано понятие функциональной полноты, поставлена задача минимизации функции. Сформулирована теорема Квайна.

Введем понятие степени:

Х

=Х, если =1;

=Х, если =0.

Рассмотрим конъюнкцию вида:

Х11 * Х22 * Х33 ... Хn n

Существует 2n наборов вида < 1, 2, ... n >. Поставим в соответствие каждой конъюнкции (*) номер набора i и образуем дизъюнкцию всех конъюнкций:

iA11 * Х22 * Х33 ... Хnn )

Теорема (без доказательства):

Любая ФАЛ, зависящая от 'n' аргументов, может быть представлена в форме:

F(Х1, Х2,... Хi... Хn)= Х11 * Х22... Хii F(1, 2, ... i, Xi+1,...Xn)

Из этой теоремы вытекает ряд важных следствий:

  1. Она дает возможность перейти от табличного задания функции к аналитической форме и сделать обратный переход.

  2. Устанавливает так называемую функциональную полноту связок (базиса) ",, -", т.к. позволит построить в этом базисе произвольную ФАЛ от произвольного числа аргументов.

Примечание:

  1. Если in, то соответствующая форма функции называется дизъюнктивной нормальной (ДНФ).

  2. Если i=n, то каноническая форма функции носит название совершенной ДНФ (СДНФ). Дизъюнкции берутся по тем наборам, на которых функция f(X1,X2,...,Xn)=1

Пример: ДНФ

f(Х1, Х2, Х3)= Х1 Х2 Х3 Х1Х2 Х3

Пример: СДНФ

f(Х1, Х2, Х3)= Х1Х2 Х3 Х1Х2 Х3

В ДНФ в каждый член любая переменная входит в прямом виде или с отрицанием.

Аналогичная теорема справедлива и для представления функции в конъюктивной нормальной форме (КНФ):

f(Х1, Х2,..., Хn)=&( Х11 Х22 ...Хii) f(1, 2, ... i, Xi+1...Xn)

или при представлении в совершенной КНФ (СКНФ):

f(Х1, Х2,…, Хn)=&( Х11 Х22 Х33...Хnn)

где: & означает, что конъюнкции берется по тем наборам, на которых

f(Х1, Х2, ... Хn)=0.

Дадим на основании этих теорем правило перехода от табличной формы функции к СДНФ и СКНФ.

Переход от табличной формы функции к СДНФ или правило записи функции по единицам:

  1. Выбрать те наборы аргументов, на которых f(Х1, Х2, ... Хn)=1.

  2. Выписать все конъюнкции для этих наборов. Если при этом Хi имеет значение '1', то этот множитель пишется в прямом виде, если '0', то с отрицанием.

  3. Все конъюнктивные члены соединить знаком дизъюнкции .

Пример:

f(Х1, Х2)= Х1Х2Х1Х2Х1Х2

X1

Х2

f(Х1, Х2)

0

0

0

0

1

1

1

0

1

1

1

1

Правило перехода от табличной формы задания функции к СКНФ или правило записи функции по нулям.

  1. Выбрать те наборы аргументов, на которых f(Х1, Х2, ... Хn)=0.

  2. Если при этом Хi имеет значение '0', то остается без изменений. Если '1', то с отрицанием.

  3. Все дизъюнктивные члены соединить знаком конъюнкции.

Пример:

f(Х1, Х2)= (Х1 Х2) ( Х1 Х2 )

X1

Х2

f(Х1, Х2)

0

0

1

0

1

0

1

0

1

1

1

0

Пример:

X1

Х2

Х3

f(Х1, Х2, Х3)

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

СДНФ f(Х1, Х2, Х3)= Х1Х2Х3 Х1Х2Х3 Х1Х2Х3 Х1Х2Х3 Х1Х2Х3

СКНФ f(Х1, Х2, Х3)= (Х1 Х2 Х3) & (Х1 Х2 Х3) & (Х1 Х2 Х3)

Рассмотрим способ получения СДНФ из СКНФ и обратно.

Из таблицы 2.1 с помощью способа записи функции по нулям следует, что СКНФ той же функции дизъюнкции будет иметь вид:

f(Х1, Х2)= Х1Х2

X1

Х2

f(Х1, Х2)

0

0

0

0

1

1

1

0

1

1

1

1

Итак, имеем две формы одной и той же функции:

f(Х1, Х2)= Х1Х2Х1Х2Х1Х21Х2

Итак, видно, что общее число членов в этих двух формах равно сумме нулей и единиц функции, то есть равно 2n.

Если в исходной форме функции, записанной в СКНФ или СДНФ, содержится z членов, то в другой ее форме (т.е. СДНФ или СКНФ) их будет (2n- z).

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

f(Х1, Х2)= Х1Х2

f(Х1, Х2)СДНФ= Х1Х2Х1Х2Х1Х2

т.е. получили СДНФ.

Практический смысл перехода заключается в том, что можно определить, реализация какой формы потребует меньший объем оборудования.