Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
23.02.2015
Размер:
257.1 Кб
Скачать

2Суперпозицiя булевих функцiй. Замкненi класи (вiдносно суперпозицi¨)

.

2.1 Означення суперпозицi¨ та замкненого класу. Приклади.

Нехай ма¹мо n + 1-у функцiя, перша з них f(x1; x2; : : : ; xn) ì๠n змiнних, а решта n функцiй gi(y1; y2; : : : ; yk) i = 1; 2; : : : ; n мають по k змiнних кожна. Тодi функцiя h(y1; y2; : : : ; yk) âiä çìiííèõ (y1; y2; : : : ; yk), яка обчислю¹ться за правилом

h(y1; y2; : : : ; yk) = f(g1(y1; y2; : : : ; yk); g2(y1; y2; : : : ; yk); : : : ; gn(y1; y2; : : : ; yk))

назива¹ться суперпозицi¹ю функцiй f(x1; x2; : : : ; xn) òà gi(y1; y2; : : : ; yk) i = 1; 2; : : : ; n.

Зауважимо, що кiлькiсть змiнних у будь-якiй функцi¨ iз заданого набору функцiй можна

вважати однi¹ю i тi¹ю ж, тому що можна додавати i викреслювати фiктивнi змiннi.

 

Для прикладу, суперпозицi¹ю функцiй

 

буде функцiя

f(x; y) = x ) y; g1(x; y; z) = :z; g2(x; y; z) = (x ^ y)

(6)

:z ) (x ^ y):

 

 

 

Пiдкреслимо, що розгляда¹ться суперпозицiя функцiй, а не формул. Тому iмена змiнних не мають значення. Тому суперпозицi¹ю функцiй (6) будуть також функцi¨

:x ) (y ^ z); :u ) (v ^ w); x _ (y ^ z):

Клас булевих функцiй назива¹ться замкненим, якщо суперпозицiя будь-яких функцiй iз цього класу знову ¹ функцi¹ю iз цього класу.

Теорема 2.1 Лiнiйнi функцi¨ a0 + a1x1 + a2x2 + : : : + anxn утворюють замкнений клас L.

Доведення.. Нехай

n

 

m

Xk

 

X

f = a0 + akxk;

gk = bk0

+ bki yi; k = 1; 2; : : : n:

=1

 

i=1

Òîäi

n

m

Ãa0 +

n

! +

m

Ã

n

!:

 

 

f(g(y)) = a0 + ak(bk0 +

bki yi) =

akbk0

yi ¢

ak ¢ bki

 

=1

i=1

 

k=1

 

i=1

 

=1

 

 

Xk

X

 

X

 

X

 

Xk

 

Останнiй запис доводить лiнiйнiсть суперпозицi¨ лiнiйних функцiй.

Замкнений клас K назива¹ться максимальним, якщо вiн не збiга¹ться з класом усiх булевих функцiй i для будь-яко¨ булево¨ функцi¨ f, f 2= K ¹диним замкненим класом, що мiстить в собi i K i f, ¹ клас усiх булевих функцiй.

11

Замкненими класами ¹ клас T0 функцiй, що берiгають 0, тобто

f2 T0 , f(0; 0; : : : ; 0) = 0

i êëàñ T1 функцiй, що зберiгають 1, тобто

f2 T1 , f(1; 1; : : : ; 1) = 1

Цi класи не збiгаються з класом усiх булевих функцiй, тому що функцiя :x не мiститься нi в першому нi в другому. Вони також максимальнi. Замкненим i максимальним ¹ клас L

лiнiйних функцiй.

Крiм того, ¹ ще два класи клас S самодво¨стих i клас M монотонних функцiй. На цих

класах зупинимося окремо.

Насправдi, окрiм вказаних 5 T0; T1; L; S; M, замкнених i максимальних класiв нема¹. Це стверджу¹ теорема Поста (про 5 замкнених класiв) яку доведемо нижче.

2.2 Самодво¨стi та монотоннi функцi¨

Булева функцiя f(x1; x2; : : : ; xn) назива¹ться автодуальною, або самодво¨стою, якщо для будь-якого вектора змiнних ® = (®1; ®2; : : : ; ®n) викону¹ться рiвнiсть

