double arrow

Список літератури. 2. Новиков Ф.А. Дискретная математика для программистов

Основна

1. Новоселов В.Г., Скатков А.В. Прикладная математика для инженеров-системотехников. Дискретная математика в задачах и примерах. – К.: Учебно-методический кабинет высшего образования, 1992. - С.116-137.

2. Новиков Ф.А. Дискретная математика для программистов. – СПб.: Питер, 2001. - С.88-91.

3. Сигорский В.П. Математический аппарат инженера. – К.: Техника, 1975. - С.504-522.

Додаткова

4. Яблонский С.В. Введение в дискретную математику. – М.: Наука, 1979. - С.19-23.

5. Горбатов В.А. Основы дискретной математики. – М.: Высш.шк., 1986. - С.47-50.

Для практичних занять

6. Методичні вказівки і завдання до контрольних робіт з дисципліни «Основи дискретної математики» для студентів очної та заочної форм навчання фахів 6.0804, 6.0915 / О.М. Мартинюк. – Одеса: ОНПУ, 2001. – С.25-27.

7. Гаврилов Г.П., Сапоженко А.А. Сборник задач по дискретной математике. – М.: Наука, 1973. - С.20-38.


Лекція 24. Булева алгебра. Спрощення. Подвійність

Вступ

Лекція має за мету навести основні поняття булевої алгебри. Розглянути шістнадцять властивостей операцій булевого базису {Ù, Ú, ù}, спрощення запису формул, подвійність формул булевої алгебри, подвійні і самоподвійні функції. Звернено увагу до булевої алгебри множин і булевої алгебри двійкових векторів, уведено поняття ізоморфних алгебр.

У лекції присутні чотири підрозділи:

24.1. Булева алгебра

24.2. Спрощення запису формул

24.3. Подвійність формул булевої алгебри

24.4. Булева алгебра множин

24.1. Булева алгебра

Нехай задана деяка множина М и набір операцій Ф, що виконуються на цій множини Ф = {j1, j2,..., jn}, тоді двійка множин А = (М, Ф) називається алгеброю. Множина М називається основною, чи несучою множиною. Множина Ф називається сигнатурою операцій, чи просто сигнатурою.

Визначення. Булевою алгеброю В = (М, {Ú, Ù, ù} 0, 1) називається множина М с двома бінарними операціями “Ú” і “Ù”, однією унарною операцією інверсії “ù” у сигнатурі і двома відзначеними елементами (універсальними границями) “0” і “1”, причому для будь-яких x1, x2, x3, що належать множині M, набір операцій відповідає наступним тотожностям.

Основні тотожності булевої алгебри

1. x1Ùx2=x2Ùx1; x1Úx2=x2Úx1;
комутативність

2. x1Ù(x2Ùx3)=(x1Ùx2)Ùx3; x1Ú(x2Úx3)=(x1Úx2)Úx3;
асоціативність

3. x1Ù(x2Úx3)=(x1Ùx2)Ú(x1Ùx3); x1Ú(x2Ùx3)=(x1Úx2)Ù(x1Úx3);
дистрибутивність;

4. x1Ù0=0; x1Ú0=x1;
x1Ù1=x1; x1Ú1=1;
`0=1; `1=0;

універсальні границі;

5. x1Ùx1=x1; x1Úx1=x1;
ідемпотентність;

6. x1Ù`x1=0; x1Ú`x1=1;
ù(`x)=x;
доповнення і інволютивність

7. x1Ù(x1Úx2)=x1; x1Ú(x1Ùx2)=x1;
поглинання;

8. (x1Ùx2)Ú(x1Ù`x2)=x1; (x1Ùx2)Ú(x1Ù`x2)=x1;
Блейка-Порецького;

9. x1Ù(`x1Úx2)=x1Ùx2; x1Ú(`x1Ùx2)=x1Úx2;
(x1Ùx3)Ú(x2Ù`x3)= (x1Úx3)Ù(x2Ú`x3)=
=(x1Ùx3)Ú(x2Ù`x3)Ú(x1Ùx2); =(x1Úx3)Ù(x2Ú`x3)Ù(x1Úx2);

склеювання;

10. ù(x1Ùx2)=`x1Ú`x2; ù(x1Úx2)=`x1Ù`x2;
де Моргана

Крім десяти основних тотожностей необхідно визначити теореми підстановки (11-14) і теореми розкладання (15, 16), що можуть скоріше привести до мінімальної формули.

11. xi×f(x1, x2,..., xi,`xi,..., xn)=xi×f(x1, x2,..., 1, 0,..., xn);

