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

Булевi функцi¨

Григорiй Чарльзович Курiнний Листопад, 2010

Çìiñò

1 Булевi функцi¨ та ¨х задання

1

1.1

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

1

1.2

Задання булево¨ функцi¨ рядком (кортежем, вектором) . . . . . . . . . . . . . . .

4

1.3

Справжнi (сутт¹вi) та фiктивнi змiннi . . . . . . . . . . . . . . . . . . . . . . . .

5

1.4

Домовленостi про дужки у формулах . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.5

Рiвносильнi формули i основнi рiвносильностi. . . . . . . . . . . . . . . . . . . .

6

1.6

Полiноми Жегалкiна та лiнiйнi функцi¨ . . . . . . . . . . . . . . . . . . . . . . . .

7

1.7

Досконалi форми та задання функцi¨ формулою логiки висловлень . . . . . . .

9

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

11

2.1

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

11

2.2

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

. . . . . . . . . . . . . . . . . . . . . . . .

12

2.3

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

. . . . . . . . . . . . . . . . . . . . . . .

13

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

15

3.1

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

15

3.2

Реле та контакти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.3

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

19

1 Булевi функцi¨ та ¨х задання

1.1Визначення булевих функцiй i формул, що задають булевi функцi¨

Функцi¨, у яких i область визначення i область значень двоелементна, називають булевими.

Змiннi в булевих функцiях називають пропозицiйними символами, а в програмуваннi булевими змiнними. 0 та 1 булевi константи.

Елементи як областi визначення так i областi значень звичайно позначають символами 0 та 1. Отже, коли говоримо про булеву функцiю f(x1; x2; : : : ; xn), òî ìà¹òüñÿ íà óâàçi, ùî

x1; x2; : : : ; xn; f(x1; x2; : : : ; xn) 2 f0; 1g:

™ кiлька найпростiших булевих функцiй, що мають позначення. За допомогою цих позна- чень будують формули, якi задають булевi функцi¨. Цi функцi¨ мають таблицi значень. Наше завдання дати таблицi значень для функцiй, що мають сво¨ унiкальнi назви та позначення.

1

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

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

такою кон'юнкцi¹ю i позначають символом ^. Функцiю або називають також диз'юнкцi¹ю i позначають символом _.

x

y

:x

x ^ y

x _ y

0

0

1

0

0

0

1

1

0

1

1

0

0

0

1

1

1

0

1

1

 

 

 

 

 

В логiцi висловлень виникають ще двi функцi¨ якщо, то i тодi i тiльки тодi . Першу ще називають iмплiкацi¹ю i позначають ), а другу називають також рiвносильнiстю, та еквiва-

ленцi¹ю i позначають символом ,. Цi функцi¨ мають наступнi таблицi значень

x y

x ) y

x , y

0

0

1

1

0

1

1

0

1

0

0

0

1

1

1

1

 

 

 

 

Використовуються також двi сталi функцi¨ 0 та 1, додавання x+y та множення xy, i функцi¨штрих Шефера xjy òà ñòðiëêà Ïiðñà x # y. Таблицi значень цих функцiй наведенi нижче.

x y

0 1 x + y xy xjy x # y

0

0

0

1

0

0

1

1

0

1

0

1

1

0

1

0

1

0

0

1

1

0

1

0

1

1

0

1

0

1

0

0

 

 

 

 

 

 

 

 

Формули над множиною функцiональних символiв визнача¹ться iндуктивно.

База iндуктивного означення кожна булева змiнна i стaлi 0 та 1 ¹ формулами. Iндуктивне припущення: Припустимо, що ми зна¹мо, що A; B ¹ формулами.

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

Над множиною :; _; ^ iндуктивним переходом буде: Якщо A; B ¹ формулами, то форму-

лами будуть також

(:A); (A ^ B); (A _ B):

 

Над множиною :; _; ^; ); , iндуктивним переходом буде: Якщо A; B ¹ формулами, то формулами будуть також