f(1; :®2; : : : ; :®n) = :f(®1; ®2; : : : ; ®n)

Можна сказати, що функцiя самодво¨ста, коли вона на протилежних наборах змiнних прийма¹ протилежнi значення. Функцiя повнiстю визнача¹ться сво¨ми значеннями на наборах, у яких x1 = 0.

Розглянемо два приклади функцi¨ f òà g:

x

y

f

g

 

 

 

 

0

0

1

0

0

1

0

1

1

0

1

0

1

1

1

1

Тут функцiя f(x; y) не самодво¨ста, тому що f(0; 0) = f(1; 1), а функцiя g(x; y) самодво¨ста,

òîìó ùî g(0; 0) = 0 = :g(1; 1); g(0; 1) = 1 = :g(1; 0):

Самодво¨стi функцi¨ ¹ подобою до непарних дiйсних функцiй f(¡x) = ¡f(x).

Теорема 2.2 Самодво¨стi функцi¨ утворюють замкнений клас S.

Доведення. Нехай заданi функцi¨

f(x1; : : : ; xn); gi(y1; : : : ; ym); i = 1; : : : ; n; h(y) = f(g(y))

(7)

Òîäi

h(:y) = f(g(:x)) = f(:g(y)) = :f(g(y)) = :h(y):

На векторах значень змiнних вводиться вiдношення порядку: якщо

x = (x1; x2; : : : ; xn); y = (y1; y2; : : : ; yn);

òî

x ¸ y , (8i xi = 0 ) yi = 0)

12

àáî

x ¸ y , (8i yi = 1 ) xi = 1)

 

 

Приклади: якщо

 

® = (0111 0100); ¯ = (0111 0101); ° = (1111 0011);

òî ® < ¯; à ° не порiвнювана нi з ® íi ç ¯.

Функцiя назива¹ться монотонною, якщо вона на бiльшому аргументi прийма¹ не менше (бiльше або таке ж) значення, тобто функцiя буде монотонною, якщо

x > y ) f(x) ¸ f(y)

Теорема 2.3 Монотоннi функцi¨ утворюють замкнений клас М.

Доведення. Нехай ¹ функцi¨ (7) i a > b Òîäi

g(a) > g(b); h(a) = f(g(a)) > f(g(b)) = h(b)

2.3 Теорема Поста про 5 замкнених класiв.

Теорема 2.4 Жоден iз класiв T0; T1; L; M; S не мiститься в iншому.

Доведення. Функцiя :x не зберiга¹ нуль, не зберiга¹ одиницю, не монотонна, але лiнiйна

i самодво¨ста. Отже

L 6µT0

;

L 6µT1

;

L 6µM;

 

 

S 6µT0;

S 6µT1;

S 6µM;

Сталi функцi¨ 0 та 1 монотоннi але 0 не зберiга¹ 1, а 1 не зберiга¹ 0. Тому

M 6µT0; M 6µT1:

Cтала функцiя 0 зберiга¹ 0, мотонна, не зберiга¹ 1 i не смодво¨ста, а стала функцiя 1 зберiга¹ 1, монотонна, не зберiга¹ 0 i також не самодво¨ста. Тому

T1 6µT0; T0 6µT1; T0 6µS; T1 6µS; M 6µS:

Функцiя xy монотонна, не лiнiйна, але зберiга¹ 0 i зберiга¹ 1. Тому

T0 6µL; T1 6µL; M 6µL:

Прикладом функцi¨, яка зберiга¹ нуль але не монотонна, ¹ функцiя з таблицею значень

p

q

f

 

 

 

1

1

0

1

0

1

0

1

1

0

0

0

А прикладом функцi¨, яка зберiга¹ один i не монотонна, ¹ функцiя з таблицею значень 13

p

q

f

1

1

1

1

0

0

0

1

0

0

0

1

 

 

 

Наведенi два приклади доводять, що

T0 6µM; T1 6µM:

Всi автодуальнi функцi¨ вiд двох змiнних лiнiйнi. Автодуальною але не лiнiйною функцi¹ю вiд трьох змiнних буде функцiя

xy + xz + yz = (x + 1)(y + 1) + (x + 1)(z + 1) + (y + 1)(z + 1) + 1:

