Материал: 2160

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

выделяет на гиперкубе 0,1 n некоторое подмножество вершин – область истинности этой функции.

Если эта область содержит только одну вершину a a1, a2,...,an , то согласно установленному выше правилу (замечание 1.1) формулу данной функции можно построить по координатам данной вершиныa1,a2,...,an . Такая формула будет представлять конъюнкцию n булевых величин вида

f1 x1, x2,..., xn y1 & y2 &...& yn, где yi

x

 

при a

1,

 

 

 

 

i

i

(i 1, n) (1.11)

 

xi

при ai

0.

Эти формулы называют элементарными конъюнкциями длины n.

Определен е 1. Элементарная конъюнкция называется полной, ес-

С

 

улевой функции (имеющей область ис-

она является формулой для

тинности

з одной только вершины гиперкуба). Длина полной элемен-

тарной конъюнкц

всегда равна n размерности гиперкуба. Если дли-

на элементарной конъюнкции меньше n, то она называется неполной.

ли

 

имеет область истинности, которая

Пусть функц я

fk x1, x2,..., xn

состо т

з k верш н гиперку а 0,1 n . Координаты этих вершин можно

записать в матрице с числом строк n и числом столбцов k .

б1 2 ... k

 

 

1

a11

a12

...

a1k

 

 

 

 

2

a21

a22

...

a2k

 

 

 

 

...

... ... ... ...

 

 

 

А

 

 

 

 

n an1

an2

...

ank

 

 

Такую матрицу называют булевой. Каждый из ее столбцов опреде-

ляет координаты одной из вершин области истинности булевой функ-

Д

ции fk x1, x2,..., xn . Тогда, согласно замечанию 3, для данной функции

можно построить следующую формулу

 

 

 

 

 

 

 

 

fk x1, x2,..., xn (y11 & y21 &...& yn1) (y11

& y21

&...& yn1) ...

x

 

при a

И

 

 

1,

 

 

 

 

(1.12)

 

i

 

ij

 

 

 

 

 

 

(y11 & y21 &...& yn1), где yij

 

 

при a

 

 

(i 1, n; j 1, k)

x

i

ij

0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение 2. Формула (1.12) называется совершенной дизъюнктивной нормальной формой булевой функции fk x1, x2,..., xn . Она пред-

ставляет собой дизъюнкцию всех полных конъюнкций для всех вершин области истинности этой функции.

11

Очевидно, полная конъюнкция является частным случаем совершенной д.н.ф. (подобно тому, как столбец является частным случаем матрицы). Поэтому можно утверждать, что формулу (1.12) можно по-

строить для любой булевой функции, имеющей непустую область истинности. Иначе говоря, совершенная д.н.ф. существует для любой булевой функции, кроме константы «ложь». Однако эту константу можно определить более простой формулой 0 xi & xi , использующей только две из трех основных (теперь их так уже можно называть с полным правом!) лог ческ х операций.

Сдизъюнкц я. помощью их различных композиций получаются любые друг е булевы функции. Это означает, что система из данных трех ло-

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

х операц й является функционально полной системой булевых

схем: НЕлюбую, И, ИЛИ, достаточно лишь соединить их выводы соответствующим образом.

функц й [1, с. 62 – 64].

На языке электронных микросхем это означает, что можно по-

гическ

стро ть

КЛУ с использованием всего лишь трех типов микро-

Примеры построения совершенных д.н.ф. по заданным облас-

тям истинности

 

 

 

 

 

 

 

001

011

 

Пример 1. Построить совершенную

 

 

 

 

 

 

 

 

 

 

 

 

д.н.ф. для булевойАфункции f x , x , x ,

101

 

111

 

 

4

1

2

3

 

 

 

 

 

 

 

 

область истинности которой есть передняя

 

 

 

 

 

грань куба 0,1 3 (рис. 1.4).

 

 

 

 

 

 

 

 

000

 

010

 

 

 

 

 

 

 

И

Решение. Передняя грань содержит 4

 

 

 

 

 

вершины, координаты которыхДзапишем в 100 110

булевой матрице

 

 

 

 

 

 

 

Рис. 1.4. Единичный куб

 

1

1

1

1

 

1

 

 

 

 

 

 

 

 

0

0

1

1

 

Х

 

,

 

 

 

 

 

 

0

1

1

0

 

Х

 

 

 

 

 

 

 

которая, как показано выше, равна троичному вектору 1ХХ, записанному здесь в виде вектор-столбца. Согласно (1.12) получим формулу

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

12

f4 x1, x2, x3 x1 &

x

2 &

x

3 x1 &

x

2 & x3 x1 & x2

& x3

 

 

 

 

x1 & x2 &

x

3 ,

 

(1.13)

 

 

 

 

 

которая и будет ответом на поставленный вопрос.

 

 

Замечание 1. Для сокращения записи булевых формул допускает-

