Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уч.пособие-по-ОДМ-2012

.pdf
Скачиваний:
54
Добавлен:
10.05.2015
Размер:
2.36 Mб
Скачать

2.3.5Алгоритм определения таблицы истинности булевой функции по формуле

1.Определяем множество всех переменных X = {x1, x2, . . . , xn}, входящих в формулу.

2.

Определяем

порядок

выполнения

элементарных

функций

 

f1, f2, . . . , fm в соответствии с приоритетом выполнения функций

 

алгебры логики.

 

 

 

 

 

 

 

3.

Для каждого набора σ = (σ1, σ2, . . . , σn) Bn вычисляем значение

 

каждой функции f1, e2

 

 

 

 

П

 

 

 

 

 

f

, . . . , f

 

 

.

 

 

4.

 

 

 

 

 

 

 

 

Самый правый столбец таблицы соответствует вектору значений

 

функции, заданной исходной формулой.

 

 

.

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.9.

Построить

таблицу

 

 

функции

Пример

 

истинности

f = (x1 → x2) (x1 x3)x2 и указать носитель.В

 

 

 

Решение.

1.Очевидно, что f(xe) - функция трех переменных x1, x2, x3.

2.Определим порядок действий. С

 

 

 

 

 

 

Барашев

 

 

 

 

 

Унучекf2 = x1 x3;

 

 

 

 

 

 

1

5

2

3

 

 

 

 

 

4

 

 

 

 

МИРЭАf5 = ¬f4.

 

f =(x1

→ x2) (x1

x3)& x2

), затем умноже-

Сначала

