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

Визначення. Частковою булевою похідною 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.