
Тема 3. Булева алгебра
Питання для самоконтролю
Які змінні називаються булевими або логічними змінними?
Дайте визначення булевої функції. Назвіть способи її задання.
Яким чином будується таблиця істинності булевої функції?
Який пріоритет визначений для операцій булевої алгебри? Для якої цілі служить пріоритет операцій?
Яким чином здійснюється перехід від формули до таблиці істинності функції?
Дайте визначення двоїстої функції. Які функції називаються самодвоїстими?
Яким чином формується таблиця істинності двоїстої функції?
В чому полягає монотонність булевих функцій?
Як визначається відношення порядку для пар наборів булевих констант?
Якщо функція fзображена формулою булевої алгебри із запереченнями, то чи правильно, щоfнемонотонна? Обґрунтуйте відповідь.
Чи можна за видом ДНФ булевої функції стверджувати про її монотонність?
Назвіть основні закони булевої алгебри.
Запишіть формули диз’юнктивного розкладання булевих функцій від nзмінних заkзмінними (k<n) за всімаnзмінними, за однією змінною.
Запишіть формули кон’юнктивного розкладання булевих функцій від nзмінних заkзмінними (k<n) за всімаnзмінними, за однією змінною.
Дайте визначення таких понять: елементарна кон’юнкція, елементарна диз’юнкція, конституента одиниці, конституента нуля. Яким чином ці поняття пов’язані з диз’юнктивним і кон’юнктивним розкладанням булевих функцій?
Які властивості мають конституенти одиниці та конституенти нуля?
Сформулюйте визначення понять нормальних та досконалих нормальних форм булевих функцій. Поясніть їх зв’язок з диз’юнктивним та кон’юнктивним розкладанням булевих функцій.
Опишіть алгоритми переходу від таблиці істинності булевої функції до ДДНФ і ДКНФ.
Дайте порівняльну характеристику алгоритмів переходу від довільної формули булевої функції до ДДНФ і ДКНФ.
В чому полягає задача мінімізації булевих функцій?
Дайте визначення скороченої, тупикової і мінімальної диз’юнктивних нормальних форм.
Що називають диз’юнктивним ядром булевої функції?
Запишіть формули операцій диз’юнктивного склеювання і поглинання.
Що зображує карта Карно (діаграма Вейча)?
Сформулюйте правило склеювання кліток і запису мінімальної ДНФ за методом карт Карно.
В чому відмінність застосування діаграм Вейча для мінімізації на множині КНФ від карт Карно?
Назвіть основні кроки алгоритму мінімізації Квайна.
Які модифікації запропонував внести Мак-Класкі у метод мінімізації Квайна?
Для чого призначений метод Петрика?
В чому полягає недолік методу мінімізації булевих функцій Квайна? Мак-Класкі?
В чому суть методу мінімізації булевих функцій Порецького — Блейка?
В чому суть методу мінімізації булевих функцій Нельсона?
Дайте порівняльну характеристику методів мінімізації Порецького — Блейка, Квайна і Мак-Класкі.
Запишіть структуру алгебри Жегалкіна.
Назвіть основні закони алгебри Жегалкіна.
Запишіть тотожності, що дозволяють виразити основні операції булевої алгебри в алгебрі Жегалкіна.
Сформулюйте правило побудови полінома Жегалкіна.
Дайте визначення поняттю лінійного поліному Жегалкіна.
Які булеві функції називаються лінійними?
Завдання для роботи в аудиторії
Задання булевих функцій
1. Скільки інтерпретацій має булева функція від трьох змінних f(x, у, z)? Назвіть їх.
2. Знайдіть кількість булевих функцій n змінних, що приймають значення 1 рівно на одному наборі.
3. Опустіть максимально можливе число дужок у формулі з урахуванням пріоритету виконання операцій:
(((х ~ у) ~ ((((х z) t) (х )) у)) у);
((х z) (((у ~ (z )) t)) ((t х)~ у));
(у (z ) (((х ) z)) ((t у)) ((у ) ~ (t x))).
4. Визначте інтерпретації, на яких виконуються співвідношення:
х (х у) (х z) = 0;
(х у) (t x) t = 1;
(x y) (x ~ у) = 1.
5. Побудуйте таблиці істинності функцій:
f(x, у) = (х у) (у х) ;
f(x, у, z) = (x у) (х z) (y z);
f(x, у, z) = (х у) (х z) (y z);
f(x, у, z) = (х y) (х z) (y z);
f(x, у) = x | (х | у);
f(x, у) = (х | y) | (х | у).
6. Перевірте за допомогою таблиць істинності, чи справедливі такі співвідношення:
х (y ~ z) = (х y) ~ (х z);
х (y ~ z) = (х у) ~ (х z);
х (у ~ z) = (х y) ~ (х z);
х (y z) = (х у) (х z);
x (y z) = (х у) (х z);
х (y z) = (х у) (х z);
x (y z) = (x y) (x z).
Двоїста функція
7. Знайти двоїсті формули до таких функцій:
(х (у z)) x у;
ху yz хz;
ху х у zt.
8. Визначте, чи є такі функції самодвоїстими:
f(х, у) = (х у) (у х);
f(x, у, z) = (x у) (x z) (у z);
f(x, у, z) = (х у) (х z) (у z);
f(х, у, z) = (х у) (х z) (y z);
f(x, у) =
.
Монотонність булевих функцій
9. Довести монотонність таких функцій:
х (у z);
х у z;
х (y z);
x у z.
10. Дослідити такі функції на монотонність:
ух у;
х (у х);
ху y х;
х (х у);
x ~ y;
(х у) (x z) (y z);
(х у) (x z) (y z).
11. Довести, що функція, двоїста монотонній, сама є монотонною.
Операції булевої алгебри
12. Спростіть вирази:
(х t у)(х (у t)) z) z x уt ;
(x z)(x t)((z z y)z x);
(у t)(x z x z tz xz)(y t);
(x z)(x у)(у z)(x у)(y z);
x z ((y t)(x t)(t y)(x t) xz);
(y z)(x y) tz (yx z) (x y);
хz xy y z x y z y ;
(x z y z)(z t)(z t)(z tz t);
(x x)(y t)(y z)(z t) (y z)(z t);
(x z)(х t y t xt yt)(х z).
13. Доведіть справедливість таких тотожностей, використовуючи закони булевої алгебри:
(х | у) | (х ~ у)) |((z t)(t z)) = ((у z) (х z)) ((х | t) | (t у));
((x z) (у z)) ((x | t)(y t) = ((x | у) | (x у))((z t) (t z));
((x у)(x y))((z t) (z ~ t)) = ((z x)(z у))((х t)(у t));
((x ~ у)(х у)((z ~ t)(z t)) = ((z х) (z у)) | ((х t) (у t));
((х у)(х у))((t z)(t ~ z)) = ((х z) (у z)) ((х | t) | (у | t));
((х у)(x у))((z t)(z ~ t)) = ((z x) (z у))((х t)(у t));
((tу)(zу))((z x) | (tх)) = ((z | t) | (z t)) | ((х ~ у)(ху)).
Розкладання булевих функцій за змінними
14. Випишіть конституенти одиниці булевої функції f(x1, x2, x3, х4) з такого списку елементарних кон’юнкцій:
x1x2x3
x1x2x1
x4 x2x3 x1
x1.
15. Випишіть конституенти нуля булевої функції f(x1, x2, x3, х4) з такого списку елементарних диз’юнкцій:
x1x2 x3
x4x2x3
x1x2x3х4
x1.
16. Знайти диз’юнктивне розкладання таких функцій за змінними х, z:
(ух xz)(x yz(z xy));
(х (z yz))(z xz y);
(x y)(у z)(z х) (y z);
(x z)(xt yt xt yt)(x z);
(ху xy) (x y)(z t)(x y)(t z).
17. Знайти кон’юнктивне розкладання таких функцій за змінними х, z:
(xz y)(xy xy z)(x y);
(у z)(t yz) tx (z y)(t z);
yt (z t)(x z)(t z)(x z) yt;
(z t)(t x) (z x)(z t)(t z);
xt (zy) t)(z y) (t z)(z y);
((t tz)t y)(y t)(y x);
(z x)(х t)(x z)(y x) yt yt;
(t xt x)(y (t tz))zxt;
zy tz yz tz yt.
Нормальні форми булевих функцій
18. Побудувати таблиці істинності для функцій, що задані ДКНФ:
f1(х, у, z) = (х y z)(х y z)( х y z);
f2(х, у, z) = (х y z)(х y z)(х y z);
f3(х, у, z) = (х y z)(х y z)(х y z).
19. Побудувати таблиці істинності для функцій, що задані ДДНФ:
f(х, у, z) = хyz х yz хy z;
f(х, у, z) = х y z хyz хy z;
f(х, у, z) = х yz х y z хy z;
f(х, у, z) = х y z хyz хy z.
20. Знайдіть ДДНФ таких функцій:
f2(х, у, z) = хyz ;
f3(х, у, z) = х у z;
f4(х, у, z) = х yz;
f5(х, у, z) = (х у) z.
21. Отримайте ДКНФ таких функцій:
f2(х, у, z) = х у z;
f3(х, у, z) = х у z;
f4(х, у, z) = х yz z;
22. Знайти ДНФ функції, що задана формулою:
(х(х у)) у;
(ух xz)(x yz(z xy));
(х (z yz))(z xz y);
(x y)(у z)(z х) (y z);
(x z)(xt yt xt yt)(x z);
(ху xy) (x y)(z t)(x y)(t z).
23. Знайти КНФ функції:
;
(xz y)(xy xy z)(x y);
(у z)(t yz) tx (z y)(t z);
yt (z t)(x z)(t z)(x z) yt;
(z t)(t x) (z x)(z t)(t z);
((t tz)t y)(y t)(y x);
(z x)(х t)(x z)(y x) yt yt;
(t xt x)(y (t tz))zxt;
zy tz yz tz yt.
24. Побудувати карти Карно для таких функцій:
f(x, у, z, t) = x y z t x y z t xyzt x yzt;
f(x, у, z, t) = xy z t x yz t x y zt x y zt ;
f(x, у, z, t) = x y zt xy z t xy zt x y zt ;
f(x, у, z, t) = x yz t x y zt xy z t x yz t ;
f(x, у, z, t) = x y z t xy z t x y z t xyzt ;
f(x, у, z, t) = (xyz t)(xyzt)(xyzt)(xyzt)(xyzt)
25. Знайти мінімальні ДНФ функцій, що задані такими картами Карно:
26. Знайти мінімальні КНФ для функцій, що задані діаграмами Вейча:
27. Знайти мінімальні ДНФ частково визначених функцій, що задані такими діаграмами Вейча:
28. Знайти мінімальні КНФ частково визначених функцій, заданих такими картами Карно:
29. Знайти скорочені ДНФ функцій методом Нельсона:
f1(х, у, z) = (х y z)(х y z)( х y z);
f2(х, у, z) = (х y z)(х y z)(х y z);
f3(х, у, z) = (х y z)(х y z)(х y z).
30. Знайти скорочені ДНФ функцій методом Квайна та методом Мак-Класкі. ДДНФ функцій задані номерами конституент одиниці таким чином:
f(x, у, z, t) = {0, 1, 2, 3, 5, 7, 8, 10, 12, 13};
f(x, у, z, t) = {0, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 15};
f(x, у, z, t) = {0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15};
f(x, у, z, t) = {1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 14, 15};
f(x, у, z, t) = {0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 13, 14};
f(x, у, z, t) = {1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15};
f(x, у, z, t) = {2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14}.
31. Знайти скорочені ДНФ методом Порецького — Блейка для таких функцій:
f(x, у, z, t) = x yz x zt xyz t;
f(x, у, z, t) = y z t x z t xyt x yz;
f(x, у, z, t) =xt x z t xy t x y zt;
f(x, у, z, t) = x yz zt x z t y t;
f(x, у, z, t) = xy z xz xyzt x y;
f(x, у, z, t) = y z t x t x y z t xyt;
Поліном Жегалкіна
32. Представити у вигляді поліному Жегалкіна такі логічні функції:
(хz у)(ху ху z)(х у);
(у z)(t yz) tx (z y)(t z))
yt (z t)(x z)(t z)(x z) yt;
(z t)(t x) (z x)(z t)(t z);
xt (zy t)(z y) (t z)(z y);
((t tz)t y)(y t)(y x);
(z x)(x t)(x z)(y x) yt yt;
(t xt х)(y t tz)zx t;
zy t z y z tz yt.
33. За допомогою методу невизначених коефіцієнтів побудувати поліном Жегалкіна для таких функцій:
(ух хz)(х yz (z xy));
(х z yz)(z хz у);
(х y)(y z)(z x) (у z).
34. Дослідити на лінійність такі булеві функції:
((у z) (y z)) ((х t) (х ~ t));
((z t) | (z t))|((x ~ y) (х y));
((z | t) | (z ~ t)) ((x у) (y х));
((t х) (t ~ х)) ((z у) (z у));
((z t) (z ~ t)) ((х у) (х y));
((z t) | (z ~ t)) | ((х у) (х y));
((у | z) | (у ~ z)) ((х t) (х t));
((у t) (у t)) ((х z) (х ~ z));
(х у) (у х)) ((z ~ t) (t z));
((х y) (х ~ y)) ((z t) (z ~ t));
((z x) (x z) ((t у) (у ~ t));
((z |у) | (z ~у)) | ((х t) (х t));
((z у) (z у)) ((t х) (t ~ х)).
Завдання для домашніх робіт
Побудувати таблицю істинності для заданої функції.
Знайти функцію, двоїсту заданій. Зробити висновок, чи є задана функція самодвоїстою.
Дослідіти задану функцію на монотонність.
Побудувати ДДНФ та ДКНФ.
Знайти МДНФ та МКНФ методом карт Карно.
Знайти СДНФ
методом Нельсона
методом Квайна
методом Мак-Класкі
Знайти МДНФ за допомогою імплікантної таблиці та методу Петрика.
Записати диз’юнктивне розкладання функції (функція у вигляді МДНФ)
за змінною z
за змінними x,y
Записати кон’юнктивне розкладання функції (функція у вигляді МДНФ)
за змінною t
за змінними y,z
Записати задану функцію у вигляді полінома Жегалкіна. Зробити висновок, чи є задана функція лінійною.
Варіанти завдань
№ |
f(x, у, z, t) = 1 на наборах |
|
1, 2, 4, 6, 7, 9, 10, 13, 14; |
|
1, 3, 5, 7, 8, 10, 12, 14, 15; |
|
5, 7, 8, 9, 10, 11, 12, 14, 15; |
|
1, 8, 10, 11, 13, 14, 15; |
|
0, 1, 2, 3, 5, 6, 9, 10, 12, 14, 15; |
|
0, 3, 5, 7, 8, 9, 11, 12, 14,15; |
|
1, 3, 6, 7, 8, 9, 10, 13, 14, 15; |
|
2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15; |
|
1, 4, 5, 7, 9, 10, 12, 14; |
|
2, 4, 6, 7, 10, 12, 14, 15; |
|
2, 4, 6, 9, 11, 13, 15; |
|
0, 3, 5, 7, 8, 9, 10, 11, 12, 14; |
|
0, 1, 2, 3, 8, 10, 11; |
|
1, 3, 6, 7, 8, 9, 10, 15; |
|
0, 1, 4, 5, 8, 9, 11, 12, 15; |
|
2, 3, 10, 11, 14, 15; |
|
0, 1, 2, 3, 6, 7, 8, 9, 13; |
|
2, 3, 4, 5, 8, 9, 11, 15; |
|
1, 3, 5, 6, 7, 10, 11, 12, 14; |
|
0, 3, 7, 8, 9, 13, 12; |
|
0, 2, 4, 6, 7, 10, 12, 14; |
|
1, 3, 4, 5, 9, 11, 12; |
|
3, 4, 5, 6, 7, 11, 14, 15; |
|
4, 6, 8, 9,10, 12, 14; |
|
0, 3, 4, 6, 8, 9, 10, 11, 13, 15. |