Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискретка_1.DOC
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
5.86 Mб
Скачать

Задачі до теми „Способи задання булевих функцій. Операція суперпозиції”

При розв’язанні задач будуть використовуватися основні тотожності для функцій

Тотожність

Найменування законів

Примітка

1

а) x1x2 = x2x1

або x1x2 = x2x1

Переставні (комутативні) закони

Дистри­бу­тив­ні закони (б) не мають ана­ло­га­ у звичай­ній алгебрі

б) x1x2 = x2x1

або x1 + x2 = x2 + x1

2

а) (x1 + x2)x3 = x1x2 + x2x3

Розподільні закони: а) кон’юнкція від­носно диз’юнкції; б) диз’ю­н­к­­ція відносно кон’юнкції

б) x1 + x2x3 = (x1 + x2)(x1 + x3)

3

а) (x1x2)x3 = x1(x2x3)

Сполучні закони (асоціативні)

б) (x1 + x2) + x3 = x1 + (x2 + x3)

4

а) xx = x

x + x = x

Закони повторення (тавтології)

Закони за­пе­речення

5

а) x1(x1 + x2) = x1

x1 + x1x2 = x1

Закони поглинання (адсорбції)

6

x = 0, x + = 1

Закони доповнення

7

а) = +

б) =

Правила де Моргана

8

= x

Закон подвійного заперечення

9

а) x1x2 + x1 = x1

б) (x1 + )(x1 + x2) = x1

Закон склеювання

10

а) x  1 = x

б) x + 1 = 1

Закон універсальної множини

11

а) x  0 = 0

б) x + 0 = x

Закон нульової множини

Приклад 1. Довести тотожність x1 + x1x2 = x1.

Доведення. x1 + x1x2 = x1  1 + x1x2 = x1(x2 + ) + x1x2 = x1x2 + x1 + x1x2 = x1x2 + x1 = x1(x2 + ) = x1 1 = x1, або x1 + x1x2 = x1(1 + x2) = x1 1 = x1.

Отже, x1 + x1x2 = x1, тобто дістаємо правило поглинання добутку x1x2 співмножником x1.

Приклад 2. Спростити вираз u = xyz + yz + + y .

Маємо u = xyz + yz + + y = xyz + yz + + y + y = xyz + y(z + ) + ( + y) = xyz + y + .

Приклад 3. Спростити вираз F = x + xy + + x z + ( + ).

Розв’язання. Маємо F = x + xy + + x z + ( + ) =

= x(1 + y ) + (1 + xz) + + = x + + (1 + ) = x + + .

Приклад 4. Довести, що x(x + y) = x.

Доведення. Маємо x(x + y) = xx + xy = x + xy = x(1 + y) = x  1 = x.

Приклад 5. Довести, що x + y = x + y.

Доведення. Маємо x + y = x(1 + + y) + y = x + x + xy + y =

= xx + x + xy + y = x(x + ) + y(x+ ) = (x + )(x + y) = 1 (x + y) = x + y.

Приклад 6. Довести, що x( + y) = xy.

Доведення. Маємо x( + y) = x + xy = 0 + xy = xy.

Приклад 7. Довести, що (x + y)( + z) = xz + y.

Доведення. Маємо (x + y)( + z) = (x + y) + (x+ y)z = x + y + xz + yz = 0 + xz + y + yz = xz + y + yz(x + ) = xz + y + yzx + yz = xz + xzy + y + yz = xz(1 + y) + y(1 + z) = xz + y.

Множина символів = {, &, , , ~, , /, } називається множиною логічних зв’язок. Як правило, приймаються такі домовленості для скорочення запису формул над :

а) зовнішні дужки формул не ставляться;

б) зв’язка  (заперечення) сильніша за будь-яку двомісну зв’язку з ;

в) зв’язка & (логічне множення) сильніша за будь-яку зі зв’язок , , ~, , /, .

Приклад 8. Побудувати таблиці істинності функцій, які реалізуються такими формулами (над множиною зв’язок ):

а) f = (xy)  ((yz)  (zx));

б) f = ;

в) f = ((x / y)  z) y;

г) f =  ( ~ (yxz));

д) f = (((x / y)  z) / y)  z;

е) f = ((  )  z)  y.

Розв’язання 8а). Розглянемо підформули даної функції p = xy, q = yz, r = zx. Використаємо табличне значення кожної з цих функцій і обчислимо табличне значення функції f = p  (qr) на всіх наборах змінних x, y, z.

x

y

z

p = xy

q = yz

r = zx

f = p  (qr)

0

0

0

1

1

1

1

0

0

1

1

1

0

0

0

1

0

1

0

1

0

0

1

1

1

1

