
2) Длина n заданных двоичных векторов
= (1 0 0 1 1 0) и = (0 1 0 0 1 1) равна 6. Поэтому в соответствии с условием (4.28)
пусть | U2 | = n = 6 и U2 = { f, g, h, k, m, q).
Выполним операции (&, , ) над векторами, используя изоморфизм алгебр Г: В6 (U2):
Г() = Г((1 0 0 1 1 0)) = {f, k,m = С ;
Г() - Г((0 10 0 11)) = {g, m, q} = D.
Тогда:
а) Г( & ) = С D = {f, k, m {g, m, q} = {m}.
Но множеству {m}соответствует вектор (0 0 0 0 1 0): Г-1 ({m}) = (0 0 0 010).
Таким образом,
& = (1 0 0 1 1 0) & (0 1 0 0 1 1) = (0 0 0 010).
б) Г() = СD ={f, k, m}{g, m, q}={f, g, k, m, q), но Г-1 ({f, g, k, m, q}) = (110111).
Таким образом,
= 0 0 0 1 1 0) (0 1 0 0 1 1) = (110 111).
в)
=
U2\C
={f,
g, h,k,m,q}\{f,
k,
m}={g,
h, q),
но Г-1
({g,
h, q})
= (0 1 10 0 1).
Следовательно,
= (0 1 1 00 1).
Пример 5.
Проиллюстрировать изоморфизм между булевыми алгебрами множеств (b(U); Ç, È, ù);и логических функций (P2 (m), &,Ú, ù) для |U = 2m.
Решение Пример 5.
Пусть |U = 2m при m = 2; U = {а, b, с, d}.
Тогда в соответствии (4.28) булева алгебра множеств (b(U); Ç, È, ù) изоморфна булевой алгебре логических функций двух переменных (Р2 (m);&,, ).
Изоморфизм данных алгебр означает следующее:
1. Между логическими функциями двух переменных из Р2 (2) и множествами из (U) существует взаимно однозначное соответствие Г: Р2(2) (U), т.е. любой функции f Р2(2) соответствует одно и только одно множество Mf (U), так что Г(f) = Mf и Г-1 (Мf) =f. При этом функция f называется характеристической функцией множества Mf.
2. Для отображения Г: Р2(2) (U) выполняется условие гомоморфизма, которое для данных алгебр (Р2 (m);&,, ) и (b(U); Ç, È, ù) сводится к трем равенствам:
если Г(f) = Mf и Г (g) = Mg, то
а) Г(f & g) = Mf Mg ;
б) Г(f g) = Mf Mg;
в)
Отметим, что в силу изоморфизма этих алгебр справедливо и обратное:
а) Г-1(Mf Mg) = f & g;
б) Г-1 (Mf Mg) = f g;
в) Г-1
(
)
=
Однако из-за взаимной однозначности Г достаточно показать справедливость лишь первых трех равенств.
Пусть Mf = {а, с} и Мg = {b, с}; Mf, Mg (U).
Функции f и g, соответствующие множествам Mf и Mg при взаимно однозначном отображении Г (характеристические функции для Mf и Mg), определены таблицами истинности (табл. 4.13).
Элемент множества U |
x1 x2 |
|
g |
& g |
g |
|
а |
0 0 |
1 |
0 |
0 |
1 |
0 |
b |
0 1 |
0 |
1 |
0 |
1 |
1 |
с |
1 0 |
1 |
1 |
1 |
1 |
0 |
d |
1 1 |
0 |
0 |
0 |
0 |
1 |
|
В крайнем левом столбце таблицы 4.13 перечислены элементы множества U=a,b,c,d,
являющиеся по существу, обозначениями всех возможных наборов двух переменных
{(0 0), (0 1), (1 0), (1 1)}.
Множества Мf и Mg представляют собой единичные множества функций и g соответственно, т.е. множества наборов, на которых эти функции равны единице. Тогда (см. табл. 4.13):
Г( ) = Мf = {а, с}, Г(g) = Мg = {b, с} и, наоборот;
Г-1 (Мf ) = и Г-1 (Мg ) = g ;
2)
Г (f
& g)
= M f
g
= {c}
= {а,
с}
{b,
с}
= Mf
Mg,
Г(
g) = M f
g
= {а,
b, с}
= {а,
с)
{b,
с)
= Мf
Mg,
Г-1(
) =
= {b,
d}
= U
\ {а,
с}
= U
\
M f
=
.
Пример 6.
Выполнить булевы операции над логическими функциями трех переменных f1 и f2, используя изоморфизм булевых алгебр логических функций и двоичных векторов, если:
1. f1 и f2 определены таблицами истинности в табл. 4.11 (см. § 4.4, упражнение 3);
2. f1 и f2 определены своими СДНФ:
Решение Пример 6.
Изоморфизм булевых алгебр логических функций (P2 (m), &,Ú, ù) и двоичных векторов
(Вп; &, Ú, ù) позволяет переходить от операций над функциями к операциям над двоичными векторами и обратно при выполнении условия (4.28): 2m = n. Поэтому функциям трех переменных (m = 3) соответствуют вектора длины n = 8. Установим взаимно однозначное соответствие Г: Р2 (3) В8 и выполним необходимые операции, используя изоморфизм булевых алгебр.
1) Зафиксировав последовательность рассмотрения всех возможных наборов значений переменных, например, как это указано в табл. 4.14, установим взаимно однозначное соответствие
|
Г: Р2 (3) ® В8 следующим образом: для функции f, представленной таблицей истинности, в соответствующем ей векторе a = (a1,a2,…, an) i-я компонента
i = 1, если для f i- й набор значений переменных является единичным, т.е. функция на этом наборе принимает значение fi = 1, и i = 0 - в противном случае.
Тогда:
Г(f1) = (0 0 0 1 1 0 1 1) = ,
Г(f2) = (0 0 1 1 0 1 1 1) = .
Выполним операции (&, Ú, ù) над функциями f1 и f2, используя изоморфизм булевых алгебр Г: Р2 (3) ® В8:
а) Г(f1 f2)= & = (0 0 0 1 1 0 1 1) & (0 0 1 1 0 1 1 1)= =(000 1 00 1 1).
Но вектору (000 1 00 1 1) соответствует функция
(f1 & f2): Г-1 ((0 0 0 1 0 0 1 1)) = f1 & f2, таблица истинности которой представлена в табл. 4.14.
б) Г(f1 f2) = = (0 0 0 1 1 0 1 1) (0 0 1 1 0 1 1 1) =
= (00111111).
Но Г-1 ((0 0 1 1 1 1 1 1 )) = f1 f2 (см. табл. 4.14).
в) Г(f1)
=
=
= (1 1 1 0 0 1 0 0).
Г-1 ((1 1 1 0 0 1 0 0)) = (см. табл. 4 .14).