
- •Розділ 4. Булеві функції
- •4.1. Булеві змінні і функції
- •Функції кількох незалежних змінних можна розглядати як функції від більшої кількості змінних. При
- •4.2. Способи задання булевих функцій
- •Булеві функції можуть бути задані такими способами:
- •Булеві функції однієї змінної
- •Булеві функції двох змінних
- •Позначення булевих функцій двох змінних
- •Функція
- •Булева алгебра
- •Формула — це вираз, що містить булеві функції та їхні суперпозиції.
- •На відміну від табличного задання, зображення функції формулою не єдине.
- •Функція f*(х1, ..., хn) називається двоїстою до функції f(х1, ..., хn), якщо
- •Щоб побудувати таблицю істинності функції, що двоїста даній, необхідно побудувати таблицю істинності заданої
- •Нехай функція F задана як суперпозиція функцій f0 і
- •4.4.Закони булевої алгебри
- •Закони булевої алгебри
- •Закони булевої алгебри
- •Закони булевої алгебри
- •4.5. Диз'юнктивні та кон'юктивні розкладання булевих функцій
- •Для спрощення математичних викладень введемо двійковий параметр і позначення х таким чином:
- •Теорема 1. Про диз'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за k
- •Приклад.
- •Наслідок 1. Диз'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за однією змінною.
- •Приклад.
- •Наслідок 2. Про диз'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за всіма
- •Елементарною кон'юнкцією називається кон'юнкція будь-якого числа булевих змінних, що взяті із запереченням або
- •Елементарна кон'юнкція
- •Теорема 2. Про кон'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за k
- •Приклад.
- •Наслідок 3. Кон'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за однією змінною.
- •Приклад.
- •Наслідок 2. Про кон'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за всіма
- •Елементарною диз'юнкцією називається диз'юнкція будь-якого числа булевих змінних, що взяті із запереченням або
- •Елементарна диз'юнкція
- •4.6. Нормальні форми зображення булевих функцій
- •Алгоритм переходу від таблиці істинності булевої функції до ДДНФ
- •Алгоритм переходу від таблиці істинності булевої функції до ДКНФ
- •Приклад. Одержати ДДНФ та ДКНФ для функції
- •Одержання таблиці істинності функції, що задана ДДНФ або ДКНФ, зображує процедуру, обернену розглянутій
- •Таблиця істинності f(х, у, z) и g(х, у, z)
- •Алгоритм переходу від довільної формули алгебри логіки до ДДНФ
- •Приклад. Побудувати ДДНФ функції
- •Дана функція залежить від трьох змінних, тому до елементарних кон'юнкцій необхідно ввести відсутні
- •Алгоритм переходу від довільної формули алгебри логіки до ДКНФ
- •Приклад. Побудувати ДКНФ функції
- •Будуємо КНФ (дистрибутивний закон
- •Дана функція залежить від трьох змінних, тому до елементарних диз'юнкцій необхідно ввести

Елементарною кон'юнкцією називається кон'юнкція будь-якого числа булевих змінних, що взяті із запереченням або без нього, в якій кожна змінна зустрічається не більше одного разу. Елементарною кон'юнкцією, що містить нуль змінних, будемо вважати константу 1.
Приклад.
Елементарними кон'юнкціями для функції від однієї змінної можуть бути у, z,
від двох змінних — х у, х z,
від трьох змінних — х у z, х у z, х у z
Диз'юнктивною нормальною формою (ДНФ)
називається формула, що зображена у вигляді диз'юнкції елементарних кон'юнкцій.

Елементарна кон'юнкція |
x1 1 |
|
x2 2 |
... |
xn n |
називається конституентою одиниці функції f(x1, x2, ..., хn), якщо f( 1, 2, ..., n) = 1.
Конституента одиниці має такі властивості:
1.Конституента одиниці дорівнює одиниці тільки на відповідній їй інтерпретації.
2.Значення конституенти одиниці однозначно визначається номером відповідної інтерпретації.
3.Кон'юнкція будь-якого числа різних конституент одиниці функції дорівнює нулю.
Досконалою диз'юнктивною нормальною формою (ДДНФ) булевої функції називається формула, що зображена у вигляді диз'юнкції конституент одиниці даної функції.

Теорема 2. Про кон'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за k змінними
Будь-яку булеву функцію f(x1, x2, ..., хn) можна зобразити в такій формі:
f (x1,..., xk , xk 1,..., xn )
|
|
x |
|
1 |
|
x |
|
2 |
|
... |
x |
|
k |
|
f ( |
|
,..., |
|
, x |
,...,x ) |
|
|
|
1 |
k |
||||||||||||||||
( 1 , 2 ,... k ) |
1 |
|
|
2 |
|
|
|
k |
|
|
|
k 1 |
n |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Запис |
|
( 1 , 2 ,... k ) |
означає багатократну кон'юнкцію, яка береться за всіма можливими наборами значень ( 1, 2, ..., k)
при будь-якому k (1 k n).

Приклад.
Записати кон'юнктивне розкладання функції |
|
f (x, y, z,t) (x y z) t |
за змінними х, z. |
Розв'язок. За теоремою про розкладання:
f (x, y, z,t) |
x |
|
1 z |
|
2 f ( 1, y, 2 ,t) |
|
|
||||
( 1 , 2 ) |
|
|
|
|
|
= (х z f(0, у, 0, t)) (х z f(0, у, 1, t))( х z f(1, у, 0, t)) ( х z f(1, у, 1, t))
Обчислимо:
f (0, y,0,t) |
|
|
|
|
|
t t; |
f (1, y,0,t) |
|
|
|
|
|
t |
|
t; |
||
(0 |
y |
0) |
(1 |
y |
0) |
y |
|||||||||||
f (0, y,1,t) |
|
|
|
|
t 0; |
f (1, y,1,t) |
|
|
|
|
t 0; |
||||||
(0 |
y |
1) |
(1 |
y |
1) |
f(x,у,z,t) = (х z t) (х z 0) ( х z у t ) ( х z 0) = = (х z t) (х z) ( х z у t) ( х z)

Наслідок 3. Кон'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за однією змінною.
Будь-яку булеву функцію f(x1, x2, ..., хn) можна зобразити в такій формі:
f (x , x ,..., x ) |
x i |
|
f (x ,..., x |
, |
i |
, x |
,..., x ) |
|||
1 2 |
n |
( i ) |
i |
|
1 |
i 1 |
|
i 1 |
n |
|
|
|
|
|
|
|
|
|
|
|

Приклад.
Записати кон'юнктивне розкладання функції |
|
f (x, y, z,t) (x y z) t |
за змінною х. |
Розв'язок.
f(x, y, z,t) ( 1 ) x 1 f ( 1, y, z2 ,t)
=(х f(0, у, z, t)) ( х f(1, у, z, t))
Обчислимо:
f (0, y, z,t) |
|
|
|
|
|
t |
|
|
t; |
||||
(0 |
y |
z) |
z |
||||||||||
f (1, y, z,t) |
|
|
|
|
t |
|
|
|
t; |
||||
(1 |
y |
z) |
y |
z |
Підставимо одержані значення: f(x, у, z, t) =(х z t) ( х у z t)

Наслідок 2. Про кон'юнктивне розкладання булевої функції f(x1, x2, ..., хn) за всіма змінними
Будь-яку булеву функцію f(x1, x2, ..., хn) можна зобразити в такій формі:
f (x , x ,...,x ) |
|
|
|
|
|
|
|
|
|
... |
|
|
|
||
|
x 1 |
|
x 2 |
x n |
|||||||||||
1 2 |
n |
( 1 |
, 2 |
,... k ) |
1 |
|
|
2 |
|
|
n |
||||
|
|
f ( 1 , 2 ,... k ) 0 |
|
|
|
|
|
|
|
|
|
|
|
Запис |
( 1 , 2 ,... k ) |
означає, що кон'юнкція |
f ( 1 , 2 ,... k ) 0 |
береться за всіма наборами значень ( 1, 2, ..., n), на яких f( 1, 2, ..., n) = 0.

Приклад. Розглянемо функцію f(x, у, z) = xy z. Отримати кон'юнктивне розкладання цієї функції за
всіма змінними.
Розв'язок. Визначимо значення функції на кожній з інтерпретацій:
f(0, 0, 0) = 0 0 0 = 0 1 = 1, f(0, 0, 1) = 0 0 1 = 0 0 = 0, f(0, 1, 0) = 0 1 0 = 0 1 = 1, f(0, 1, 1) = 0 1 1 = 0 0 = 0, f(1, 0, 0) = 1 0 0 = 0 1 = 1, f(1, 0, 1) = 1 0 1 = 0 0 = 0, f(1, 1, 0) = 1 1 0 = 1 1 = 1, f(1, 1, 1) = 1 1 1 = 1 0 = 1.
f(x, у, z) = (х 0 у 0 z 1) (х 0 у 1 z 1) (х 1 у 0 z 1) = = (х у z) (х у z) ( х у z).

Елементарною диз'юнкцією називається диз'юнкція будь-якого числа булевих змінних, що взяті із запереченням або без нього, в якій кожна змінна зустрічається не більше одного разу. Елементарною диз'юнкцією, що містить нуль змінних, будемо вважати константу 0.
Приклад.
Елементарними диз'юнкціями для функції від однієї змінної можуть бути у, z,
від двох змінних — х у, х z,
від трьох змінних — х у z, х у z, х у z
Кон'юнктивною нормальною формою (КНФ)
називається формула, що зображена у вигляді кон'юнкції елементарних диз'юнкцій.

Елементарна диз'юнкція |
|
|
|
|
|
|
|
... |
|
|
|
x1 1 |
|
x2 2 |
xn n |
називається конституентою нуля функції f(x1, x2, ..., хn), якщо f( 1, 2, ..., n) = 0.
Конституента нуля має такі властивості:
1.Конституента нуля дорівнює нулю тільки на відповідній їй інтерпретації.
2.Значення конституенти нуля однозначно визначається номером відповідної інтерпретації.
3.Диз'юнкція будь-якого числа різних конституент нуля функції дорівнює одиниці.
Досконалою кон'юнктивною нормальною формою (ДКНФ) булевої функції називається формула, що зображена у вигляді кон'юнкції конституент нуля даної функції.