(:A); (A ^ B); (A _ B); (A ) B); (A , B):

Над множиною :; _; ^; ); ,; j; #; ¢; + iндуктивним переходом буде: Якщо A; B ¹ формулами, то формулами будуть також

(:A); (A ^ B); (A _ B); (A ) B); (A , B); (AB); (A + B); (AjB); (A # B):

Формули над множинаю :; _; ^ i над множиною :; _; ^; ); , називають формулами логiки

висловлень.

ëiâ.Подiбним чином визначаються формули над довiльною множиною функцiональних симво-

2

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

База iндукцi¨ Якщо формула це просто булева змiнна або булева константа, то значення формули i значення змiнно¨ чи константи це одне i те ж.

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

Iндуктивний перехiд у визначеннi таблицi значень здiйсню¹ться так. Якщо уже вiдомi значення A(x); B(x) функцiй, що заданi формулами A; B вiд деякого набору змiнних x =

(x1; x2; : : : ; xn), то значення функцiй. що заданi формулами, якi побудованi на наступному кроцi за допомогою формул A; B вiд тих же змiнних визнача¹ться за допомогою таблицi

A B

:A A ^ B A _ B A ) B A , B A + B AB AjB A # B

0

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

1

0

1

0

1

0

1

0

0

0

1

0

0

1

0

1

0

1

1

0

1

1

1

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

Таблицi значень формули логiки висловлень називають таблицями iстиностi формули. Приклад 1. Побудувати таблицю iстиностi формули

f1 = (p ! q) ! ((p _ (q ^ r)) ! (r ^ :p)):

(1)

Побудова. Спочатку в першому рядку таблицi випису¹мо пiдформули, що будуються на першому кроцi тобто випису¹мо пропозицiйнi змiннi, що входять до формули тобто p; q; r.

Потiм випису¹мо пiдформули, що будуються на 2 кроцi тобто :p; p ) q; q ^ r: Далi йдуть пiдформули, що будуються на 3 кроцi r^:p; p_(q^r); на четвертому кроцi A = (p_(q^r)) ! (r ^ :p); i,нарештi, сама формула f = (p ! q) ! A, ùî áóäó¹òüñÿ íà 5 êðîöi.

Для зручностi пояснення того, як заповню¹ться таблиця, перенумеру¹мо стовпчики, номери 1,2,3,4,5,6,7,8,9,10 запишему у другий рядок.

Переходимо власне до таблицi. Спочатку заповнюються стовпчики, якi вiдповiдають пропозицiйним змiнним тобто першi три стовпичики. Потрiбно виписати всi можливi набори значень для трьох змiнних наборiв буде 23 = 8. В загальному випадку, коли формула ма¹

n пропозицiйних змiнних, потрiбно виписати 2n наборiв. Ця кiлькiсть одержу¹ться iз ком-

бiнаторних мiркувань, якi зараз проводити не будемо.

Набори (кажуть ще кортежi, вектори) значень змiнних можна виписувати як завгодно, але ¹ стандарт виписати двiйковi записи чисел 0; 1; : : : ; 21 в загальному випадку, а в нашому

конкретному випадку двiйковi записи чисел 0,1,2,3,4,5,6,7. Нагада¹мо, що

двiйковий запис невiд'¹много цiлого числа n öå òàêà ïîñëiäîâíiñòü

0 òà 1, ùî

 

ama1a2 : : : a1a0;

a0

+ 2a1 + 4a2 + : : : + am2m = n

 

З цього означення ма¹мо: двiйковим записом числа 0 ¹ 0, двiйковим записом числа 1 ¹ 1, числа 2 ¹ 10, числа 3 ¹ 11, числа 4 ¹ 100, числа 5 ¹ 101, числа 6 ¹ 110, числа 7 ¹ 111. Перед першою одиницею можна дописувати 0.