12. `xi×f(x1, x2,..., xi,`xi,..., xn)=`xi×f(x1, x2,..., 0, 1,..., xn);

13. xiÚf(x1, x2,..., xi,`xi,..., xn)=xiÚf(x1, x2,..., 0, 1,..., xn);

14. `xiÚf(x1, x2,..., xi,`xi,..., xn)=`xiÚf(x1, x2,..., 1, 0,..., xn)

15. f(x1, x2,…, xi,…, xn)=(xi×f(x1, x2,…,1,…, xn))Ú(`xi f(x1, x2,…, 0,…, xn));

16. f(x1, x2,…, xi,…, xn)=(xiÚf(x1, x2,…, 0,…, xn))×(`xiÚf(x1, x2,…, 1,…, xn))

Для доказу тотожностей можна використовувати метод зіставлення таблиць істинності лівої і правої частини тотожностей – досить переконатися в однакових значеннях на відповідних наборах аргументів.

Інший метод заснований на еквівалентних перетвореннях з використанням доведених раніше тотожностей булевої алгебри.

Приклад. а) идемпотентність (збереження ступеня):

хÚх=(хÚх)×1=(хÚх)(хÚ ` х)=хÚ(х× ` х)=хÚ0=х;

б) поглинання:

хÚх×у=(х×1)Ú(х×у)=х×(1Úy)=x 1=х

в) Блейка-Порецького:

хÚ ` х×у=(хÚ ` х)×(хÚу)=1×(хÚy)=хÚy

24.2. Спрощення запису формул

З таблиці булевих функцій від двох змінних можна побачити, що між функціями є залежність уі=`y15-i , де 0 £ і £ 15. На підставі цього можна записати співвідношення

для констант:
0=`1 і 1=`0;

для БФ від однієї змінної:
х= ù(`х);

для БФ від двох змінних:
х1×х2=ù(х12);
х1х2=ù(` х12);
х1Åх2=ù(х12);
х1Úх2=ù(х1¯х2);
1х2=ù(х12);
х1®`х2=`х1+`х2);
12=ù(х1х2);
х12=ù(х1Åх2);
х1¯х2=ù(х1Úх2);
х12=ù(`х1х2).

З наведених залежностей випливає, що будь-яка функція двох змінних, включаючи і константи, виражається в аналітичному вигляді через сукупність із шести функцій, що містить заперечення і будь-які функції із зазначених пар {у0, у15}, {y1, y14}, {y2, y13}, {y4, y11}, {y6, y9},
{y7, y8} і що є надлишковою.

Легко довести, що

ù(х1®х2)=х12;

ù(х12)=(х1Ú`х2)(`х1Úх2).

Сукупність можна скоротити до чотирьох функцій: “константи 0”, заперечення ²`х², диз'юнкції ²x1Úx2² і кон’юнкції ²х1×х2². Ці чотири функції також можуть бути скорочені – із законів де-Моргана і інволютивності (подвійного заперечення).

Таким чином, виконуються тотожності:

х1Úх2=ù(`х1×`х2);

х1×`х1=0;

ù(х1Ú`х1)=0;

х1×х2=ù(`х1Ú`х2).

Звідси випливає, що булеві функції виконуються через заперечення і кон’юнкцію чи заперечення і диз'юнкцію.

Якщо в булевій формулі змінні зв'язані тільки одним типом операції (диз'юнкції чи кон'юнкції), то дужки не ставляться.

Приклад. (х1Úх2)Ú(х3Úх4)=х1Úх2Úх3Úх4

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

Приклад. ù (хÚу)×z=xÚy×z=(`x `y) z=`x `y z.

24.3. Подвійність формул булевої алгебри

У булевій алгебрі має місце принцип подвійності. Взаємно подвійними операціями є диз'юнкція і кон'юнкція. Заміняючи в деякій формулі кожну операцію на подвійну їй, одержуємо подвійну формулу.

Приклад. Формула (х1Úх2)×(х3Úх4)
Подвійна формула (х1×х2)Ú(х3Úх4).

Визначення. Таблиця істинності подвійної функції fÚ виходить заміною значень змінних і значень самої функції f у таблиці істинності вихідної функції f на протилежні, тобто 0®1, 1®0.

Приклад. х1 х2 f=x1Úx2 x1 x2 fÚ =x1×x2

0 0 0 1 1 1

0 1 1 1 0 0

1 0 0 0 1 0

1 1 1 0 0 0

Залишається тільки перевернути отриману таблицю для зростання значень аргументів зверху вниз.

X1 x2 fÚ =x1×x2

0 0 0

0 1 0

1 0 0

1 1 1

Формула чи функція, рівносильна своїй подвійній функції, називається самоподвійною.

Приклад. у11×х2Úх1×х3Úх2×х3 та y2=(х1Úх2)×(х1Úх3)×(х2Úх3) – подвійні і рівносильні функції, тобто y=у12 – самоподвійна функція.

Теорема. Якщо формули f1 чи f2 рівносильні, то і подвійні їм формули f1Ú і f2Ú також рівносильні, і навпаки.

f1=f2Ûf1Ú=f2Ú

Приклад. хÚ(хÙу)=х Û хÙ(хÚу)=х
хÚ(`хÙу)=хÚу Û хÙ(`хÚу)=хÙу.

Теорема. (принцип подвійності): Якщо в булевій формулі f замінити кон'юнкції на диз’юнкції, «0» на «1», «1» на «0», то одержимо формулу fÚ, подвійну вихідної.

Приведення булевих формул до досконалой нормальної форми також засновано на використанні тотожностей булевої алгебри, зокрема використанні подвійних формул.

24.4. Булева алгебра множин

Поняття булевої алгебри носить більш загальний характер, ніж тільки булева алгебра на множини функцій. Алгебра із сигнатурою типу (2, 2, 1), де тип задає арність операцій над булевими функціями, називається булевою алгеброю, якщо її операції задовольняють тотожностям 1 - 10.

Нехай задана деяка множина М.

Визначення. Алгебра А=(В(М), {È, Ç,ù} називається булевою алгеброю множин над множиною М, тип булевої алгебри множин - (2, 2, 1).

Визначення. Алгебри А і А¢ називаються ізоморфними, якщо і тільки якщо існує взаємо однозначна відповідність між їх основними множинами і сигнатурами (тобто операціями).

Нехай визначена взаємно однозначна відповідність між множиною В(М), де М={m1, m2,..., mn} і множиною двійкових векторів Вn
розмірності n: G: В(М)ÛВn

Підмножині М¢ÍМ відповідає двійковий вектор b=(b1,b2,.., bn), де bi=1, якщо miÎM¢, і bi = 0, якщо miÏM¢ для деякого miÎM.

Нехай на множини двійкових векторів Вn визначена булева алгебра вигляду: А¢=(Вn,{Ú, Ù, ù}, при цьому операції для будь-яких векторів s=<s1, s2,..., sn> і t=<t1, t2,..., tn> визначаються в такий спосіб:

1. sÚt=<s1Út1, s2Út2,..., snÚtn>

2. sÙt=<s1Ùt1, s2Ùt2,..., sn Ùtn>

3. `s=<`s1,`s2,..., `sn>.

Операції над векторами s і t називаються порозрядними логічними операціями над двійковими векторами.

Приклад. s=10110; t=00101;

sÚt=10111; ` s=01001;

sÙt=00100; ` t=11010.

Порозрядні операції входять до складу системи команд будь-якої ЕОМ, що спрощує реалізацію даної алгебри на ЕОМ.

Ця алгебра ізоморфна булевій алгебрі множин, це дозволяє замінити теоретико-множинні операції об'єднання, перетинання, доповнення над системами множин порозрядними логічними операціями над двійковими векторами, реалізованими на ЕОМ: G: АÞA¢, G-1: А¢ÞA.

Приклад. М={m1, m2, m3, m4}; M1={m1, m2, m3}; M2={m2, m3, m4};

ù M1={m4}; ù M2={m1}; M1ÇM2={m2, m3}; M1ÈM2=
={m1, m2; m3, m4};

AÞA¢:

M1Þb1=<1, 1, 1, 0>; M2Þb2=<0, 1, 1, 1>;

ù M1Þù b1=<0, 0, 0, 1>; ù M2Þù b2=<1, 0, 0, 0>;

M1ÇM2Þb1Ùb2=<0, 1, 1, 0>; M1ÈM2Þb1Úb2=<1, 1, 1, 1>.

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

1. Що називається булевою алгеброю, основною множиною та сигнатурою булевої алгебри?

2. Які десять основних тотожностей існують?

3. Які шість теорем розкладення і підстановки існують?

4. Як доказати тотожність булевих формул на підставі таблиць істинності?

5. Як доказати тотожність булевих формул на підставі еквівалентних перетворень?

6. Які еквівалентні дії для функцій від двох змінних можна виконувати при спрощенні булевих формул?

7. Які булеві функції є подвійними, яка різниця між подвійними та самоподвійними булевими функціями?

8. У чому полягає принцип подвійності?

9. Чому можна казати, що алгебра множин є булевою, що необхідно для булевої алгебри?

10. Що є булевою алгеброю двійкових векторів?

11. Які алгебри можна назвати ізоморфними?


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



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