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

КДМ / Lektsii-DM

.pdf
Скачиваний:
45
Добавлен:
03.03.2016
Размер:
2.44 Mб
Скачать

83

4.9 Вираз одних елементарних ФАЛ через інші

x1 x2 x1 x2

x1 x2 x1 x2 x1 x2 x1 x2 (x1 x2 ) (x1 x2 ) x1 x2 x1 x2 x1 x2 x1 x2 (x1 x2 ) (x1 x2 )

x1 x2 x1 x2 x1 x2 x1 x2

x1 | x2 x1 x2 x1 x2 x1 x2 x1 x2 x1 x2

4.10 Канонічні способи аналітичного завдання булевих функцій

Розглянемо методи переходу від табличного способу завдання функцій алгебри логіки до канонічних аналітичних способів опису.

4.10.1 Диз'юнктивна та кон'юнктивна нормальні форми Елементарна кон'юнкція – кон'юнкція, у якій кожна змінна зустрічається

не більш одного разу.

Елементарна диз'юнкція – диз'юнкція, у якій кожна змінна зустрічається не більш одного разу.

Диз'юнктивна нормальна форма (ДНФ) – диз'юнкція елементарних кон'юнкцій.

Кон'юнктивна нормальна форма (КНФ) – кон'юнкція елементарних диз'юнкцій.

Наприклад.

Використовуючи закони алгебри логіки перетворити по кроках функцію F(x,y,z) у ДНФ. Для отриманого результату скласти таблицю істинності.

Розв'язання.

Виконаємо перетворення у ДНФ по кроках.

1. z x z x .

84

2.z x xz .

3.y z y z y z .

4.x z y x y z .

5. x y z x y z x y z x y z x (y z) x y z xy xz .

6. ( x y z x y x z) x y z

( x y z x y x z) x y z x y z x y x z x y z

( x y z x y x z ) (x y z ) (x y z x y x z ) x y z

(x xy z x xy x xz y xy z y xy y xz z xy z z xy z xz)

(xy z xy xz) xy z (xy z xy z xy z xy z xy z) (xy z xy xz) xyz

(xy z xy z xy z) (x y z) (x y) (x z) xy z

(xy z xy z xy z) (x y z) (x y ) (x xyz z xyz)

(xy z xy z xy z) (x y z) (x y ) 0 xy z xy z xy z.

Складемо таблицю істинності для отриманого результату.

Таблиця істинності для F(x,y,z)

x

y

z

0

0

0

0

1

0

0

1

2

0

1

0

3

0

1

1

4

1

0

0

5

1

0

1

6

1

1

0

7

1

1

1

 

 

 

 

 

x

 

y

 

z

 

x y z

 

x y z

 

x y z

 

 

F(x,y,z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

1

 

0

 

0

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

1

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

1

0

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Останній стовпець цієї таблиці збігається зі стовпцем завдання функції F(x,y,z), отже, переклад у ДНФ вірний.

85

4.10.2 Диз'юнктивна досконала нормальна форма (ДДНФ)

Нехай ( x1 ,x2 ,..., xn ) є двійковий набір із номером i , що визначається таким чином: i #(x1 ,x2 ,..., xn ) x1 2n 1 x2 2n 2 ... xn 20 .

Введемо функцію Fi (x1 ,x2 ,..., xn ), що визначається співвідношенням:

 

1,

# x

1

,x

2

,...,x

n

i

Fi (x1 ,x2

 

 

 

 

 

 

 

 

.

,...,xn )

0,

# x

 

 

,x

 

 

,...,x

 

 

 

 

1

2

n

i

 

 

 

 

 

 

 

 

 

Таку функцію будемо називати характеристична функція одиниці.

Наприклад.

x

y

F0 (x,y)

F1 (x,y)

F3 (x,y)

 

 

 

 

 

 

0

0

0

1

0

0

 

 

 

 

 

 

1

0

1

0

1

0

2

1

0

0

0

0

3

1

1

0

0

1

Теорема 1:

про диз’юнктивне подання ФАЛ

Будь-яка таблично задана ФАЛ f (x1 ,x2 ,...,xn ) (крім тотожного нуля) може бути представлена в наступному аналітичному вигляді:

f (x1 , x2 , , xn ) Fi1 Fi2 ... Fik

 

Fi

j

,

(1)

 

 

ij T1

 

 

тобто як диз'юнкція характеристичних функцій одиниці, взятих на одиничних наборах функції f (x1 ,x2 ,...,xn ) .

Подання ФАЛ у виді (1) називається диз'юнктивним поданням функції f (x1 ,x2 ,...,xn ) .

Доведення.

Візьмемо довільний набір аргументів ( x*1 ,x*2 ,..., x*n ) вхідної, таблично заданої ФАЛ f (x1, x2 , , xn ) .

86

 

 

 

 

 

 

 

Нехай його номер дорівнює

i* #(x1 ,x2 ,..., xn ). На цьому наборі ФАЛ

може бути або 1, або 0. Розглянемо ці два варіанти.

 

 

 

1) Нехай f (x*

, x*

, , x* ) 1.

 

 

 

 

 