Далi за таблицями значень найпростiших булевих функцiй послiдовно запису¹мо значення в стовпчики, що вiдповiдають формулам другого рiвня, тобто що будуються на другому кроцi, потiм на третьому i так до кiнця. Одержу¹мо таблицю 1

3

p q r

:p p ! q q ^ r

r ^ :p p _ (q ^ r)

A = (p _ (q ^ r)) ! (r ^ :p)

f1 = (p ! q) ! A

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

 

 

 

 

 

0

0

0

1

1

0

0

0

1

1

0

0

1

1

1

0

1

0

1

1

0

1

0

1

1

0

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

1

0

1

1

0

1

0

0

0

0

1

0

1

1

1

0

0

1

0

0

1

0

1

1

1

1

0

1

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

Табл. 1: Побудова таблицi iстиностi формули логiки висловлювань (1)

p q r

:r p ! r q _ r

:r ^ q p ^ (q _ r)

A = (p ^ (q _ r)) ! (:r ^ q)

f2 = (p ! r) ! A

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

 

 

 

 

 

0

0

0

1

1

0

0

0

1

1

0

0

1

0

1

1

0

0

1

1

0

1

0

1

1

1

1

0

1

1

0

1

1

0

1

1

0

0

1

1

1

0

0

1

0

0

0

0

1

1

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

1

1

1

1

1

1

0

1

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

Табл. 2: Таблиця iстиностi формули (2) Таблицею iстиностi формули логiки висловлень

f2 = (p ! r) ! ((p ^ (q _ r)) ! (:r ^ p))

(2)

¹ таблиця 2

1.2 Задання булево¨ функцi¨ рядком (кортежем, вектором)

В таблицях 1, 2 першi три стовпчики заповнюються стандартно, завжди однаково. Стовпчики з 4 по 9 ¹ технологiчними, вони важливi для одержання кiнцевого результату, але у вiдповiдi вiдсутнi. Тому iнформацiйним в таблицi значень задано¨ формули ¹ лише останнiй стовпчик. А це дозволя¹ задавати булеву функцiю саме цим стовпчиком,який простiше писати в рядок. Для наведених двох прикладiв (1) i (2) можна писати

f1 = (11111111);

f2 = (11111010):

Якщо функцiя задана кортежем довжини 2n, то формула ма¹ n пропозицiйних зиiнних, ¨х

позначення не мають значення.

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

4

значення. Ранiше частiше значення пiдформул писали в стовпчик так будемо чинити i в нашому курсi.

Крiм того, iсну¹ i iнший стандарт писати набори змiнний у зворотньому порядку, вiд одиничного до нульового.

1.3 Справжнi (сутт¹вi) та фiктивнi змiннi

У виразi

 

y2 + 1

 

 

f(x; y; z) = x +

¢ z ¡ x

 

y2 + 1

iз шкiльного курсу математики змiннi x; y ¹, але вони скорочуються, вiд них функцiя не залежить. Це так званi фiктивнi змiннi. В булевих функцiях фiктивнi змiннi визначаються так

Для функцi¨ f(x1; x2; : : : ; x1; xn) çìiííà xn назива¹ться фiктивною, коли для будьякого кортежу (x1; x2; : : : ; x1) викону¹ться рiвнiсть

f(x1; x2; : : : ; x1; 0) = f(x1; x2; : : : ; x1; 1):

Для функцi¨ f(x1; x2; : : : ; x1; xn) çìiííà xn назива¹ться справжньою або сутт¹вою, коли iсну¹ кортеж (x1; x2; : : : ; x1) такий, що

f(x1; x2; : : : ; x1; 0) 6= f(x1; x2; : : : ; x1; 1):

Óфункцi¨ f1(p; q; r), що задана формулою (1) з таблицею значень табл. 1 всi змiннi фiктивнi.

Àу функцi¨ f2(p; q; r), що задана формулою (2) з таблицею значень табл. 2, змiнна p ñóòò¹âà,

òîìó ùî

