
- •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 (можна визначити з таблиці
істинності функції), немонотонна. Отже,
для кожного класу Поста в даній системі
є хоча б одна функція, що цьому класу
Поста не належить. За теоремою Поста
така система булевих функцій є
функціонально повною.