выполняются действия в скобках ( и

e

 

 

 

 

 

ние (&), потом логическое сложение ( ). Отрицание выполняется последним, так как инвертируется формула, а не переменная.

3. Разобьём формулу на 5 элементарных функций: f1 = x1 → x2;

f3 = f2&x2; f4 = f1 f3;

Каждой из этих функций соответствует столбец в таблице истинности:

21

 

 

x1 x2 x3

 

f1 f2 f3 f4

f5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

1

 

0

0

1

 

0

 

 

 

 

0

0

1

 

1

 

1

0

1

 

0

 

 

 

 

0

1

0

 

1

 

0

0

1

 

0

 

 

 

 

0

1

1

 

1

 

1

1

1

 

0

 

 

 

 

1

0

0

 

0

 

1

0

0

 

1

 

 

 

 

1

0

1

 

0

 

0

0

0

 

1

 

 

 

 

1

1

0

 

1

 

1

1

1

 

0

 

 

 

 

1

1

1

 

1

 

0

0

1

 

0

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

Последний столбец таблицы равен вектору значений заданной

функции

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

f(x1, x2, x3) = (00001100).

 

 

.

 

 

 

исходной

 

 

 

 

В

 

 

 

 

4. Найдем

носитель

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на которых значение функции равно 1 (эти наборы подчеркнуты):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашев

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

x1

 

x2

x3

 

 

f

 

С

 

 

 

 

 

 

 

0

0

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

 

 

0

 

 

 

 

 

 

 

 

Унучек

 

0

 

 

 

 

 

 

 

 

 

 

 

0

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

1

0

 

0

 

 

1

 

 

 

 

 

 

 

Решение.

ge = ((x y) | (z

МИРЭА→ y)) &(x z) (y z).

 

 

 

 

 

1

0

 

1

1

 

 

 

 

 

 

 

 

 

 

 

1

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

1

1

 

1

0

 

 

 

 

 

 

 

Nf = {(100), (101)}

Пример 2.10. Построить таблицу истинности функции

1. Функция g(xe) также является функцией трех переменных.

22

2. Определим порядок действий.

g = ((x 1

y) | (z →2

y)) &(x 4

z)

7

(y 5

z) .

6

 

3

8

 

 

 

 

e

3. Построим таблицу истинности функции g(xe).

 

x1 x2 x3

 

g1 g2 g3 g4 g5 g6 g7

g8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

0

1

1

0

0

1

0

 

0

 

0

0

1

 

0

0

1

1

1

1

0

 

0

 

0

1

0

 

1

1

0

0

1

П

 

 

 

 

0

1.0

 

0

1

1

 

1

1

0

1

.

1

 

0

 

 

0

0

 

 

1

0

0

 

1

1

0

1

0

0

1

 

0

 

1

0

1

 

1

0

1

В

1

0

 

0

 

 

1

1

 

 

1

1

0

 

1

1

0

1

1

1

0

 

0

 

1

1

1

 

1

1

0

1

0

0

А

 

1

 

0.

Барашев

 

 

 

 

 

 

 

4. Получили, что g(x) = ( 0000 0000 ) . Функция принимает значе-

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

ния "ложь" на всех двоичных наборах. Носитель.этой функции не

содержит ни

 

одного двоичного набора, то есть является пустым

 

 

e

 

 

 

 

 

 

 

 

 

 

 

множеством.

УнучекМИРЭА

 

 

Определение 2.9. Функция, принимающая значение "ложь" на всех двоичных наборах, называется тождественно-ложной. Функция, принимающая значение "истина" на всех двоичных наборах, называется тождественно-истинной.

2.3.6Основные эквивалентности (законы) алгебры логики

1.Коммутативность (переместительный закон)

x ◦ y = y ◦ x, где ◦ {&, , , , |, ↓}

2.Ассоциативность (сочетательный закон)

23

(x ◦ y) ◦ z = x ◦ (y ◦ z), где ◦ {&, , , }

3.Дистрибутивность (распределительный закон)

(a)дистрибутивность конъюнкции относительно дизъюнкции

x&(y z) = (x&y) (x&z)

(b) дистрибутивность конъюнкции относительно сложения по модулю 2

 

 

x&(y z) = (x&y) (x&z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

(c) дистрибутивность дизъюнкции относительно конъюнкции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

x (y&z) = (x y)&(x z)

 

4.

Законы де Моргана

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

.

 

 

(a)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x&y =

 

 

 

 

 

 

 

 

 

 

 

x

 

y

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Барашев

 

 

 

 

 

 

 

(b)

 

x y = Вx&y

.

 

 

5.

Закон двойного отрицания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

= x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

6.

Законы поглощения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(a)

 

 

x xy = x

 

 

 

 

 

 

 

МИРЭА

 

7.

Идемпотентность

(b)

x(x y) = x

 

 

 

 

 

 

x&x = x

 

 

 

 

 

 

 

 

 

 

 

x x = x

 

 

 

8.

Закон противоречия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x&

x

= 0

 

 

 

 

 

 

 

 

9.

Закон "исключенногоУнучектретьего "

 

 

 

 

 

 

 

 

x

x

= 1

 

 

 

 

 

 

 

 

10.

Свойства констант

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x&0 = 0

x 0 = x

 

 

 

 

x 0 = x

 

 

x&1 = x

x 1 = 1

 

 

 

 

x 1 =

 

 

 

 

 

 

 

x

 

24

11. Закон склеивания

xy xy = y

12. Законы сложениия по модулю два

x x = 0 x x = 1 xy xy = y

В справедливости этих эквивалентностей можно убедиться путем построения таблиц истинности соответствующих им функций..

гичные арифметические действия, а иногда - нет.ПТак, например, пере-

Замечание 2.20. Функции алгебры логики (умножение, логическое

.

 

сложение и сумма по модулю два) иногда похожи на обычные анало-

В

.

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

логических функций на алгебраические. Свойства (а) и (b) распреде-

Барашев

С

лительного закона также справедливы, а свойство (с) в арифметике не

выполняется. Булевы константы "0" и "1"

.

также не являются числа-

ми в обычном смысле: для константы "0"

выполняютсяАвсе свойства

констант, а для "1" верно только свойство умножения (x · 1 = x).

2.4Задачи для самостоятельного решения

eУнучекследующихМИРЭАфункций:

1.f1 = (x&y) (x → z) ((y z) | (x z)) ;

2.fe2 = ((x ↓ y) & (y z)) (x z) (y|z);

3.fe3 = (x y) | (y z) & ((x ↓ z) (y → x)) ;

4.fe4 = (x ↓ y) (y|z) ((x z) (y · z)) ;

5.fe5 = ((x|y) (z → x)) (x z) & (y z).Найти вектор значений

Ответы к задачам для самостоятельного решения

1. fe1 = ( 0000 0110 );

25

2.fe2 = ( 1110 0011 );

3.fe3 = ( 0010 0110 );

4.fe4 = ( 1101 1111 );

5.fe5 = ( 1010 1100 ).

 

 

 

.

 

 

П

 

.

 

 

В .

Барашев

 

 

А

 

.

 

С

 

Унучек

 

 

МИРЭА

26

Глава 3

Специальные представления

булевых функций

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

3.1

Дизъюнктивные

 

и

 

 

 

 

.

 

 

 

 

.

 

 

 

 

В

 

 

 

 

 

 

конъюнктивные

нормаль-

 

ные формы

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

Барашев0 1

 

 

Введем обозначение:

 

 

 

 

x,

 

 

α = 0

С

 

 

 

 

x = { x,

 

 

α = 1 , .

 

Докажем равенствоУнучекx = x α 1

 

 

 

 

 

 

 

то есть,

 

 

 

 

x0 =

 

 

 

 

 

 

x1 = x.

 

 

 

 

 

 

 

 

 

 

 

 

 

x,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МИРЭА

 

Рассмотрим два случая:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

α = 0 x0 =

 

= {

1,

 

x = 0

, то есть,

00 = 1

 

 

 

x

0,

 

x = 1

10 = 0

 

 

 

б)

α = 1 x1 = x = {

0,

 

x = 0

, то есть,

11 = 1

 

 

 

1,

 

x = 1

01 = 0

 

 

 

Так как 0 = 1 = α

 

= 1

 

 

 

 

 

,

то x = 1 тогда, и только

 

 

10 = 01 = α =

α

= 0

 

 

 

 

 

 

 

 

 

 

тогда, когда x = α.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как если α = 0,

то

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x = x 1

 

, равенство выпол-

x1

 

 

 

 

 

если α = 1,

то

x

 

= x = x 1 1

 

 

 

 

 

 

няется для всех возможных α и является тождеством.

 

Справедливость тождества

 

 

x = x σ =

 

 

 

предостав-

 

 

x

σ

ляем доказать читателю самостоятельно.

 

 

 

 

 

 

 

27

ра 3.1:

Определение 3.1. Логическое произведение переменных и их отри-

цаний

i

i

i

1 6 i1 < i2

< . . . < is 6 n

называется

K = xi1

1 xi2

2 · · · xis s ,

элементарной конъюнкцией.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 3.1. K1 = x1x3;

K2 = x1

 

2x3;

 

 

 

K3

=

 

 

 

1

 

2

 

3 -

x

 

 

 

x

x

x

элементарные конъюнкции.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение

3.2. Элементарной

 

называется

дизъюнкция

i

i

 

i

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

D = xi1 1

xi2 2 . . .

xis s ,

1 6 i1 < i2 < . . . < is 6 n,

представля-

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

ющая собой логическую сумму переменных и их отрицаний.

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 3.2. Элементарными дизъюнкциями являются:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

 

 

 

.

 

 

 

 

 

 

D1 = x1 x3;

D2 = x1

x

2 x3;

 

 

 

D3

=

x

1

 

x

2

x

3.

 

Барашев

 

 

 

 

 

 

А

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

Замечание 3.1. В элементарные конъюнкции и дизъюнкции не могут

 

 

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

 

 

 

входить одинаковые переменные, а также одновременно переменная и её отрицание. Например, конъюнкции K4 = x1x3x1 и K5 = x1x2x3x1 не относятся к элементарным.

Определение 3.3.УнучекКоличество переменных и их отрицаний, входя- МИРЭА

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

Пример 3.3. Вычислим ранг элементарных конъюнкций из приме-

r1 = 2; r2 = 3; r3 = 3.

Определение 3.4. Дизъюнктивная нормальная форма (ДНФ) -это формула, в которой логическая функция представлена в виде дизъюнкции элементарных конъюнкций.

Пример 3.4. feднф = K1 K2 = x1x3 x1x2x3.

28

Определение 3.5. Конъюнктивная нормальная форма (КНФ) -это формула, в которой булева функция представлена в виде конъюнкции элементарных дизъюнкций.

Пример 3.5. feкнф = D2D3 = (x1 x2 x3)(x1 x2 x3).

Замечание 3.2. Учитывая приоритет выполнения булевых операций

(см. пункт 2.3.4 на стр. 20), в ДНФ скобки обычно не пишутся. При

 

 

.

записи КНФ скобки писать обязательно, так как иначе в формуле на-

рушается порядок логических действий.

 

П

 

.

Определение 3.6. Сумма рангов элементарных конъюнкций (дизъ-

 

В

 

юнкций), входящих в дизъюнктивную нормальную форму (конъюнктивную нормальную форму) называется рангом или сложностью

Барашев

.

нормальной формы .

 

.

 

С

Пример 3.6. r(днф) = r1 + r2 = 2 + 3 = 5 - ранг ДНФАфункции из

примера 3.4.

 

r(кнф) = r2 + r3 = 3 + 3 = 6 - ранг КНФ функции из примера 3.5.

Замечание 3.3. РассмотримУнучекнекоторую функцию алгебры логики, заданнуюeв виде ДНФ, и упростимМИРЭАформулу:

fднф(x) = x1x2 x1x2x3 x2x4 = x1x2(1 x3) x2x4 = x1x2 x2x4.

Так как формула, полученная в результате преобразований, также является ДНФ исходной функции, то представление булевой функции в виде ДНФ , вообще говоря, не единственно. При этом ранг исходной ДНФ равен 7, а упрощенной - 4.

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

29

3.2Совершенная дизъюнктивная нормальная форма

Теорема 3.1. О разложении булевой функции по одной переменной Всякую функцию алгебры логики f(x1, x2, . . . , xn) при любом m (1 6 m 6 n) можно представить в виде

f(x1, . . . , xm−1, xm, xm+1, . . . , xn) =

 

 

 

 

 

 

 

 

 

=

 

mf(x1, . . . , xm−1, 0, xm+1, . . . , xn)

 

 

 

 

 

x

 

 

 

 

 

 

 

 

xmf(x1, . . . , xm−1, 1, xm.+1, . . . , xn).

(3.1)

 

 

 

 

 

 

 

.

 

 

 

Это равенство называется разложением функции по пе-

ременной x

 

,

 

а

функции

f(x , . . . , x

 

, 0, x

 

, . . . , x

) и

 

m

 

n

 

 

1

В

 

 

n

 

 

 

 

 

 

 

m−П1 m+1

 

 

 

 

 

 

 

 

 

 

 

.

 

f(x1, . . . , xm−1, 1, xm+1, . . . , xn) - компонентами разложения.

 

Доказательство. Рассмотрим произвольный

набор

 

переменных

Барашевαm · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

 

 

 

(α1, α2, . . . , αn)

B

.

Покажем, что при подстановке данного набора

в правую и левую

части соотношения

(3.1),

обе части равенства

принимают одно и то же значение.

 

С

 

 

 

 

 

 

 

αm может принимать 2 значения: 0 или 1. Рассмотрим оба варианта.

αm = 0 αm = 1

αm · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

=0 · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

0 · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

=1 · f(α1, . . . , αm−1, 0, αm+1, . . . , αn)

0 · f(α1, . . . , αm−1, 1, αm+1, . . . , αn) =

=f(α1, . . . , αm−1, 0, αm+1, . . . , αn) =

=f(α1, . . . , αm−1, αm, αm+1, . . . , αn).УнучекМИРЭА

30