f(0; 0; 1) = 1;

f(1; 0; 1) = 0;

 

çìiííà r ñóòò¹âà, òîìó ùî

 

 

f(1; 1; 0) = 0;

f(1; 1; 1) = 1;

çìiííà q фiктивна, тому що

 

 

f(0; 1; 0) = f(0; 0; 0) = 1;

f(0; 1; 1) = f(0; 0; 1) = 1;

 

f(1; 1; 0) = f(1; 0; 0) = 1;

f(1; 0; 1) = f(1; 1; 1) = 0:

1.4 Домовленостi про дужки у формулах

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

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

5

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

Домовленiсть про зовнiшнi дужки: Якщо формула не використову¹ться для побудови iнших формул (тобто не ¹ пiдформулою), то зовнiшнi дужки можна не писати. Отже замiсть (p ^ q) можна писати p ^ q:

Домовленiсть про силу знакiв для позначення функцiй, зв'язок. ^ найсильнiший знак, _ слабший, ) ще слабший. Цi знаки роташовються за сво¹ю силою загальноприйнято. Решту символiв можна розташовувати за со¨ми вподобаннями. Так що замiсть (p _ (q ^ r)) можна писати p _ q ^ r.

Третя домовленiсть про лiве групування. Пояснимо прикладом: формула p ) q )

r ) s розумi¹ться як (((p ) q) ) r) ) s): Точно так же розумi¹ться бездужковий запис з використанням iншого функцiонального символа.

1.5 Рiвносильнi формули i основнi рiвносильностi.

Формули, що задають одну i ту ж функцiю називають рiвносильними. Рiвносильнi формули з'¹днують знаком =. Формули, що рiвносильнi 1, називають тавтологiями.

™ таблиця основних рiвносильностей. Наведемо ¨¨.

² p ^ p = p iдемпотентнiсть ^;

² p _ p = p iдемпотентнiсть _;

² p ^ q = q ^ p комутативнiсть ^;

² p _ q = q _ p комутативнiсть _;

² (p _ q) _ r = p _ (q _ r) асоцiативнiсть;

² (p ^ q) ^ r = p ^ (q ^ r) асоцiативнiсть;

² p ! q = :p _ q переписування iмплiкацi¨ через заперечення та диз'юнкцiю;

² (p ^ q) _ r = (p _ q) ^ (q _ r) дистрибутивнiсть;

² (p _ q) ^ r = (p ^ r) _ (q ^ r) дистрибутивнiсть;

² ::p = p подвiйне заперечення;

² :(p _ q) = :p ^ :q закон де Моргана;

² :(p ^ q) = :p _ :q закон де Моргана;

² 1 ^ p = p, 1 _ p = 1, 0 ^ p = 0, 0 _ p = p визначення констант.

² (p ^ q) _ p = p; (p _ q) ^ p = p; поглинання.

Вказанi рiвносильностi доводяться побудовою вiдповiдних таблиць iстиностi. Наведемо приклади використання найпростiших рiвносильнсотей.

x = x _ 0 = x _ (y ^ :y) = (x ^ y) _ (x ^ :y);

:(y ) x)^((y _:x) ) x) = :(:y _x)^(:(y _:x)_x) = (y ^:x)^((:y ^x)_x) = y ^:x^x = 0:

6

1.6 Полiноми Жегалкiна та лiнiйнi функцi¨

Операцi¨ додавання та множення на булевих знаеннях 0,1 вiдбува¹ться за правилами

1 + 1 = 0 = 0 + 0; 1 + 0 = 0 + 1 = 1; 1 ¢ 1 = 1;

1 ¢ 0 = 0 ¢ 1 = 0 ¢ 0 = 0:

Для булево¨ мiнно¨ x можна записати x2 = x; x + x = 0;

x = ¡x: Для того, щоб вiдрiзнити

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

+.

Полiномом (або многочленом) Жегалкiна вiд змiнних x1; x2; : : : xn називають вираз