1

2

n

 

 

 

 

Потрібно показати, що і права частина (1) на цьому наборі звертається в 1.

Так як #(x*

,x* ,..., x* ) i* , отже,

i* T . Тому в

правій

частині (1) існує

1

2

n

 

1

 

 

 

характеристична функція одиниці з номером: i* : F

 

F

. За визначенням,

 

 

 

 

i*

ij T1

ij

 

Fi* (x*1 , x*2 , , x*n ) 1 , але тоді, за властивостями операції диз'юнкція (1 x 1), і

вся права частина (1) на наборі i* звертається в 1:

f (x*1, x*2, , x*n ) Fi1 Fi2 ... Fi* ... Fik Fi1 Fi2 ... 1 ... Fik 1. 2) Нехай f (x*1 , x*2 , , x*n ) 0 .

Потрібно показати, що і права частина (1) на цьому наборі звертається в 0.

Так як #(x*

,x*

,..., x* ) i* ,

отже, i* T

. Тому в правій частині (1) не існує

1

2

 

n

0

 

 

 

 

 

характеристичної

функції

одиниці з

номером:

i* : F

F

.

Тоді, усі

 

 

 

 

 

 

i*

ij T1 ij

 

 

характеристичні функції правої частини (1) на наборі i* звертаються в 0.

За властивостями операції диз'юнкція вся права частина (1) на наборі i* звертається в 0 ( 0 0 0 ). Так як показано, що ліва і права частина співвідношення (1) збігаються на будь-якому наборі аргументів, отже, теорема 1 доведена.

Слідство із теореми 1

Будь-яка таблично задана ФАЛ логіки f (x1 , x2 , , xn ) (крім тотожного нуля) може бути представлена в наступному аналітичному вигляді (2):

f (x1, x2

, , xn ) Fi

Fi

2

... Fi

k

Fi

.

(2)

 

1

 

 

ij T1

j

 

 

 

 

 

 

 

 

 

 

 

Представлення ФАЛ у вигляді (2) – поліноміальне подання ФАЛ. Доведення.

87

У теоремі 1 використовувалася диз'юнкція характеристичних функцій одиниці. Подивимося, чи не можна замінити операцію диз'юнкція на яку-небудь іншу операцію таким чином, щоб (1) залишалося вірною рівністю. Для цього візьмемо дві різні характеристичні функції одиниці: Fi Fj i j .

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

співпадає із диз'юнкцією на наборах із номерами 0,1,2

і може відрізнятися на

забороненому наборі (що ніколи не може зустрітися) із номером 3 .

 

 

 

З аналізу наступної

таблиці видно, що

такою

операцією

є операція

"складання за модулем 2".

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

¹

 

Fi

 

Fj

 

Fi Fj

 

Fi ?Fj

 

Fi Fj

 

0

 

0

 

0

 

0

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

1

 

1

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

1

 

0

 

1

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

1

 

1

 

1

 

 

?

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 2: про ДДНФ

 

 

 

 

 

Будь-яка таблично задана ФАЛ f (x1 , x2 , , xn )

(крім тотожного нуля)

може бути представлена в наступному аналітичному вигляді (3):

 

 

 

 

 

f ( x1 ,x2 ,...,xn ) x1 1 x2 2 ... xnn .

(3)

 

 

 

 

 

 

T1

 

 

 

 

 

 

 

 

Представлення

ФАЛ

 

у вигляді

(3)

називається диз'юнктивною

досконалою нормальною формою цієї функції (ДДНФ).

Доведення.

Введемо наступні позначення. "Степенем" аргументу назвемо:

