Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.07.2024

Просмотров: 104

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Это выражение является СКНФ. Формула (5.12), как и (5.5), имеет практическое значение. Она позволяет строить СКНФ по таб­ личному заданию функции. Для этого необходимо отобрать все наборы аргументов, на которых табличная функция равна нулю, со­

ставить для этих наборов дизъюнкцию вида х ^ У лг2(2V •••

а затем соединить их знаком конъюнкции.

Проиллюстрируем это правило на примерах, рассмотренных выше.

1. / (Xi, х^} = хг х2.

На наборах (0,1) и (1,0) функция равна нулю, поэтому

x i ~ Х 2 —(я?V-4) (*1V4) (-^lV-^2) (*tV*2) (^i V^) (-^i V ^)’

2. Согласно таблице истинности (стр. 107) функция равна нулю на наборах (000) (001) (010) (101), поэтому

f(xlt х2, х3) = {хгу х 2у х 3) {хгу х 2У х3) {хгу х 2У х 3) {х^Ух2У х 3)

= (*1 У х 2\/ х 3) (хгУ х 2у х 3) {х1 У х 2У х 3) (хгу х 2у х 3).

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

, Т а б л и ц а 5-4 сложных высказываний.

--------------------------Остановимся еще на пре-

*х'х образовании связи Шеффера

_________________ в СДНФ и в СКНФ: / (xlt

0

J

х а) =

задана

функция

Пусть

0

 

j

x j x 2 (х±

несовместно с х 2).

1

0

1

1

о

Составим таблицу 5-4 истин­

 

 

 

ности для связи

Шеффера, а

 

 

 

затем применим (5.5) и (5.12).

Здесь имеется три набора векторов Буля, в которых связь Шеф­

фера равна 1: (00) (01)

(10). Применив (5.5), получим:

 

x j x 2= хгх2

У Хх - х2VХ \ Х 2;

применив (5.12),

получим: х11х2

= х±У х2.

О п р е д е л е н и е .

Совершенной

конъюнктивной нормальной

формой [СКНФ ]

булевой функции называется конъюнкция тех кон-

ституент нуля,

которые обращаются в нуль на тех же наборах

значений аргументов, что и данная функция.

Отсюда очевидно, что любая булева

функция имеет лишь одну

СКНФ, причем

количество ее

членов

(конституент нуля) равно

112


количеству нулевых значений функции и на каждом наборе значе­ ний аргументов, обращающем функцию в нуль, только один из чле­ нов СКНФ принимает нулевое значение.

Булева функция, заданная табл. 4-1, обращается в нуль на 4 из 16 наборов значений аргументов. Ее СКНФ имеет следующий вид:

f = { x z\ j x 2\]x!V*о)(*8V*2 V* 1 V*о)(*8V*2 V*1V*о)X

 