f(x1; x2; : : : ; xn) =

1;2;:::;n

aM ¢ xi

(3)

M

i2M

 

 

µfX

g

Y

 

äå aM 2 f0; 1g сталi коефiцi¹нти полiнома Жегалкiна, a; Qi2; xi = a;.

Полiном Жегалкiна вважа¹ться нульовим, коли всi коефiцi¹нти дорiвнюють нулю.

Полiноми Жегалкiна вiд трьох змiнних x1; x2; x3 мають вигляд

a0 + a1x1 + a2x2 + a3x3 + a12x1x2 + a13x1x3 + a23x2x3 + a123x1x2x3

Прикладами полiномiв Жегалкiна ¹

1 + x1 + x2x3 + x2x5; x1x2 + x1x2x4:

Ëåìà 1.1 Ненульовий полiном Жегалкiна прийма¹ ненульове значення.

Доведення. Нехай ма¹мо ненульовий полiном Жегалкiна (3), тобто такий, що серед коефiцi¹нтiв aM ¹ одиниця. Для прикладу ввiзьмемо полiном

f(x1; x2; x3; x4; x5) = x1x3 + x1x4x5 + x2x3x4x5:

У сукупностi множин fMjaM = 1g вибира¹мо одну мiнiмальну (не мiститься в iншiй), позна- ча¹мо ¨¨ через N. В нашому випадку

a13 =6 0; a145 =6 0; a2345 =6 0;

i можна взяти N = 1; 3. Перепису¹мо полiном, видiливши один доданок

µfX g

Y

Y

µf

Xg 6

Y

aM ¢

 

xi = xi +

 

aM ¢

xi

M 1;2;:::;n

i2M

i2N

M

1;2;:::;n ;M=N

i2M

i пiдрахову¹мо тепер цей полiном на булевому векторi ® = (®1; ®2; : : : ; ®n) äå

½

0

ÿêùî

k 2= N:

®k =

1

ÿêùî

k 2 N

Серед доданкiв видiлений дорiвню¹ 1, а решта дорiвнюють 0. В нашому прикладi потрiбно взяти x1 = x3 = 1; x2 = x4 = x5 = 0: Вiд такого набору значень змiнних многочлен дорiвню¹

1. Лема 1.1 доведена.

Ëåìà 1.2 Рiзнi полiноми Жегалкiна задають рiзнi функцi¨.

7

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

Теорема 1.1 Кожна функцiя може бути задана полiномом Жегалкiна.

Доведення. Теорема ¹ наслiдком леми 1.2. Дiйсно, якщо пiдрахувати кiлькiсть функцiй та кiлькiсть полiномiв Жегалкiна вiд n змiнних, то тих i других 22n . À îñêiëüêè ðiçíi ïîëiíîìè

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

Покажемо на прикладi, як знайти полiном Жегалкiна, що зада¹ функцiю iз заданою таблицею значень.

Нехай ма¹мо двi функцi¨

f = (1110 0001); g = (0101 1010):

Оскiльки вектор значень ма¹ довжину 8 = 23; то обидвi функцi¨ вiд 3-х змiнних назвемо ¨х x; y; z: Запису¹мо шуканi полiноми з невiдомими коефiцi¹нтами. Принагiдно скажемо, що

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

Отже засосу¹мо метод невiдомих коефiцi¹нтiв:

f(x1; x2; x3) = a0 + a1x + a2y + a3z + a12xy + a13xz + a23yz + a123xyz;

g(x1; x2; x3) = b0 + b1x + b2y + b3z + b12xy + b13xz + b23yz + b123xyz:

У многочлени з невiдомими коефiцi¹нтами пiдставля¹мо значення змiнних i одержу¹мо (оскiльки значення функцi¨ нам вiдомi) рiвняння, якi послiдовно дають нам шуканi коефiцi¹нти. Результати запису¹мо в табличку

p

q

r

f

 

g

 

 

 

 

 

 

 

 