Сотсутств скобок, порядок действий определяется согласно их приоритетам. Напр мер, операция умножения имеет больший приоритет и выполняется раньше сложения. Так и конъюнкция (логическое умноже- ) меет больш й приоритет по отношению к дизъюнкции (логиче-

ся опускать символ конъюнкции (подобно тому, как в элементарной алгебре опускается символ операции умножения).

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

ниеС учетом сделанных замечаний результат решения последнего примера может ыть записан олее компактно, а именно

скому сложен ю). Поэтому в правой части равенства (1.13) круглые скобки можно опуст ть.

стью истинностибкоторойАявляется первый слой куба 0,1 3 (рис. 1.4). Решение. k -м слоем гиперкуба называется множество его вершин,

f4 x1, x2, x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 .

Будем придерживаться такой, более простой, формы записи буле-

вых формул и дальше.

Пример 2. Найти совершенную д.н.ф. для булевой функции, обла-

сумма координат каждой из которых равна k . Тогда первым слоем куба (рис. 1.4) будет множество вершин {001, 010, 100}. Составим для данной области булеву матрицу

 

 

0

 

0

1

 

 

 

 

 

 

 

 

 

 

 

Д

 

 

0

 

1

0 .

 

 

 

 

 

 

 

 

 

 

1

 

0

0

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первый столбец данной матрицы задает полную элементарную конъюнкцию – x1x2x3, второй – x1x2x3 и третий – x1x2x3. Тогда искомая д.н.ф. будет f4 x1, x2, x3 x1x2x3 x1x2x3 x1x2x3.

Замечательные свойства стрелки Пирса и штриха Шеффера

Выше доказано, что всего тремя булевыми функциями можно осуществить композицию всех остальных. Однако возможности стрелки Пирса и штриха Шеффера еще более фантастичны. Уникальность этих двух логических операций состоит в том, что каждая из них единолично является «прародительницей» всего мира булевых функций. Иначе го-

13

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

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

Унарную функцию (одноместный предикат) можно получить из бинарной (двуместного предиката) с помощью подстановки вместо од-

ной з переменных (одного из вхождений) постоянной величины либо с

помощью отождествления двух переменных (слияние двух вхождений в

одно). Напр мер,

з бинарной операции стрелка Пирса (штрих Шеффе-

С

 

x)

получается логическая функция одной

 

ра) по формуле x x (или x

переменной.

 

 

формулы x x и x x. Пусть

Теперь

, как

рассмотримx 0. Тогда на своем входе стрелка Пирса и штрих Шеффера имеют пару 0,0 . Данная вершина принадлежит области истинности данных

Следовательноработают, на выходе получается единица, значение противоположное значению x. Теперь пусть x 1. В этом случае на входе у на-

функц й (см. та л. 1.1, первый элемент строк y9 и y15 соответственно).

ших функций удет пара 1,1 , принадлежащая их области ложности (см. табл. 1.1, четвертый элемент строк y9 и y15 соответственно), т.е. на

выходе будет нуль. Следовательно, формулы

x x и x

 

x осуществляют

 

А

 

 

 

 

 

 

 

 

 

 

инверсию (отрицание) величины x. Поэтому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

x

и x

x

x

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д

 

x

 

 

 

 

x

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.5. x x

x

 

 

 

 

 

 

 

Рис. 1.6. x

 

x

x

 

 

 

 

 

 

 

 

 

Эти формулы можно представить в виде логических схем (рис. 1.5 и 1.6). На них операции « » и « » изображены в виде черного ящика с двумя входами и одним выходом. Спаяв два входа в один, мы получили из них устройство, выполняющее функцию инверсии.

14

Теперь рассмотрим действие формулы x1 x1 x2 x2 . Ее логическая схема приведена на рис. 1.7.

x1

 

 

 

 

&

 

x1

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сx

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р с. 1.7. x1

x1 x2 x2

Рис. 1.8. x1

x2 x1

x2

Пусть

x1 1

 

x2

1.

Тогда

x1 x1 x2

x2 1 1 1 1

0 0 1,

т.е. вершина 1,1

лежит в области истинности функции, за-

данной этой формулой. Теперь вычислим, какое значение дает эта фор-

мула в вершине 0,0 .

Получим 0 0 0 0 1 1 0.

В вершине

0,1 получается

0 0

 

Д

1 1 1 0 0 и, наконец,

в вершине 1,0

данная формулабАдаст 1 1 0 0 0 1 0. Полученные результаты

говорят о том, что данная формула работает как и логическое умноже-

ние (см. табл. 1.1), т.е. она реализует функцию конъюнкции, и, следова-

тельно,

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x2 x1 x1 x2 x2 .

 

 

 

 

 

Выполним

 

 

аналогичные

вычисления

по

 

формуле

x1 x2 x1 x2 , логическая схема которой представлена на рис. 1.8.

Вершина

 

 

0,0

дает

x1 x2 x1 x2 0 0 0 0

1 1 0, вершина 0,1 даст 0 1 0 1 0 0 1, пара 1,0 даст

1 0 1 0 0 0 1,

а на паре

1,1 будет 1 1 1 1 0 0 1.

Следовательно, область истинности данной формулы та же, что и у дизъюнкции (см. табл. 1.2), а значит справедливо следующее равенство

x1 x2 x1 x2 x1 x2 .

15

Источник: https://studfile.net/preview/16408217/