x,

1

.

 

x

0

 

x,

 

 

Розглянемо кон'юнкцію виду: x1 1 x2 2 ... xn n .

(4)

88

Набір ( *1 , *2 ,..., *n ) є двійковим, тому існує рівно 2n різних таких наборів. Отже, і кон'юнкцій виду (4) існує рівно 2n . Зіставимо кожній кон'юнкції виду (4) номер, який визначається номером набору: ( *1 , *2 ,..., *n ).

Тоді, запис

 

x1 1

x2 2

... xn n i

означає

диз'юнкцію усіх кон'юнкцій із

 

i T1

 

 

 

 

 

номерами з множини T1 .

 

 

 

Покажемо,

що

xi i

1 тоді і

тільки

тоді, коли виконується рівність

xi i . Це випливає з розгляду 4 можливих випадків:

xi 00i

xi 01i

xi 10i

xi 11i

xi i xi 1.

xi i xi 0.

xi i xi 0.

xi i xi 1.

Таким чином, кон'юнкція x1 1 x2 2 ... xn n не звертається в нуль тільки у тому випадку, якщо одночасно виконуються наступні n рівностей:

x1 1;x2 2;

.......

xn n .

З попереднього співвідношення випливає, що:

Fi (x1,x2 ,...,xn ) x1 1 x2 2 ... xn n

 

за умови, що i

2n 1

2

2n 2 ...

n

20.

 

 

 

 

 

 

 

1

 

 

 

 

 

Тоді,

на

підставі

теореми

 

1

про диз'юнктивне подання ФАЛ маємо:

f (x

,x

 

,...,x

 

) x 1

x 2 ... x n

, що й потрібно було довести.

1

 

2

 

n

 

T1 1

2

n

 

 

 

 

 

89

Алгоритм переходу від табличного завдання ФАЛ до ДДНФ

1. Вибрати в таблиці завдання ФАЛ усі набори аргументів, на яких функція дорівнює одиниці.

2. Виписати елементарні кон'юнкції, що відповідають цим наборам аргументів. При цьому, якщо аргумент xi входить у даний набір як 1, він вписується без зміни в кон'юнкцію, що відповідає даному набору. Якщо xi входить у даний набір як 0, то в кон'юнкцію вписується його заперечення.

3. Отримані елементарні кон'юнкції об’єднуються між собою операцією диз’юнкція.

4.10.3 Кон'юнктивна досконала нормальна форма (КДНФ)

Для отримання канонічного представлення іншого типу, через операцію кон’юнкція, введемо характеристичну функцію нуля:

 

 

0,

# x1 ,x2

,...,xn i

i (x1 ,x2

 

,...,xn )

1,

# x

 

,x

 

,...,x

 

.

 

 

1

2

n

i

 

 

 

 

 

 

 

Теорема 3: про кон'юнктивне подання ФАЛ

Будь-яка таблично задана функція алгебри логіки f (x1 , x2 , , xn ) (крім тотожної одиниці) може бути представлена в наступному аналітичному вигляді

(5):

f (x1 , x2 , , xn ) i1 i 2 ... ik

 

 

i

j

.

(5)

 

 

i j T0

 

 

 

тобто як кон'юнкція характеристичних функцій нуля i , взятих на нульових наборах функції f (x1 , x2 , , xn ) .

Представлення ФАЛ у вигляді (5) – кон'юнктивне подання ФАЛ.

Слідство із теореми 3

Будь-яка таблично задана функція алгебри логіки f (x1 , x2 , , xn ) (крім тотожної одиниці) може бути представлена в наступному аналітичному вигляді

(6):

90

f (x1, x2

, , xn ) Ôi

Ôi

2

... Ôi

k

 

Ôi

.

(6)

 

1

 

 

 

ij T0

j

 

 

 

 

 

 

 

 

 

 

 

 

Перейдемо до аналітичного поданням самих характеристичних функцій.

Теорема 4: про КДНФ

Будь-яка таблично задана ФАЛ f (x1 ,x2

,...,xn )

(крім тотожної одиниці)

може бути представлена в наступному аналітичному вигляді:

 

 

 

 

 

 

 

 

 

 

f(x1 ,x2

1

 

2

 

n

(7)

,...,xn ) & x1

 

x2

... xn

 

T

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