0

0

0

1

a0 = 1

0

b0 = 0

0

0

1

1

a3 = 0

0

b3 = 1

0

1

0

0

a2 = 0

0

b2 = 0

0

1

1

0

a23 = 1

0

b23 = 0

1

0

0

0

a1 = 1

0

b1 = 1

1

0

1

0

a13 = 0

0

b13 = 0

1

1

0

0

a12 = 0

0

b0 = 0

1

1

1

1

a123 = 0

0

b123 = 0

Знайшовши коефiцi¹нти, випису¹мо вiдповiдь:

f(x;y; z) = 1 + x + yz; g(x; y; z) = x + z:

Оскiльки полiном Жегалкiна для функцi¨ f мiстить доданок добуток змiнних yz, то функцiя не лiнiйна. А оскiльки полiном Жегалкiна для функцi¨ g не мiстить добуткiв змiнних, то функцiя g ëiíiéíà.

8

1.7Досконалi форми та задання функцi¨ формулою логiки висловлень

Розгляда¹мо булевi функцi¨ та булевi формули вiд n

¸ 1

çìiííèõ x

; x

; : : : ; x

 

: Для зручностi

нинiшньо¨ роботи введемо позначення:

 

1

 

 

 

 

, à

 

0 1

2

 

 

n

 

Таким чином

x

 

означа¹ просто

x

x

означа¹

:x:

1

0

1

x

 

x

 

x

 

 

 

 

 

 

 

 

 

 

 

x1

^ x2

^ x3 означа¹

^ :

2 ^

: Тепер ми можемо розглядати вираз (його також можна

 

®1

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

назвати формулою) x

 

ïðè ® 2 f0; 1g :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x® = ½ :x

ÿêùî

® = 0:

 

 

 

 

 

 

 

 

 

(4)

 

 

 

 

 

 

 

 

 

 

 

 

x

ÿêùî

® = 1;

 

 

 

 

 

 

 

 

 

 

Формула (4) дозволя¹ для будь-яко¨ послiдовностi ®1; ®2; : : : ; ®n нулiв та одиничок побудувати

формулу

x1®1

^ x2®2

^ : : : ^ xn®n :

(5)

 

Формула A âiä çìiííèõ x1; x2; : : : ; xn назива¹ться досконалою диз'юнктивною фор-

мою (скорочено ДДНФ), якщо для деяких рiзних формул A1; A2; : : : ; An, кожна з яких ма¹ вигляд (5), можна записати

A = A1 _ A2 _ : : : _ Ak; k ¸ 1:

Формули, що мають вигляд (5), називають кон'юнктами

Можна сказати, що ДДНФ це диз'юнкцiя рiзних кон'юнктiв. Наведемо приклади. Формули

:x1 ^ x2; (:x1 ^ x2) _ (x1 ^ x2) _ (:x1 ^ :x2)

¹ досконалими диз'нктивними формами вiд двох змiнних. А формули

(:x1 ^ x2) _ (x1 ^ x2 ^ x3); (:x1 ^ x2) _ (x1 ^ x2) _ (:x1 ^ x2)

не ¹ ДДНФ, оскiльки кон'юнкти першо¨ формули мають рiзнi кiлькостi змiнних, а серед кон'- юнктiв друго¨ ¹ однаковi.