Функцiя x + y лiнiйна але не автодуальна. Цi два приклади доводять, що

L 6µS; S 6µL:

Доведення теореми завершене.

Позначимо клас всiх булевих функцiй через B, а через A деякий замкнений клас функцiй. Теорему Поста можна формулювати у виглядi

Теорема 2.5 Якщо замкнений клас A íå çáiãà¹òüñÿ ç B, то вiн мiститься в одному iз 5 вказаних класiв T0; T1; L; S; M.

або у виглядi

Теорема 2.6 ßêùî êëàñ A заммкнений i не мiсться нi в одному iз 5 вказаних класiв T0; T1; L; S; M, то вiн збiга¹ться з класом B.

Теорма 2.6 ¹ теоремою, що протилежна до обернено¨ до теореми 2.5.

Доведення. Доведення поводимо у другому формулюваннi, тобто доводимо теорему 2.6. Оскiльки уже вiдомо, що для кожно¨ функцi¨ ¹ формула (ДДНФ або ДНФ) логiки вислов-

лень, яка зада¹ цю функцiю, то при доведеннi

1. вважа¹мо, що A замкнений, не мiститься в жодному iз 5 класiв. Отже ¹ 5 функцiй

f1; f2; f3; f4; f5 2 A; f1 2= T0; f2 2= T1; f3 2= L; f4 2= M; f5 2= S

2. потрiбно довести, що

:x; x ^ y; x _ y 2 A

Доведення склада¹ться iз чотирьох етапiв, на яких доводимо iснування вiдповiдно¨ функцi¨.

i :x (використову¹мо f1; f2; f4);

 

iii x ^ y (використову¹мо :x; 0; 1; f3);

ii 0; 1 (використову¹мо :x; f5);

 

iv x _ y (використову¹мо :x; x ^ y).

При доведеннi користу¹мося позначенням

 

 

x® = ½

x

ÿêùî

® = 1;

:x

ÿêùî

® = 0:

 

 

14

 

В цих позначеннях 1® = ®, 0® = , ®® = 1.

Доводимо i. За допомогою функцiй f1; f2 буду¹мо функцi¨ h1; h2:

h1(x) = f1(x; x; : : :); h2(x) = f2(x; x; : : :):

Оскiльки функцiя f1 не зберiга¹ 0, а функцiя f2 не зберiга¹ 1, то ма¹мо двi можливостi: або двi фукцi¨ h1; h2 ¹ двома сталими функцiями нулем та одиницею, або серед функцiй ¹ :x:

Далi розглянемо випадок, коли fh1; h2g = f0; 1g.

Не монотонна функiя f4 на бiльшому наборi прийма¹ менше значення (на бiльшому 1 а на

меншому 0). Бiльший одержу¹ться iз меншого перетворенням нулiв на одиничкм. Претворю- ючи нулi на одинички по одному знаходимо два сусiднi набори (вiдрiзняються лише одним значенням, можна вважати, що вiдрiзняються значенням x1), такi, що на бiльшому функцiя

прийма¹ значення 0, а на меншому 1, тобто f4(1; ®2; ®3; : : :) = 0; f4(0; ®2; ®3; : : :) = 1 i

f4(x; ®2; ®3; : : :) = :x:

Враховуючи, що обидвi сталi функцi¨ знаходяться в класi A, одержу¹мо, що :x 2 A. Таким чином, в будь-якому випадку функцiя :x належить класу A.

Доведення i завершене.

Переходимо до доведення ii.

Не самодво¨ста функцiя f5 на двох протилежних наборах

(®1; ®2; : : :); (1; :®2; : : :)

прийма¹ однаковi значення. Тому f5(®1; ®2; : : :) = f5(1; :®2; : : :) на деякому наборi,

h4(x) = f5(x®1 ; x®2 ; : : :) = const

i fh4; :h4g = f0; 1; g:

Доведення ii завершене.

Переходимо до доведення iii. Вважа¹мо, що нелiнiйна функцiя f3 задана полiномом Жегалкiна i як полiном ма¹ добуток x1 ¢ x2 ¢ : : :.

