Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KL_DM-2012-ukr.doc
Скачиваний:
282
Добавлен:
13.04.2015
Размер:
4.54 Mб
Скачать

13 Системи функцій алгебри логіки. Функціональна повнота

Розглядаються основні властивості функціонально повних систем для опису й синтезу цифрових проектів

13.1 Класи булевих функцій

Вводяться в розгляд п’ять класів булевих функцій:

1) клас функцій, що зберігають константу нуль ();

2) клас функцій, що зберігають константу одиниця ();

3) клас самодвоїстих функцій ;

4) клас монотонних функцій ();

5) клас лінійних функцій .

Клас функцій, що зберігають нуль (К0), містить всі функції, які приймають нульове значення при всіх нульових значеннях змінних.

Визначення 13.1. Якщо булева функція на нульовому наборі змінної дорівнює нулю, тофункція зберігає константу нуль:

. (13.1)

Клас функцій, що зберігають одиницю (К1), включає всі функції, які на наборі з одиниць приймають значення одиниця.

Визначення 13.2. Якщо булева функція на одиничному наборі (наборі з одиниць) дорівнює одиниці, то говорять, щофункція зберігає одиницю:

. (13.2)

Перш ніж розглядати клас лінійних функцій (КЛ), необхідно ввести наступні допоміжні поняття.

Визначення 13.3.Формули, що містять знаки, називаютьсяполіномами.

Визначення 13.4. Вираз вигляду, дета,є або 1, або змінна, або кон’юнкція різних змінних, називаєтьсяполіномом Жегалкіна.

Теорема Жегалкіна. Будь-яка булева функція може бути зображена поліномом вигляду

(13.3)

де – коефіцієнти, що приймають значення 0 або 1: ; тобто будь-який поліном може бути перетворений у поліном Жегалкіна.

Визначення 13.5. Булева функція називаєтьсялінійною, якщо вона може бути зображена поліномом першого ступеня, тобто виразом вигляду

,. (13.4)

Кількість лінійних функцій дорівнює , де− число змінних, від яких залежить булева функція.

Приклад 13.1.Одержати всі лінійні функції від двох змінних.

Розв’язок. Кількість лінійних функцій від двох змінних визначається як. Лінійна булева функція від двох змінних може бути зображена у вигляді полінома першого ступеня й, відповідно до формули (13.4), виражається таким способом:

,. (13.5)

Коефіцієнти приймають значення з множиний утворюють двійкові набори, при підстановці яких у вираз (13.5) випливає вся сукупність лінійних функцій (табл. 13.1):

Таблиця 13.1 – Клас лінійних функцій від двох змінних

Якщо довільну булеву функцію від двох змінних шляхом еквівалентних перетворень можна зобразити в одній із вказаних восьми форм, то така функція є лінійною, тобто належить класу .

До класу монотонних функцій (КМ) відносяться такі, для яких виконана умова монотонності: на кожній парі порівнянних двійкових наборів значення функції мають бути порівнянні в тому ж порядку.

Множина {0,1} упорядковується за принципом порівнянності: 0<1 (0 порівняний з одиницею). Нехай ,– двійкові набори,.

Визначення 13.6.Набірпередуєнабору(або), якщо виконується покоординатна порівнянність:, причому хоча б для одного значеннямає місце строга нерівність.

Визначення 13.7. Функція називаєтьсямонотонною, якщо для будь-яких наборівітаких, що, виконується нерівність:

, (13.6)

тобто на кожній парі порівнянних двійкових наборів значення функції мають бути порівнянні.

Приклад 13.2. Обґрунтувати, чи належить функція до класу монотонних.

Розв’язок. Слід скласти таблицю істинності булевої функції (табл. 13.2).

Таблиця 13.2 – Значення функції

Для дослідження функції на монотонність зображується гіперкуб (рис. 13.1), у якому всі двійкові набори впорядковані за принципом порівнянності. Така структура є стандартною для будь-якої функції від трьох змінних.

Рисунок 13.1 – Гіперкуб для функції від трьох змінних

У вершини гіперкуба додаються значення функції на відповідних двійкових наборах (рис.13.2).

Рисунок 13.2 – Розподіл значень функції в гіперкубі

Аналіз розподілу значень функції в гіперкубі показує, що функція не є монотонною, оскільки існують нулі, що покривають одиниці, а саме: , але .

Таким чином, функція не належить до класу монотонних: .

Для класу самодвоїстих функцій (КС) слід розглянути поняття двоїстої функції.

Визначення 13.8. Булева функціяназиваєтьсядвоїстоюдля функції, якщо таблицю істинності дляможна одержати з таблиці для, замінивши в значеннях аргументу й функції 0 на 1 і 1 на 0, тобто має місце рівність

. (13.7)

Приклад 13.3.Кон’юнкція й диз’юнкція двоїсті один одному, інверсія двоїста сама собі:

1) ,;

2) Інвертуємо таблицю істинності кон’юнкції, замінивши на протилежні значення аргументів і самої функції (табл. 13.3).

Таблиця 13.3 – Подвійність кон’юнкції та диз’юнкції за таблицями істинності

Визначення 3.14. Функція, що співпадає зі своєю двоїстою, називаєтьсясамодвоїстою:

. (13.8)

Самодвоїста функція на протилежних двійкових наборах і,приймає протилежні значення.

Приклад 13.4.Показати, що функціясамодвоїста.

Розв’язок.Слід перетворити таблицю істинності функції (табл. 13.4).

Таблиця 13.4 – Самодвоїстість функції

Видно, що в результаті перетворень функція не змінилася, отже, вона самодвоїста.

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

Приклад 13.5. Можна показати, що наступні рівності двоїсті один одному:

,, (13.9)

,, (13.10)

,, (13.11)

,. (13.12)

КНФ і ДНФ двоїсті один одному.

Властивості булевих функцій від двох змінних щодо приналежності їх до класів наведені в таблиці 13.5.

Таблиця 13.5 – Приналежність булевих функцій від двох змінних класам

Функція

Класи

00

01

10

11

0

0

0

0

+

+

+

0

0

0

1

+

+

+

0

0

1

0

+

0

0

1

1

+

+

+

+

+

0

1

0

0

+

0

1

0

1

+

+

+

0

1

1

0

+

+

0

1

1

1

+

+

+

1

0

0

0

1

0

0

1

+

+

1

0

1

0

+

1

0

1

1

+

1

1

0

0

+

+

1

1

0

1

+

1

1

1

0

1

1

1

1

+

+

Соседние файлы в предмете Дискретная математика