Подiбно до формули (5), можна побудувати диз'юнкцiю змiнних та ¨х заперечень - кожна змiнна чи ¨¨ заперечення повиннi входити в таку формулу i до того ж тiльки один раз. Кон'юнкцiя таких формул (диз'юнктiв) буде називатися ДКНФ - досконалою кон'юнктивною формою.

Наведемо приклади. Формули

(x1 _ x2) ^ (:x1 _ x2); (:x1 _ x2 _ x3) ^ (x1 _ :x2 _ x3)

¹досконалими кон'юнктивними формами.

Àформули

(x1 _ x2) ^ (:x1 _ x2 _ x3); (:x1 _ x2 _ x3) ^ (x1 _ :x2 _ x3) ^ (:x1 _ x2 _ x3)

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

Для подальшо¨ роботи важливим ¹ те, що функцiя, яка задана формулою (5), прийма¹ значення 1 на ¹диному наборi змiнних: xi = ®i; i = 1; 2; : : : ; n:

Теорема 1.2 Будь-яка не тотожно хибна булева функцiя може бути задана ДДНФ. Будьяка не тотожно iстинна булева функцiя може бути задана ДКНФ.

9

Доведення. Нехай f(x1; x2; : : : ; xn) булева функцiя, яка при деяких значеннях змiнних прийма¹ значення 1. Для кожного набору змiнних (®1; ®2; : : : ; ®n), на якому функцiя прийма¹

значення 1, буду¹мо кон'юнкт

x1®1

^ x2®2 ^ : : : ^ xn®n

 

Диз'юнкцiя побудованих кон'юнктiв дасть нашу функцiю.

Нехай f(x1; x2; : : : ; xn) булева функцiя, яка при деяких значеннях змiнних прийма¹ зна- чення 0. Для кожного набору змiнних (®1; ®2; : : : ; ®n), на якому функцiя прийма¹ значення 1,

áóäó¹ìî äèç'þíêò

x11

_ x22 _ : : : _ xnn

 

Кон'юнкцiя побудованих диз'юнктiв дасть нашу функцiю. Наведемо приклад.

Приклад 1.1 . Привести формулу f до ДДНФ побудувати ДДНФ, що рiвносильна заданiй формулi

à) f = (q ! p) ! (q ^ :r)

Розв'язування. Буду¹мо таблицю значень булевой функцi¨, що задана формулою f. Äàëi

за кожною одиницею буду¹мо вiдповiдний кон'юнкт. Диз'юнкцiя побудованих кон'юнктiв i ¹ потрiбна нам ДДНФ

p

q

r

:r

q ! p

q ^ :r

(q ! p) ! (q ^ :r)

Кон'юнкти

Диз'юнкти

0

0

0

1

1

0

0

 

p _ q _ r

0

0

1

0

1

0

0

:p ^ q ^ :r

p _ q _ :r

0

1

0

1

0

1

1

 

0

1

1

0

0

0

1

:p ^ q ^ r

:p _ q _ r

1

0

0

1

1

0

0

 

1

0

1

0

1

0

0

p ^ q ^ :r

:p _ q _ :r

1

1

0

1

1

1

1

:p _ :q _ :r

1

1

1

0

1

0

0

 

Ïîòðiáíîþ ÄÄÍÔ áóäå (:p ^ q ^ :r) _ (:p ^ q ^ r) _ (p ^ q ^ :r):Ïîòðiáíîþ ÄÊÍÔ áóäå

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

á) (p ! q) ! (q ^ :r)

p

q

r

:r

p ! q

q ^ :r

(p ! q) ! (q ^ :r)

Кон'юнкты

Диз'юнкти

0

0

0

1

1

0

0

 

p _ q _ r

0

0

1

0

1

0

0

:p ^ q ^ :r

p _ q _ :r

0

1

0

1

1

1

1

p _ :q _ :r

0

1

1

0

1

0

0

p ^ :q:r

1

0

0

1

0

0

1

 

1

0

1

0

0

0

1

p ^ :q ^ r

 

1

1

0

1

1

1

1

p ^ q ^ :r

:p _ :q::r

1

1

1

0

1

0

0

 

Ïîòðiáíîþ ÄÄÍÔ áóäå (:p ^ q ^ :r) _ (p ^ :q:r) _ (p ^ :q ^ r) _ (p ^ q ^ :r): Ïîòðiáíîþ ÄÊÍÔ áóäå (p _ q _ r) ^ (p _ q _ :r) ^ (p _ :q _ :r) ^ (:p _ :q::r):

10

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