лекції по мат.логике / L10-propos-bul
.pdf2Суперпозиц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
уявляються як 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