f3 = ®0(x3; x4; : : :) + ®1(x3; : : :)x1 + ®2(x3 : : :)x2 + ®3(x3; : : :)x1x2:

Ïîëiíîì ®3(x3; : : :) ненульовий i на якомусь наборi прийма¹ значення 1. Оцей набiр i пiдставля¹мов замiсть (x3; : : :). Одержу¹мо спочатку h4(x1; x2) = ®0 + ®1x1 + ®2x2 + x1x2: А далi претвоюч¹мо h4 â h5(x1x2) = x1x2 за допомогою замiни yi = xi + ®i i при необхiдностi замiня-

ючи функцiю на ¨¨ заперечення. Доведення iii завершено.

Переходимо до доведення iv. Функцiя x _ y лежить в класi A тому, що в цьому класi

лежать функцi¨ x ¢ y = x ^ y, :x i x _ y = :(:x ^ :y) Доведення iv i з цим всi¹¨ теореми Поста завершене.

Iз теореми Поста виплива¹, що введенi п'ять класiв ¹ максимальними, тому що замкнений клас, який мiстить в собi один iз вказаних класiв, не мiститься в жодному iз них i, отже, збiга¹ться з класом усiх булевих функцiй.

3Застосування булевих функцiй у шифруваннi та у електричних схемах

3.1 Псевдовипадковi послiдовностi бiтiв

Наведемо приклад використання булевих функцiй у шифруваннi. При потоковому шифруваннi каналом зв'язку потрiбно передати послiдовнiсть бiтiв одиниць iнформацi¨, якi звичайно

15

3.2 Реле та контакти
Реле уявля¹мо як певнi пристро¨, якi можуть спрацьовувати (посилати сигнал, бути увiмкнетим) i не спрацьовувати (не посилати сигнал, бути розiмкненим). А контакти можуть бути замкненими або розiмкненими. Реле керують контактами коли реле спрацювало , воно замика¹ певнi контакти, а певнi контакти розмика¹.
ßêùî ðåëå a спрацювало , ми пишемо
a = 1;
а якщо не спрацювало , то пишемо
a = 0;
Можна сказати, що у нас ¹ висловлення Задане реле спрацювало , i це висловлення позна- ча¹ться тi¹ю ж буквою, що i саме реле. Як i звичайно, це висловлення може бути правильним i може бути хибним.
Електромережа, що з'¹дну¹ позитивний заряд A з негативним зарядом B, у кiлькох мiсцях розiрвана контактами. Факт наявностi контакта в електромережi зобразимо так
¡
¡
16

уявляються як 0 чи 1. Отже, каналом зв'язку потрiбно передати iнформацiю послiдовнiсть 0 та 1 невiдомо¨ але вельми велико¨ довжини. Перед передаванням i пiсля передавання до послiдовностi дода¹ться (як сума булевих змiнних) одна i та ж випадкова послiдовнiсть. Двiчi додана одна i та ж послiдовнiсть 0 та 1 не змiню¹ iнформацiйну послiдовнiсть. Для прикладу, потрiбно предати послiдовнiсть a = 0011110101000 це iнформацiйна послiдовнiсть. Створю¹-

ться випадкова послiдовнiсть тако¨ ж довжини нехай нею буде b = 1110100010011. Каналом зв'язку переда¹ться зашифрована послiдовнiсть, тобто a + b = 1101010111011. Приймач до одержано¨ зашифровано¨ послiдовностi a + b знову дода¹ b (дешифру¹) i одержу¹ послiдовнiсть a.

У вказаному процесi важливе мiсце вiдводиться випдковiй послiдовностi b. Випадкову по-

слiдовнiсть породити важко. Тому замiсть випадково¨ використовують так звану псевдовипадкову, тобто таку, яку важко вiдрiзнити вiд випадково¨. Для побудови таких псевдовипадкових послiдовностей використовують лiнiйнi булевi функцi¨ ¨х дуже i дуже легко втiлити в матерiальний прилад.

Отже ма¹мо лiнiйну функцiю

f(x1; x2; : : : ; xk) = a0 + a1x1 + a2x2 + : : : + akxk:

Тим чи iншим способом породжу¹ться (випадкова чи псевдовипадкова) послiдовнiсть

