Булеві похідні й диференціали

Визначення. Частковою булевою похідною df(x)/dxi функції f(x) від змінних х0, х1,..., хi,..., хп по змінній хi є сума додавання по модулю 2 для f(x):

ðf(x)/ ðхi = f(x0, х1,..., хi,...,xn) Å f(x0, x1,..., `хi,...,хn)

Тотожним даному визначенню є таке визначення часткової БП:

ðf(x)/ ðхi = f(x0, х1,..., хi-1, l, хi+1,…, xn) Åf(x0, х1,..., хi-1, 0, хi+1,…, xn)

Визначення. Частковим булевим диференціалом (БД) функції dXi f(x) називається приріст функції f(x) при приросту змінної xi, на dxi:

dXi f(x) = f(x) Å f(xi Å dxi)

Існує така залежність між частковим БД і частковою булевою похідною:

dXi f(x) = (ðf(x)/ ðхi)dхi.

Властивості часткової булевой похідній (БП) й операції додавання по модулю 2 відомі. Частковий БД є параметричною формою часткової булевой похідній з параметром dxi і має ті ж властивості.

Найбільш важлива властивість часткової БП полягає в тому, що коли часткова БП дорівнює одиниці, значення функції f(x) відрізняються для прямого й оберненого значення змінної xi. Коли часткова БП дорівнює нулю, функція f(x) має те саме значення для прямого й оберненого значення змінної xi.

Також застосування знайшли повні булеві диференціали.

Визначення. Повним булевим диференціалом функції f(x) називається приріст цієї функції при приросту вхідного вектора X на d:

ðf(x)/ðX = df(x) = f(x) Å f(X Å d)

Існує такий вираз для повного БД:

ðf(x) = Å Sl (ðf(x)/ðXl)dXl

Якщо (X0, X1) є розбивкою вхідного вектора X, то вираз ðf(d0 = 1, d1 = 0) = f(X0, X1) Å f(X0, X1) одержало назву функції чутливості Rf(x)/RX0 від функції f(x) по змінних у точці. За допомогою функції Rf(x)/RX0 повний булев диференціал визначається як диз'юнкція всіх функцій чутливості:

df(x) = Úl (Rf(x)/RXl) d1 (0<l<=2n-1)

Існують залежності між функціями чутливості й частковими похідними:

Rf(x)/RX0 = Å Sl ðf(x)/ðXl (0<l<=2p-1)

ðf(x)/ðX0 = Úl Rf(x)/RXl0 (0<l<=2p-1),

де p — число змінних у крапці Х0.

Булеві диференціали, визначенні раніше, є неорієнтованими й не дають напрямок зміни функції з 1 в 0, або з 0 в 1.

Визначення. Булев диференціал, орієнтований на збільшення df(x), є булевою функцією, що дорівнює 1, тоді й тільки тоді, коли f(x) змінюється при зміні Х з 0 в 1. Булев диференціал, орієнтований на зменшення df(x), є булевою функцією, що дорівнює 1, тоді й тільки тоді, коли f(x) змінюється при зміні X з 1 в 0.

З визначень випливає зв'язок між орієнтованими неорієнтованими БД:

®df(x) = `f(x)df(x);

df(x) = f(x)df(x).

Можна увести поняття часткового орієнтованими БД (ОБД) і часткових орієнтованих булевых похідних (ОБП) і досліджувати їхнї властивості. З урахуванням виразів зв’язку між орієнтованими і неорієнтованими БД можна записати співвідношення між частковими ОБД і БД:

®dxi f(x) = `f(x)dxi f(x);

dxi f(x) = f(x)dxi f(x).

Використовуючи залежності між частковими БП і БД, рівності відношень між частковими ОБД і БД можна представити у вигляді

®dxi f(x) = `f(x) (ðf(x)/ðхi) dxi;

dxi f(x) = f(x) (ðf(x)/ðхi) dxi.

Визначення. Частковою булевою похідною, орієнтованою на збільшення ®ðf(x)/ðхi, називається вираження вигляду `f(x) (ðf(x)/ðхi). Частковою булевою похідною, орієнтованою на зменшення ðf(x)/ðхi, називається вираження вигляду f(x) (ðf(x)/ðхi).

З урахуванням визначень для співвідношень між частковими ОБД і БД часткові ОБД можна представити у вигляді

®dxi f(x) = (®ðf(x)/ðхi) dxi;

dxi f(x) = (ðf(x)/ðхi) dxi.

Підставивши в ОБД початкове вираження часткової БП, можна одержати такі вирази:

®ðf(x)/ðхi =` f(xi)f(`xj);

ðf(x)/ðхi = f(xi) `f(`xj).

Розв’язання ціх рівнянь, що дорівнює 1, визначає набори вхідних змінних, у яких зміна значення xj на протилежне приводить до зміни значення функції відповідно з 0 в 1 або з 1 в 0. При цьому змінна xi може мінятися як з 0 в 1, так і з 1 в 0, тобто є неорієнтованою. Орієнтація диференціала змінної хi приводить до таких співвідношень для часток ОВД:

®dxi f(x) = f(xi=1)`f(xi=0) ®dxi Ú `f(xi=1) f(xi=0) dxi;

dxi f(x) = f(xi=1)`f(xi=0) dxi Ú `f(xi=1) f(xi=0) ®dxi.

Визначення. Прямою орієнтованою булевою похідною [ðf(x)/ðхi]п називається вираження вигляду f(xi=1)`f(xi=0), що визначає умови, при яких диференціали dxi й dxi f(x) мають однакову орієнтацію. Оберненою орієнтованою булевою похідною [ðf(x)/ðхi]0 назвемо вираження вигляду `f(xi=1)f(xi=0), що визначає умови, при яких диференціали dxi й dxi f(x) мають різну орієнтацію.

З визначень ОБД слідує, що розв’язання першого рівняння нижче, отримане з умови, що пряма ОБП дорівнює одиниці, активізує у логічній схемі, що реалізує дану булеву функцію, шляхи з парним числом інверторів, а розв’язання, отримане з другого рівняння за умови, що зворотна ОБП дорівнює 1, активізує шляхи з непарним числом інверторів:

[ðf(x)/ðхi]п = f(xi = 1)`f(xi=0) = 1;

[ðf(x)/ðхi]0 = `f(xi = 1) f(xi=0) = 1.

Якщо представити функцію f(x) у вигляді f(x) = xi f(xi = 1) `xi f(xi = 0), то можна одержати наступні залежності ОБП від прямої й оберненої ОБП:

ðf(x)/ðхi = хi [ðf(x)/ðхi]п Ú `хi [ðf(x)/ðхi]про;

®ðf(x)/ðхi = `хi [ðf(x)/ðхi]про Ú хi [ðf(x)/ðхi]про.

Орієнтовані булеві похідні мають нову якість і порівняно зі звичайними БП мають відмінні від них властивості. У зв'язку з цим нижче наводяться основні властивості ОБП.

1. `ðf(x)/ðхi = ®ðf(x)/ðхi; ®`ðf(x)/ðхi = ðf(x)/ðхi.

2. ðf(`x)/ðхi = ®ðf(x)/ðхi; ®ðf(`x)/ðхi = ðf(x)/ðхi.

3. ð(f(x)g(x))/ðхi = g(x) ðf(x)/ðхi Ú f(x) ðg(x)/ðхi.

4. ®ð(f(x)g(x))/ðхi = g(`x) ®ðf(x)/ðхi Ú f(`x) ®ðg(x)/ðхi.

5. ð(f(x) Ú g(x))/ðхi = `g(`x) ðf(x)/ðхi Ú `f(`x) ðg(x)/ðхi.

6. ®ð(f(x) Ú g(x))/ðхi = `g(x) ðf(x)/ðхi Ú `f(x) ®ðg(x)/ðхi.

7. ð(f(x) Å g(x))/ðхi = `g(x)`g(`x)ðf(x)/ðхi Ú
Ú g(x) g(`x) ®ðf(x)/ðхi Ú `f(x)`f(`x)ðg(x)/ðхi Ú

Ú f(x) f(`x) ®ðg(x)/ðхi.

8. ®ð(f(x) Å g(x))/ðхi = `g(x)`g(`x)®ðf(x)/ðхi Ú
Ú g(x) g(`x)ðf(x)/ðхi Ú `f(x)`f(`x)®ðg(x)/ðхi Ú
Ú f(x) f(`x)ðg(x)/ðхi.

Властивості прямої й оберненої ОБП можна вивести з цих відношень.

9. [ð`f(x)/ðхi]п = [ðf(x)/ðхi]про [ð`f(x)/ðхi]про = [ðf(x)/ðхi]п

10. [ðf(`x)/ðхi]п = [ðf(x)/ðхi]про [ðf(`x)/ðхi]про = [ðf(x)/ðхi]п

11. [ð(f(x)g(x))/ðхi]п = g(x=1)(ðf(x)/ðхi]n Ú f(x=1)(ðg(x)/ðхi]n

12. [ð(f(x) g(x))/ðхi]про =g(x=0)(ðf(x)/ðхi]про Ú
Ú f(x=0)(ðg(x)/ðхi]про

13. [ð(f(x) Ú g(x))/ðхi]п = `g(x=0)(ðf(x)/ðхi]n Ú
Ú `f(x=0)(ðg(x)/ðхi]n.

14. [ð(f(x) Ú g(x))/ðхi]про = `g(x=1)(ðf(x)/ðхi]про Ú
Ú `f(x=1)(ðg(x)/ðхi]про

15. [ð(f(x) Å g(x))/ðхi]п = `g(x=1)`g(x=0)(ðf(x)/ðхi]n Ú
Ú g(x=1)g(x=0)(ðf(x)/ðхi]про Ú `f(x=1)`f(x=0)(ðg(x)/ðхi]n Ú
f(x=1)f(x=0)(ðg(x)/ðхi]про

16. [ð(f(x) Å g(x))/ðхi]o = `g(x=1)`g(x=0)(ðf(x)/ðхi]o Ú
Ú g(x=1)g(x=0)(ðf(x)/ðхi]n Ú `f(x=1)`f(x=0)(ðg(x)/ðхi]o Ú
Ú f(x=1)f(x=0)(ðg(x)/ðхi]n

Приклад. Можна обчислити частки ОБД й ОБП за змінною х2 функції
f(x) = х1х2 Ú `х2х3.

Булева похідна, орієнтована на зменшення, за змінною х2 дорівнює ðf(х) /ðх2 = (xtx2 Ú `х2x3) ù(x1`x2 Ú х2х3) = х1х23, Ú `х12х3. Звідси набори х1 = 1, х2 = 1, хэ = 0 і х1 = 0, х2 = 0, х3 = 1 визначають умови чутливості функції до змінного х2. При цьому зміна значення х2 на протилежне (з 1 в 0 у наборі 110 або з 0 в 1 у наборі 001) приводить до зміни функції з 1 в 0.

Булева похідна, орієнтована на збільшення, по змінній х2 дорівнює ®ðf(х) /ðх2 = ù (xtx2 Ú `х2x3) (x1`x2 Ú х2х3) = `х1х2х3, Ú х123. Звідси зміна змінної х2 з 1 в 0 у наборі 011 або зміна х2 з 0 в 1 у наборі 100 приводить до зміни значення функції з 0 в 1.

Пряма й обернена ОБП для змінної х2 мають вигляд [ðf(х) /ðх2]n = х12; [ðf(х) /ðх2]o = `х1х2.

Часткові ОБД визначаються так dx2 f(x) = (ðf(х) /ðх2)dx2 = (x1x2`x3 Ú x1`x2`x3)dx2 = `x1x3 dx2 Ú x1`x3 ®dx2; ®dx2 f(x) =
=(®ðf(х) /ðх2)dx2 = (`x1x2x3 Ú x1`x2`x3)dx2 = `x1x3 dx2 Ú x1`x3 ®dx2. З ОБД, орієнтованого на зменшення, треба, що зміна функції з 1 в 0 досягається зміною х2 з 1 в 0 за умови х1 = 1, х3 = 0 або зміною х2
з 0 в 1 за умови х1 = 0, х3 = 1. ОБД, орієнтований на збільшення, дорівнює 1 при зміні х2 з 1 в 0 при x1 = 0, х3 = 1 або при зміні х2 з 0 в 1 при х1 = 1, х3 = 0.

Контрольні питання

1. Що є булевою різницею?

2. Які властивості має булева різниця?

3. Чім відрізняються карти Карно і Хсиао Скотта для булевої різниці?

4. Що є подвійною булевою різницею?

5. Що розуміється під частковими булевими похідною і диференціалом?

6. Чим відрізняються повні булеві диференціали від часткових?

7. Яка залежність між функціями чутливості й частковими похідними?

8. Що називається орієнтованими булевими диференціалами й похідними?

9. У чому різниця повних і часткових орієнтованих булевих похідних і диференціалів?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: