- •1 Множини. Алгебра множин
- •2 Відношення та операції над ними
- •3 Функціональні відношення
- •4 Булеві функції та перетворення
- •5 Нормальні форми зображення булевих функцій
- •6 Мінімізація булевих функцій
- •7 Функціональна повнота наборів булевих функцій
- •8 Логіка та обчислення висловлень
- •9 Логіка та обчислення предикатів
7 Функціональна повнота наборів булевих функцій
7.1 Мета заняття
Ознайомлення c найважливішими замкненими класами булевих функцій (класами Поста), з поняттям повноти булевих функцій. Вивчення на практичних прикладах способів визначення типів булевих функцій і методу визначення функціональної повноти булевих функцій за допомогою теореми Поста.
7.2 Методичні вказівки з організації самостійної роботи студентів
Під час підготовки до практичного заняття необхідно повторити лекційний матеріал, розділи літератури [1-10] з таких питань: алгебра Жегалкіна, основні поняття; тотожності алгебри Жегалкіна; поліном Жегалкіна, методи його побудови і аналізу; визначення лінійності булевих функцій; типи булевих функцій; функції, що зберігають 0 і функції, що зберігають 1; монотонність булевих функцій, способи визначення монотонності булевих функцій; замкнення множини булевих функцій і замкнені класи; характеристика класів Поста; критерії повноти Поста; функціонально повна система функцій у слабкому розумінні; теорема Поста про функціональну повноту.
Підготовка і виконання практичного заняття проводиться за два етапи.
Перший етап пов’язаний з вивченням на практичних прикладах наступних основних понять і визначень: алгебра Жегалкіна; поліном Жегалкіна; довжина полінома Жегалкіна; ранг елементарної кон’юнкції; лінійна булева функція; функція, що зберігає 0; функція, що зберігає 1; монотонна булева функція; замкнення множини булевих функцій; замкнений клас; класи Поста; функціонально повна система функцій; функціонально повна система функцій у слабкому у слабкому розумінні; мінімально повний базис; нескоротна система булевих функцій.
При виконанні першого етапу практичного заняття студент повинен запропонувати і записати індивідуальний приклад для кожного з розглянутих вище понять і визначень.
Другий етап виконання практичного заняття пов’язаний з розв’язанням практичних завдань, які представлені у підрозділі 7.3, на основі запропонованих типових прикладів (див. підрозділ 7.4).
7.3 Контрольні запитання і завдання
7.3.1 Контрольні запитання
Перелічить основні типи булевих функцій.
Дайте визначення булевих функцій, що зберігають 0 і 1.
Яка кількість всіх булевих функцій змінних зберігає константу 0 і константу 1?
Яка функція називається монотонною булевою функцією?
Як, аналізуючи диз’юнктивну нормальну форму булевої функції, можна визначити, монотонна функція, чи ні?
Запишіть і поясніть структуру алгебри Жегалкіна.
Перелічить основні закони і тотожності алгебри Жегалкіна.
Дайте визначення поняттю поліному Жегалкіна.
Дайте визначення лінійності булевої функції.
Наведіть приклади лінійних і нелінійних функцій двох змінних.
Перелічить найважливіші замкнені класи булевих функцій.
Яка система булевих функцій називається функціонально повною?
Сформулюйте теорему про повноту двох систем булевих функцій.
Наведіть визначення функціональної повноти в слабкому розумінні.
Яка повна система булевих функцій є нескоротною.
Сформулюйте теорему Поста про повноту булевих функцій.
7.3.2 Контрольні завдання
Завдання 1. Визначити, чи зберігають 0 і 1 наступні булеві функції: а) ; б); в); г); д).
Завдання 2. Визначити кількість самодвоїстих функцій з числа всіх функцій змінних, деі.
Завдання 3. Визначити відношення порядку для інтерпретацій функції .
Завдання 4. Провести дослідження наступних функцій на монотонність: а) ; б); в); г), д), е).
Завдання 5. Довести монотонність наступних функцій:
а) ; б); в); г).
Завдання 6. Представити у вигляді полінома Жегалкіна наступні логічні функції: а) ; б); в).
Завдання 7.
Методом невизначених коефіцієнтів побудувати поліном Жегалкіна для наступних функцій: а) ; б); в), г).
Завдання 8. Провести дослідження на лінійність булевих функцій: а) ; б); в).
Завдання 9. Довести повноту таких систем функцій шляхом зведення їх до відомих повних класів: а) ; б); в).
Завдання 10. Перевірити на повноту такі класи функцій: а) ; б); в).
Завдання 11. За допомогою теореми Поста перевірити на повноту набори булевих функцій: а) , б), в), г).
7.4 Приклади аудиторних і домашніх завдань
Завдання 1. Визначити, чи зберігає 0 і 1 функція .
Розв’язок. Перевіримо значення даної булевої функції на нульовому й одиничному двійкових наборах: ;.
Отже, дана функція зберігає 1 і не зберігає 0.
Завдання 2. Визначити відношення порядку для інтерпретацій функції і функції.
Розв’язок. Для функції однієї змінної маємо два набори змінних: (0) і (1). Відношення часткового порядку встановлюється таким чином:. Тут усі пари порівнянні.
Для функції двох змінних маємо чотири набори змінних:, для яких відношення часткового порядку встановлюється так:. Розглянуті набори є порівнянними, а набориіне є порівнянними.
Завдання 3. Провести дослідження на монотонність функції .
Розв’язок. Для функції запишемо всі набори значень змінних, для яких виконується відношення порядку, визначимо значення функції на даних наборах і порівняємо їх:
Функція є монотонною.
Завдання 4. Провести дослідження на монотонність функції .
Розв’язок. Для функції запишемо всі набори значень змінних, для яких виконується відношення порядку, визначимо значення функції на даних наборах і порівняємо їх:
.
.
.
.
Функція не є монотонної, тому що прине виконується умова.
Завдання 5. Побудувати поліном Жегалкіна для функції .
Розв’язок. Побудуємо поліном Жегалкіна, скориставшись наступним методом: 1) побудуємо еквівалентну формулу, використовуючи операцію кон’юнкції і заперечення; 2) замінимо наі розкриємо дужки у формулі, користуючись законом дистрибутивності. Дійсно виконуються такі рівності,, звідки
,
Оскільки , то.
Завдання 6. Використовуючи метод невизначених коефіцієнтів побудувати поліном Жегалкіна для булевої функції трьох змінних, яка задається таким чином: .
Розв’язок. Поліном Жегалкіна для функції будемо шукати у вигляді:
, де .
Коефіцієнти визначаються із рівностідля довільного припустимого набору:
;
;
;
, тому ;;
, тому ;
, отже ;
Отже, і.
Звідси поліном буде мати вигляд .
Завдання 7. Провести дослідження на лінійність функції .
Розв’язок. Побудуємо поліном Жегалкіна функції , використовуючи такі тотожності:,.
.
Функція не є лінійною, оскільки її поліном Жегалкіна містить кон’юнкції змінних.
Завдання 8. Системи (штрих Шеффера) і(стрілка Пірса) функціонально повні. Довести повноту системі.
Розв’язок. Проведемо такі перетворення: ,
; . Томузводиться до, азводиться до.
Завдання 9. Перевірити на слабку функціональну повноту систему , що складається з однієї функції, яка задана таблицею істинності (табл. 7.1).
Таблиця 7.1 − Таблиця істинності функції
-
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
Розв’язок. Функція немонотонна, тому що.
Побудуємо її поліном Жегалкіна:
.
Поліном Жегалкіна містить кон’юнкцію змінних, отже, функція нелінійна і системає функціонально повною в слабкому розумінні.
Завдання 10. Довести функціональну повноту системи .
Розв’язок. Операцію заперечення можна представити поліномом Жегалкіна у вигляді , отже, функція заперечення лінійна. Функція заперечення є самодвоїстою, не зберігає 0, не зберігає 1 (це визначається з використанням таблиці істинності), немонотонна. Імплікація є нелінійною функцією, тому що її поліном Жегалкіна має вигляд, вона несамодвоїста, не зберігає 0, зберігає 1 (можна визначити з таблиці істинності функції), немонотонна. Отже, для кожного класу Поста в даній системі є хоча б одна функція, що цьому класу Поста не належить. За теоремою Поста така система булевих функцій є функціонально повною.