0

0

1

0

0

0

1

1

1

1

0

1

0

1

1

0

1

1

0

1

0

1

0

1

1

1

1

1

1

1

Приклад 9. Перевірити чи справедливі такі співвідношення:

а) x  (y ~ z) = (xy) ~ (xz);

б) x  (y ~ z) = (xy) ~ (xz);

в) x & (y ~ z) = (x & y) ~ (x & z);

г) x  (yz) = (xy)  (xz);

д) x  (y & z) = (xy) & (xz);

е) x  (yz) = (xy)  (xz);

ж) x  (yz) = (xy)  (xz).

Розв’язання 9б). Побудуємо таблиці істинності функцій

f = x  (y ~ z) і g = (xy) ~ (xz).

x

y

z

p = y ~ z

f = xp

r = xy

s = xz

q = r ~ s

0

0

0

1

1

1

1

1

0

0

1

0

1

1

1

1

0

1

0

0

1

1

1

1

0

1

1

1

1

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

0

0

1

0

1

1

0

0

0

1

0

0

1

1

1

1

1

1

1

1

Оскільки на всіх двійкових наборах значення функцій f і g співпадають, то виконується дане співвідношення, з якого випливає, що операція імплікації має дистрибутивну властивість відносно операції еквівалентності.

Розв’язання 9г). Побудуємо таблиці істинності функцій

f = x  (yz) і g = (xy)  (xz).

x

y

z

p = yz

f = xp

r = xy

s = xz

q = rs

0

0

0

0

1

1

1

1

0

0

1

1

1

1

1

1

0

1

0

1

1

1

1

1

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

1

0

1

1

1

0

1

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

1

1

Оскільки на всіх двійкових наборах значення функцій f і g співпадають, то виконується дане співвідношення.

Розв’язання 9ж). Побудуємо таблиці істинності функцій

f = x  (yz) і g = (xy)  (xz).

x

y

z

p = yz

f = xp

r = xy

s = xz

q = rs

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

1

0

0

1

1

1

1

0

1

1

1

1

1

1

1

1

0

0

1

1

0

0

1

1

0

1

1

1

0

1

1

1

1

0

0

0

1

0

0

1

1

1

1

1

1

1

1

Значення на всіх двійкових наборах функцій f і g співпадають, тому виконується дане співвідношення.

Приклад 10. Реалізувати функцію f формулою над множиною зв’язок S, якщо:

а) f = xy, S = {, };

б) f = xy, S = {};

в) f = x ~ y, S = {&, };

г) f = x / y, S = {, };

д) f = x1x2, S = {, , &};

е) f = x / y, S = {, , &};

ж) f = xy, S = {, , &};

з) f = x ~ y, S = {, , &}.

Розв’язання 10а). Використаємо табличне значення функції

f = xy. Тоді очевидно, що f = xy = xy = max( , y) = g. Маємо

x

y

f = xy

g =xy

0

0

1

1

1

0

1

1

1

1

1

0

0

0

0

1

1

1

0

1

Значення на всіх двійкових наборах функцій f і g співпадають, тому виконується дане співвідношення.

Розв’язання 10д). Використаємо табличне значення функції

f = x1x2. Тоді очевидно, що f = x1x2 = (x1x2)(x1  x2). Маємо

x

y

f = xy

r = x1x2

q = x1  x2

g = rq

0

0

0

0

1

0

0

1

1

1

1

1

1

0

1

1

1

1

1

1

0

1

0

0

Значення на всіх двійкових наборах функцій f і g співпадають, тому виконується дане співвідношення.

Розв’язання 10г). Використаємо табличне значення функції

f = x / y. Тоді очевидно, що f = x / y = (x  y) = (x&y) = g. Маємо

x

y

f = x / y

r = x  y

q = r

g = (x&y)

0

0

1

0

1

1

0

1

1

0

1

1

1

0

1

0

1

1

1

1

0

1

0

0

Значення на всіх двійкових наборах функцій f і g співпадають, тому виконується дане співвідношення.

Приклад 11. Булева функція m( ) = x1x2x1x3x2x3 називається мажоритарною. Довести, що виконуються співвідношення: m(x1, x1, x2) = x1; m(x1, , x2) = x2; = m( , , ).

Розв’язання. За означенням функції m(x1, x2, x3) та кон’юнкції і диз’юнкції, маємо

m(x1, x1, x2) = (x1 x2) (x1 x2) (x1 x2) = x1 (x1 x2) = x1(1 x2) = x1;

m(x1, , x2) = x1 x1x2 x2 = x1 x2(x1 ) = x1 x2 = 0  x2 = x2;

m( , , ) =   = =

= = =

= = =

= = = .