Подання ФАЛ у такому виді називається кон'юнктивною досконалою нормальною формою цієї функції (КДНФ).

Алгоритм переходу від табличного завдання ФАЛ до КДНФ

1.Вибрати в таблиці завдання ФАЛ усі набори аргументів, на яких функція дорівнює нулю.

2.Виписати елементарні диз'юнкції, що відповідають цим наборам аргументів. При цьому, якщо аргумент xi входить у даний набір як 0, він

вписується без зміни в диз'юнкцію, що відповідає даному набору.

Якщо xi входить у даний набір як 1, то в диз'юнкцію вписується його заперечення.

3. Отримані елементарні диз'юнкції об'єднуються між собою із застосуванням операції кон'юнкція.

Наприклад.

Побудувати ДДНФ та КДНФ для функції F(x,y,z) :

F(x,y,z) x y z y&(z x).

Розв'язання.

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

 

 

 

 

 

91

Випишемо

кон'юнкції,

що

відповідають

обраним

рядкам:

x y z, x y z, x y z .

 

 

 

 

 

 

 

 

 

 

x

y

z

F(x,y,z)

 

 

 

 

 

0

0

0

0

0

 

 

 

 

 

1

0

0

1

1

 

 

 

 

 

2

0

1

0

1

 

 

 

 

 

3

0

1

1

0

 

 

 

 

 

4

1

0

0

1

 

 

 

 

 

5

1

0

1

0

 

 

 

 

 

6

1

1

0

0

 

 

 

 

 

7

1

1

1

0

 

 

 

 

 

З'єднуючи ці кон'юнкції операцієй диз'юнкція, одержуємо ДДНФ:

F(x,y,z) x y z x y z x y z .

Для знаходження КДНФ вибираємо з таблиці тільки ті рядки, у яких розташовано набори значень аргументів, на яких функція дорівнює нулю.

Випишемо відповідні диз'юнкції й з'єднаємо їх знаками кон'юнкції:

F(x,y,z) (x y z) (x y z) (x y z) (x y z) (x y z) .

4.10.4 Повні системи ФАЛ

Система ФАЛ {f1 ,f2 ,...,fn } називається повної в деякому класі функцій,

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

Система ФАЛ, що є повної в деякому класі функцій, називається базисом. Мінімальним базисом називається такий базис, для якого видалення хоча б однієї з функцій fi , які його утворять, перетворює цю систему функцій у

неповну.

Будь-яка функція може бути представлена за допомогою елементарних функцій { ,&, }. Ця система ФАЛ утворить універсальний базис.

92

Найбільш популярними в алгебрі логіки є базиси { , },{ ,&} ,{ },{|}, які є мінімальними.

Наприклад.

Представити функціюF(x,y,z) x y z y &(z x) в базисах { , } , { ,&} , {|}. Для перевірки результату скласти таблицю істинності.

Розв'язання.

Для представлення функції F(x,y,z) у базисі { , } застосуємо закони заперечення заперечення та де Моргана до кожної кон’юнкції ДДНФ функції:

F(x,y,z) x y z x y z x y z x y z x y z x y z .

Для представлення функції F(x,y,z) у базисі { ,&} застосуємо закони заперечення заперечення та де Моргана в цілому до ДДНФ:

F(x,y,z) xy z x y z x y z xy z x y z x y z .

Для представлення функції у базисі {|} застосуємо наступні співвідношення до ДДНФ функції:

x y x | y x y x | y . x x | x

Позначимо

F(x,y,z) xy z xy z xy z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

B

C

Виконаємо переклад у базис {|} по діях.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

 

 

 

 

 

(x y) z

 

 

 

 

 

z

 

 

| z [(x | (y | y)) | (x | (y | y)) | (z | z)] |

 

A

(x | y)

x | y

 

|[(x | (y | y)) | (x | (y | y)) | (z | z)].

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

 

 

 

 

(x y) z

 

 

 

| z [((x | x) | (y | y)) | ((x | x) | (y | y)) | z] |

B

x | y

|[((x | x) | (y | y)) | ((x | x) | (y | y)) | z].

 

 

 

 

 

 

 

 

3.

 

 

 

 

x y z

 

 

 

| z [((x | x) | y) | ((x | x) | y) | (z | z)] |

 

C

x | y

|[((x | x) | y) | ((x | x) | y) | (z | z)].

 

 

 

Соседние файлы в папке КДМ