b = b0; b1; b2; b3; : : : ; bm; m ¸ k

Наступнi елементи послiдовностi b будуються за допомогою функцi¨ f

bm+1 = a0 + a1bm¡k+1 + a2bm¡k+2 + : : : + akbm:

Таким чином породжу¹ться послiдовнiсть будь-яко¨ довжини. Фiзичний пристрiй, який створю¹ цю послiдовнiсть, називають регiстром зсуву iз зворотним зв'язком. Для прикладу, нехай ма¹мо функцiю f = x1 + x3; i випадкову послiдовнiсть b0 = 1; b1 = 1; b2 = 1; b3 = 1; b4 = 0: Òîäi

b5 = b2 + b4 = 1 + 0 = 1; b6 = b3 + b5 = 1 + 1 = 0; b7 = b4 + b6 = 0 + 1 = 1; : : :

Сама електромережа зобража¹ться ламаними лiнiями, що розiрванi контактами. Кожним контактом керу¹ реле (одне). Якщо контакт замкнений при увiмкненому реле a ми креслимо

¡

¡a

а якщо контакт розiмкнений при увiмкненому реле, ми креслимо

¡

¡:a

Електромережа з контактами та реле назива¹ться релейно-контактною схемою. Наведемо приклади. Схема

¡

¡

¡:a

¡b

 

 

буде пропускати струм, коли контакти :a òà b замкненi, тобто коли реле a вимкнене, а реле

b увiмкнене (a = 0; b = 1). Цiй мережi можна поставити у вiдповiднiсть формулу :a ^ b. Âîíà

прийма¹ значення 1, коли мережа пропуска¹ струм. Коли мережа склада¹ться iз з'¹днаних один за одним n контактiв,

 

 

¡a

1

,

 

¡a

2

, : : :,

 

¡a

n

 

 

 

 

 

що керуються реле a1; a2; : : : ; an, ми креслимо

 

 

¡a

1

 

 

¡a

2

: : :

 

¡a

n

 

 

 

 

Цiй мережi ставимо у вiдповiднiсть формулу логiки висловлень

a1 ^ a2 ^ ::: ^ an;

яка прийма¹ значення один лише у випадку, коли a1 = ::: = an = 1: Така мережа пропу-

ска¹ струм у ¹диному випадку коли всi контакти замкненi. З'¹днання контактiв на кшталт описаного назива¹ться послiдовним.

Схема

¡b

¡

¡a

¡

буде пропускати струм у випадку, коли один iз вимикачiв (контактiв) a; b замкнено, а коли

обидва вимикачi розiмкненi, струм iти не буде. Контакти розiмкненi будуть у випадку, коли a = 0; b = 0, тобто коли формула

a _ b

хибна. У випадку, коли мережа це жмуток провiдникiв, що мають спiльний початок i спiльний кiнець, причому кожен iз провiдникiв розiрвано одним iз контактiв

17

 

 

¡a

1

,

 

¡a

2

, : : :,

 

¡a

n

 

 

 

 

 

струм не буде iти в ¹диному випадку, а саме коли

 

 

 

 

 

 

 

 

a1 = 0;

a2 = 0; :::; an = 0

або коли хибна формула

a1 _ a2 _ ::: _ an

Така схема може бути зображена наступним чином

¡

¡an

¡

¡a2

: : :

¡

¡a1

Подiбне з'¹днання контактiв назива¹ться паралельним. Схема (див. рис. 1 ) буде завжди Рис. 1: Приклад релейно контактно¨ схеми, що завжди пропуска¹ струм

¡

¡:a

¡

¡a

пропускати струм, цiй схемi ставиться у вiдповiднiсть формула a_:a, яка при всiх значеннях a прийма¹ значення 1. Схема, що зображена на рис. 2, нiколи не буде пропускати струм оскiльки

Рис. 2: Приклад релейно контактно¨ схеми, що нiколи не пропуска¹ струм

¡

¡

 

¡a

 

¡:a

один iз контактiв в нiй завжди буде розiмкнений.

Нижче будемо розглядати мережi, якi при певних положеннях реле пропускають струм, при певних не пропускають.

Iз простiших схем, з'¹днуючи ¨х послiдовно або паралельно можна одержувати бiльш складнi. Схема

