Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
элементы дискретной математики.doc
Скачиваний:
23
Добавлен:
05.09.2019
Размер:
2.19 Mб
Скачать

3.9. Совершенная конъюнктивная нормальная форма

Представление функции алгебры логики в виде f(X1, X2, …, Xn)=

называется совершенной конъюнктивной нормальной формой (СКНФ).

Алгоритм перехода от табличного задания функции к СКНФ

  1. Выбрать в таблице задания функции все наборы аргументов, на которых функция обращается в ноль.

  2. Выписать дизъюнкции, соответствующие этим наборам аргументов. При этом если аргумент X входит в данный набор как 0, он вписывается без изменения в дизъюнкцию, соответствующую данному набору. Если же Х входит в данный набор как 1, то в соответствующую дизъюнкцию вписывается его отрицание.

  3. Все полученные дизъюнкции соединяются между собой знаками конъюнкций.

f(X1, X2, X3)=(X1

3.10. Реализация операции суммирования в компьютере

Как известно, все математические операции в ЭВМ сводятся к сложению двух чисел. Поэтому для их реализации требуется единственное устройство – сумматор. Так как в вычислительной технике используется двоичная система счисления, то будем считать, что числа X и Y содержат n разрядов , , где , i=1,…,n.

Операция сложения X и Y в обычной записи:

x

+

nxn-1…x2x1

ynyn-1…y2y1

s nsn-1…s2s1

Структурная схема сложения чисел X и Y будет иметь следующий вид:

xn yn xi yi x2 y2 x1 y1

p

n pn-1 … pi pi-1 … p2 p1

sn si s2 s1

Обозначения: si – сумма значений xi и yi;

pi – перенос из i – го разряда в i + 1й разряд.

Блок, реализующий сложение чисел x1 и y1, является логическим (2,2)-полюсником. Он называется полусумматором.

x f1

y f2

Сложение в двоичной системе счисления выполняется по правилам:

0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0.

Поэтому функция f1 реализует операцию сложения по модулю два.

f1=s1=x1 y1=

Функция f2 реализует перенос p1 во второй разряд. Он имеет место только при единичных значениях x1 и y1. Поэтому функция f2 реализует операцию конъюнкции:

f2=p2=

Все остальные блоки являются полными сумматорами, представляющими собой логические (3,2)- полюсники:

x f1

y

p f2

Функция f1 реализует сложение по модулю два чисел x, y, p. Функция f2 реализует перенос в старший разряд.

Составим таблицу истинности для функций f 1 и f2.

x

y

p

f1

f2

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1


Функция f 1 равна 1, если при сложении по модулю два x, y, p получится 1, то есть при нечетном числе единиц в строке. Выпишем СДНФ функции f 1 и покажем, что f1= .

f1= p)== .

На наборах данных функция f2 равна 1, когда из трех переменных x, y, p, по крайней мере, две равны 1. Выпишем СДНФ функции f2 и упростим ее:

f2= =