Приклад 12. Використовуючи основні тотожності, довести еквівалентність формул U і V, якщо

а) U = ( & )  (x & y)  (x & ), V = xy  ;

б) U = (xy)  ((x & )  (x ~ )), V = (xy) & (  );

в) U = x  (x & y  ((xy)  y) & z), V = y  (xz).

Розв’язання 12а) Використаємо формулу неповного склеювання x1x2 + x1 = x1. Маємо xpx = x(p ) = x  1 = x і операцію поглинання x1 + x1x2 = x1, маємо ppy = p. Тоді U =  xyx =  xxy = ( + x)  xy =  xy = V.

Розв’язання 12б) Використовуючи основні тотожності: xy = + y, x ~ y = ( + y)(x + ), xy = (x + y)( + ), = , = + , маємо

U = (x y) ((x & ) (x ~ )) = (x y) ((x ) ( + )(x + y)) = = (x y) ((x ) (x + y + x + y)) = (x y) ((x ) ( y + x)) =

= (x y) ((x + y + x)( + )) = (x y) ((x + y)( + + )) = (x y) ((x + y)( + y + ( + )( + )) = (x y) ((x + y)( + y + xy + x + y + )) = (x y) ((x + y)( (1 + ) + y(1 + x)) = (x y) ((x + y)( + y)) = (x y) (x + x y + y + yy) = (x y) ( y) = ( + y)  ( y) = + y = + y = x + y = (x + y)( + ) = V.

Розв’язування 12в). Розглянемо підформули даної функції:

p = xy, q = py, r = qz, = xyr, U = x, R = xz, V = yR. Ви­користаємо табличне значення кожної з цих функцій і обчислимо таб­личне значення функцій U і V на всіх двійкових наборах змінних x, y, z:

x

y

z

p

q

r

U

R

V

0

0

0

1

0

0

1

1

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

1

0

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

0

0

0

1

0

1

1

0

1

1

0

1

0

1

1

1

1

1

1

1

1

0

1

1

0

0

0

0

0

1

1

1

1

1

1

1

1

1

1

Приклад 13. За функціями f(x1, x2) і g(x3, x4), які задано векторно, побудувати векторне задання функції h:

а) f = (1011), g = (1001), h(x2, x3, x4) = f(g(x3, x4), x2);

б) f = (1011), g = (1001), h( ) = f(x1, x2)  g(x3, x4);

в) f = (1000), g = (0111), h( ) = f(x1, x2) & g(x3, x4).

Розв’язання 13а). Побудуємо таблиці істинності функцій f(x1, x2) і g(x3, x4).

x1

x2

f(x1, x2)

x3

x4

g(x3, x4)

0

0

1

0

0

1

0

1

0

0

1

0

1

0

1

1

0

0

1

1

1

1

1

1

Для того, щоб побудувати таблицю істинності суперпозиції f(g(x3, x4), x2), розглянемо набір (x3, x4) = (0, 0) і з таблиці істинності g(x3, x4) знаходимо, що g(0, 0) = 1. Тоді з таблиці істинності функції f(x1, x2) маємо, що f(1, 0) = 1 всіх двійкових наборів, отримаємо таблицю істинності функції h(x2, x3, x4)

x2

x3

x4

h(x2, x3, x4)

x2

x3

x4

h(x2, x3, x4)

0

0

0

1

1

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

1

0

0

0

1

1

1

1

1

1

1

Розв’язання 13б). Побудуємо таблиці істинності функцій f(x1, x2) і g(x3, x4).

x1

x2

f(x1, x2)

x3

x4

g(x3, x4)

0

0

1

0

0

1

0

1

0

0

1

0

1

0

1

1

0

0

1

1

1

1

1

1

Для того, щоб побудувати таблицю істинності суперпозиції h( ) = f(x1, x2)  g(x3, x4), розглянемо набір (x3, x4) = (0, 0) і з таблиці істинності g(x3, x4) знаходимо, що g(0, 0) = 1. Аналогічно з таблиці істинності функції f(x1, x2) маємо, що f(0, 0) = 1 і тому h( ) = f(0, 0)  g(0, 0) = 1.

Виконавши такі обчислення для всіх двійкових наборів, отримаємо таблицю істинності функції h( )

x2

x3

x4

x4

h( ) =

= f(x1, x2)  g(x3, x4)

x2

x3

x4

x4

h( ) =

= f(x1, x2)  g(x3, x4)

0

0

0

1

1

0

1

0

1

0

0

0

1

0

1

0

1

1

0

0

0

0

1

1

1

0

1

1

1

1

0

1

0

0

1

1

0

0

0

1

1

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

1

0

1

1

1

0

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

1

1