¡c ¡d

¡a ¡b

18

буде пропускати струм у випадку, коли пропуска¹ струм одна iз схем

¡

¡

¡a

 

¡b

 

 

 

òà

¡

¡

¡c

 

¡d

 

 

 

тобто коли правильна формула Схема

(a ^ b) _ (c ^ d):

¡c ¡d

a

 

 

 

b

¡

 

 

 

¡

 

не буде пропускати струм, коли одна iз двох схем (або обидвi), що зображенi нижче:

¡c ¡d

a

 

 

 

b

¡

 

 

 

¡

 

не буде пропускати струм, тобто коли хибна формула

(a _ c) ^ (b _ d):

3.3 Побудова релейно контактно¨ схеми iз заданою таблицею роботи

Мета роздiлу поляга¹ в побудовi схеми, яка пропуска¹ струм в тих i тiльки тих випадках, коли

увiмкненi певнi реле.

 

 

Нашi побажання щодо роботи схеми запису¹мо у таблицю. Спочатку в стовпчиках запису-

¹мо можливi стани реле. А в останньому стовпчику пишемо символи 1 чи 0 в залежностi вiд

того, чи повинна мережа пропускати струм при таких положеннях реле, чи нi. Такi таблицi

назвемо таблицями робoти схеми.

 

 

Наведемо приклади таблиць (див. табл. 3 a), b), c)) По кожнiй з цих таблиць ми умi¹мо

будувати формулу, для яко¨ задана таблиця ¹ таблицею iстинностi. Для таблицi 3 a) формулою

áóäå

p ^ :q;

(8)

для таблицi 3 b) формулою буде

p ^ :q ^ r;

(9)

а для таблицi 3 c) формулою буде

 

 

(p ^ q ^ r) _ (p ^ :q ^ r) _ (:p ^ :q ^ r):

(10)

19

Ми умi¹мо будувати схему, яка пропусках струм у ¹диному випадку тiльки при певному положеннi кожного iз реле, контакти в такiй схемi з'¹днуються послiдовно. Тому за формулою

(8) ми буду¹мо схему

¡

¡

¡p

 

¡:q

а за формулою ( 9) буду¹мо схему

¡

¡

¡

¡p

 

¡:q

 

¡r

Побудувавши схеми для кожного iз трьох кон'юнктiв

p ^ q ^ r p ^ :q ^ r :p^ 6q ^ r

формули (10), з'¹дну¹мо цi схеми паралельно, i одержу¹мо схему, таблицею роботи яко¨ ¹ таблиця 3 c).

¡

¡

¡

¡p

 

¡:q

 

¡r

¡

¡

¡

¡p

 

¡:q

 

¡r

¡

¡

¡

¡p

 

¡:q

 

¡r

Тепер ми можемо сформулювати, як можна побудувати схему iз заданою таблицею роботи:

1.буду¹мо формулу логiки висловлювань у виглядi ДДНФ, для яко¨ задана таблиця ¹ таблицею iстинностi;

2.для кожного кон'юнкта побудовано¨ формули буду¹мо вiдповiдну схему у виглядi послiдовно з'¹днаних контактiв;

3.побудованi для кон'юнктiв схеми з'¹днуються паралельно.

Можна побудувати формулу логiки висловлювань, слiдкуючи лише за нулями таблицi роботи, тобто побудувати ДКНФ. Тодi буду¹мо схему мережi для кожного диз'юнкта, з'¹днуючи контакти паралельно. А далi схеми з'¹днуються послiдовно.

Табл. 3: Приклади таблиць роботи релейно контактних схем.

 

 

 

 

 

p

q

r

 

 

p

q

r

 

 

 

 

 

1

1

1

0

1

1

1

1

 

p

q

 

1

1

0

0

1

1

0

0

 

 

1

1

0

1

0

1

1

1

0

1

1

a) 1 0

1

b) 1 0 0

0

c) 1 0 0

0

0

1

0

0

1

1

0

0

1

1

0

0

0

0

0

1

0

0

0

1

0

1

 

 

 

 

0

0

1

0

0

0

1

0

 

 

 

 

0

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

Соседние файлы в папке лекції по мат.логике