х (х3\Jx2\/*iV *о)-

(5.13)

На каждом из 4 наборов, на которых функция принимает значе­ ние 0, только один из членов формулы (5.13) обращается в нуль.

Сокращенная запись формулы (5.13) имеет вид:

f — f\df при /==8, 9, 11, 14.

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

СКНФ может быть получена и другим путем, для этого необхо­ димо взять дизъюнкцию элементарных конъюнкций максимальной длины, на которых функция обращается в нуль, и, применив к по­ лученному выражению правило де Моргана, получить СКНФ бу­ левой функции. Следуя выше изложенному правилу и используя табл. 4-1, будем иметь

f= ХЯХ2Х1Х0V Х-ЛХ2Х1Х(}V ХзХ^Х^У х3х2х1х0=

=(*sV*2 V*iV*o) {ХзМх2\/ хг\/ х0) {х3\ / X2\J хг\ / х 0) (x3\J X2\J x±\J хо)-

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

Для компактной записи совершенных форм возможно исполь­ зовать соответствующие числовые представления совершенных форм функции. Числовое представление СДНФ определяет номера всех наборов, на которых функция принимает значение 1.

Числовое представление СКНФ определяет номера всех набо­ ров, на которых функция принимает значение 0. Из табл. 5-2 чис­ ловое представление СКНФ имеет вид:

/4*1, *2 .*з)=Л(0, 1.2,5).

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

КНФ с использованием законов (7, 9, 3, 1).

 

 

Рассмотрим переход от КНФ к СКНФ

на

следующем приме­

ре. Выполним переход от КНФ,

которая

имеет следующий вид:

(*1 V *2 V *з) (*о V *2 V *з)

(*о V *1 V *2

V *з)- к СКНФ.

8 З а к а з К * 2437

113


Вводим в каждую элементарную дизъюнкцию отсутствующие ар­ гументы. Это делается следующим образом:

(■У! V* 2 V*зИ* 0 V* 2 V*з) (*0 V* 1 V* 2 V*з) =

=(Лу V* 2 V*3 V0 ) (*oV*2 V*8 VO) (Хо У X l M Х 2 \ ] Х 3) =

=(-«1 VХ 2 VХ з VХ0■Х 0) (х0V* 2 V*3 Vх1 ■Х х) (*0 V* 1 Vх2 V*з) =

=(*sV*2V *iV -^о)(^3V *2V *iV x0)(xs\Jx2\ j xt \Jx0) { Х з У х г У х ^ х ^ Х

{хзУ х2У хгу x0) = (хзу х2У xxy x0) (хзу х2У xxy x0) X

X {x3y X 2\JXx\ l x0) (x3V x2\ l XiV*<>)•

(5.14)

Полученное выражение есть СКНФ.

Пример 4. Разложим нуль на конституенты. Представим 0 как

Q = x-x = xi -x1\ l х2-х2(гак как Xi-Xi = G). Применив распредели­ тельный закон сложения относительно умножения,

x-y\Jz = (x\Jz)-(y\Jz),

где положим х = х, у = лу, z = х 2-х2, тогда

Q = (x1\J x2-x2)-(xx\J х2-х2).

Теперь к каждому члену полученной конъюнкции применим

тот же распределительный закон,

полагая, что хх

= х 2

 

у = х2,

г = лу,

 

тогда первый член

конъюнкции

 

 

 

х1у х 2-х2 = (лу Vх2) (лу Vх2) .

 

Аналогично преобразуется и второй член конъюнкции:

поэтому

хх\1 х2-х2= (хх\1 х2) (xx\Jx2),

 

(ЛГ! v х2) (xt V х2) (луV Х2) (лу VХ2).

 

о =

(5.15)

Нуль можно представить как сумму не двух, а трех слагаемых, каждое из которых тождественно равно нулю:

О = лулу \Jх2 ■х2 У х3 ■х3.

Применив тот же распределительный закон сложения относи­ тельно умножения, получим:

0= ад Vх2■х2У х3х3 = (лу х2х2У х3■х3) (луу х2-х2у х3хй) =

= (ххУ х 2У х 3■х3) (луУх~Ух3х 3) ( £ V V*з ■* 7) (ххУ х 2у х 3х3) = = (Х1 УХ2 у Ха) (лу У х2 У лу) (лу Vх2у Ха) (луУ х 2У х3) X

X {хху х 2у х 3) {хгу х 2у х 3) {хху х 2у х 3) {хху х 2 Ух 3). (5.16)

114


В общем случае

0 = V XjXt ( i — 1 , 2 , . . . , п).

t=i

Тогда выражение для нуля через п переменных можно записать:

0 = ( * i V * 2 V * 8 V

• • • х п ) ( x i V х 2 V - ^ з V • • • \ ! х п ) X

 

х (*,V *2V • • ■W

i

У*пУ ■■

• • ■ У хп) X

X (*iV *aV

• ••

V*n)(*iV*sV

• • • Хп).

(5.17)

Сомножители (5.17) называются к о н с т и т у е н т а м и

р а з ­

л о ж е н и я н у л я .

 

 

 

 

§ 4. ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ БУЛЕВЫХ ФУНКЦИЙ

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

Рассмотрим дизъюнкцию двух переменных на плоскости. От­ кладывая по оси ординат переменную у в виде единичного отрезка,

а на оси абсцисс х, получаем

 

 

_

,

_ _

остальные три вершины, каж­

 

 

 

 

 

дая из

которых соответствует

Номер

 

 

 

 

вполне определенному сочета­

X

 

г

f (X . у , г )

набора

У

нию переменных

(рис. 24, а).

 

 

 

 

 

Две вершины, принадлежащие

0

0

0

0

0

одному

и

тому

же ребру,

1

0

0

1

1

склеиваются

по

переменной,

2

0

1

0

0

меняющейся

вдоль

ребра.

3

0

1

1

0

Рассмотрим для

примера

4

1

0

0

1

5

1

0

1

1

следующую функцию:

6

1

1

0

1

 

 

 

 

 

7

1

1

1

1

/(* . y) = xy\Jxy\J ху.

Эта функция геометрически изобразится в виде трех вершин квадрата (2, 1, 3). Найдем минимальную форму данной функции. Согласно закону для ребра 2—3 простая импликанта будет равна х, а для ребра 3—1 у. Дизъюнкция простых импликант образует ми­ нимальную форму, а именно x \ J у. Отсюда очевидно, что вместо конституент, обозначающих две соседние вершины, возможно записать элементарную конъюнкцию, обозначающую ребро между этими

вершинами, то есть ребро поглощает вершины.

 

 

Каждой булевой функции / (xlt х 2, . . . ,

хп)

можно

поставить

в соответствие подмножество N f всех вершин (ах,

а 2, . .

. , ап) еди­

ничного n-мерного куба так, что

 

 

 

 

f ( a x, а 2, . . . , « „ ) = !.

 

 

 

Здесь

а,- — координаты вершины куба;

(ах,

а 2, . . . , ап)

п-мерный

вектор, определяющий точку «-мерного пространства.

115


Пусть функция f (х, у, z) задана таблицей соответствия 5-5. Для данной функции можно поставить в соответствие подмно­

жество Nf вершин трехмерного единичного куба. Отмечая точками

вершины, в которых функция имеет единичные значения,

получают

геометрическое представление булевой функции.

 

Из таблицы соответствия видно, что функция равна

единице

на следующих наборах:

 

1 — (001); 4 — (100); 5 — (101); 6 — (ПО); 7 — (111).

Данная функция геометрически представляется кубом с вер­ шинами 1, 4, 5, 6, 7 (рис. 24, б). Подмножество вершин, на которых функция f (х , у, z) = 1, можно записать в виде

Nf(x, у, z)= V (001) (100) (101) (110) (1 1 1)= V 0 . 4 . 5 , 6, 7).

Подмножество вершин единичного «-мерного куба называется интервалом r-го ранга, если он совпадает с подмножеством N А, соответствующим некоторой элементарной конъюнкции г ранга:

A (xv хг

где A (xlt х 2, ■■• , хп) — функция алгебры логики, которой по­ ставлено в соответствие подмножество N А, совпадающее с подмно­ жеством вершин единичного «-мерного куба (а1( а 2, . . . , а„). Каждая вершина единичного «-мерного куба является интервалом «-го ранга, поскольку каждой вершине куба (а1; а 2, . . . , ап) можно поставить в соответствие элементарную конъюнкцию

А (х., х0, . . . , хп

° 1

° 2

■ х . - х . 2 . . . X.

 

Ч

‘2

а множество всех' вершин единичного куба является интервалом нулевого ранга.

Проверим это для трехмерного куба. Множество его вершин суть:

М - = [(000), (001), (010), (011), (100), (101), (ПО), (111)].

116

Каждой вершине соответствуют элементарные конъюнкции

A x = xyz, A 2 — xyz,

A s = xyz,

A t = xyz, A 5 = xyz,

A 6 = xyz,

Ai = xyz,

A &—xyz.

Множеству M можно поставить в соответствие дизъюнктивную нормальную форму:

В^ А ^ А ^ А ъ У А ь Ч А ь У А ь Ч А ч Ч А ^

xyz V xyz V xyz Ч xyz V xyz 4 xyz V xyz 4 xyz =

Xy {z 4z )4 ~x y{ z4 z) 4xy {z4z )4xy{z 4z ) = x y 4 x y 4 x y 4 x y =

 

 

 

 

= х(ЧЧу)\1х{уЧу) = х Ч х = 1.

 

 

Следовательно,

множеству M можно поставить в соответствие 1,

т. е . А (х, у, z)

=

1 — элементарная конъюнкция нулевого ранга.

Определим ранги ребер на единичном кубе (рис. 24, б). Возьмем

ребра

=

(0 01)

(1 01);

М2 =

(1 0 0) (1 0 1) и грань N s = (1 0 0)

(1 0 1) (1

10)

(1

1

1). Ребру jV2 соответствует ДНФ:

 

 

 

 

 

А х (х, у, z) = xyzЧ xyz —yz,

 

 

а, следовательно, ребру

соответствует конъюнкция 2-го ранга.

Подмножество N А совпадает

с

интервалом N v

поэтому

ребро

— интервал 2-го ранга.

 

 

 

 

Ребру

N 2 соответствует ДНФ:

 

 

 

 

 

 

 

А 2(х ,

у, z) = x yz 4 xy z = xy.

 

 

Подмножество

N А

совпадает

с интервалом N2, следовательно,

ребро N 2 — интервал 2-го ранга,

грани N 3 соответствует дизъюнк­

тивная нормальная форма:

 

 

 

 

 

 

 

А 3(х,

у,

z) = x yz 4 xy z V xyzV xyz =

 

 

 

= xy (z V2)

xy (z4z) = xy V xy = x (у ч y) = *•

 

Элементарная конъюнкция 1-го ранга, соответствующая под­

множеству N a ,

совпадает с интервалом N3. Следовательно,

грань

N 3 — интервал

1-го ранга.

 

 

 

 

Если задана некоторая совокупность интервалов, то говорят,

что интервалы этой совокупности покрывают множество F, если

каждая точка множества F содержится хотя бы в одном из интер­

валов данной совокупности.

 

 

 

 

Нетрудно видеть, что СДНФ функции

 

 

 

f(xlt х2, Ад,

. . . ,

хп) = АЧЧАъЧ ■•

У Л п

 

связано с покрытием подмножества

интервалами

N Аг При

этом

каждый интервал целиком содержится в Nj, что можно записать:

N Aid N f ( i = l , 2 . . . т).

117