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

ДМ_МУ_практ(1 часть)

.pdf
Скачиваний:
101
Добавлен:
16.03.2016
Размер:
1.51 Mб
Скачать

покриття); основні підходи для розв’язання задачі мінімізації булевих функцій у сучасній теорії й практиці алгебри логіки; операції диз’юнктивного і кон’юнктивного склеювання і поглинання; аналіз деяких аналітичних і геометричних методів одержання мінімальних ДНФ (КНФ) (метод Квайна-Мак- Класки, метод Порецького-Блейка, метод мінімізуючих карт (діаграми КарноВейча), метод багатомірних кубів та ін.); методика використання мінімізуючих карт (методика діаграм Карно і Вейча).

Підготовка і виконання практичного заняття проводиться у два етапи. Перший етап пов’язаний з вивченням на практичних прикладах

наступних основних понять і визначень: булевий базис; індекс (коефіцієнт) простоти; імпліканта; повна система імплікант; власна частина кон’юнкції; проста імпліканта; скорочена, тупикова ДНФ; мінімальна ДНФ (МДНФ); імпліцента, проста імпліцента, повна система імпліцент, скорочена, тупикова КНФ; мінімальна КНФ (МКНФ); неповне диз’юнктивне склеювання; диз’юнктивне поглинання; повне диз’юнктивне склеювання; неповне кон’юнктивне склеювання; кон’юнктивне поглинання; повне кон’юнктивне склеювання; мінімізуючі карти (діаграми Карно-Вейча).

При виконанні першого етапу практичного заняття студент повинен запропонувати і записати індивідуальний приклад для кожного з розглянутих вище понять і визначень. Другий етап виконання практичного заняття пов’язаний з розв’язанням практичних завдань, представлених у підрозділі 6.3, на основі запропонованих типових прикладів (див. підрозділ 6.4).

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

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

1.Що являє собою булевий базис? Чим обумовлений вибір базису при проектуванні логічних схем?

2.Що являє собою індекс (коефіцієнт) простоти? Наведіть приклади індексів простоти.

3.Які існують підходи для розв’язання задач мінімізації булевих функцій в аналітичному виді?

4.Запишіть формули операцій диз’юнктивного склеювання і поглинання.

5.Запишіть формули операцій кон’юнктивного склеювання і поглинання.

6.Дайте визначення термінам «імпліканта», «імпліцента», «проста імпліканта», проста «імпліцента».

7.Що являє собою скорочена ДНФ і скорочена КНФ?

41

8.Дайте визначення тупикової ДНФ. Скільки тупикових ДНФ може мати булева функція?

9.Яка із ДНФ (КНФ) називається мінімальною ДНФ (мінімальною

КНФ)?

10.Що являють собою карти Карно (діаграми Вейча)?

11.Назвіть правило склеювання комірок і запису мінімальної ДНФ при використанні карт (діаграм) Карно.

12.Як здійснюється побудова карти Карно для функції п’яти змінних?

13.Опишіть особливості мінімізації булевих функцій на множині КНФ із використанням мінімізуючих карт.

14.Яким чином здійснюється мінімізація частково визначених функцій?

6.3.2Контрольні завдання

Завдання

1. За допомогою

співвідношень виду x yz (x y)(x z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перетворити ДНФ f ДНФ (x, y, z) x y xz до КНФ.

 

Завдання 2. Побудувати всі тупикові ДНФ наступних функцій:

 

а)

f (x, y, z) (01111110) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

f (x, y, z,t) (1110011000010101) ;

 

 

 

 

 

 

 

 

 

 

 

 

в)

f (x, y, z,t) (0110101111011110).

 

 

 

 

 

 

 

 

 

 

 

 

Завдання 3. З’ясувати, чи є тупиковими або мінімальними наступні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДНФ:

а)

f (x, y) xy y ;

 

 

б)

f (x, y, z,t) zt x yt x yz ;

в)

f (x, y, z,t) xy xz yzt yz .

Завдання 4. Використовуючи карти Карно-Вейча, побудувати мінімальну ДНФ і мінімальну КНФ за таблицею істинності булевої функції f (x, y, z) (табл.

6.1 ).

Таблиця 6.1 Таблиця істинності функції f (x, y, z)

x

y

z

f (x, y, z)

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

1

1

1

1

1

42

Завдання 5.

Побудувати мінімальні ДНФ і мінімальні КНФ, використовуючи карти Карно-Вейча (табл. 6.2 6.4).

Таблиця 6.2 Карта Карно-Вейча функції f * (x, y, z,t)

xy

00

01

11

10

zt

 

 

 

 

00

1

1

1

1

01

1

0

0

1

11

1

1

1

0

10

0

1

1

0

Таблиця 6.3 Карта Карно-Вейча функції (x, y, z,t)

xy

00

01

11

10

zt

 

 

 

 

00

0

1

1

0

01

0

1

1

0

11

1

0

0

1

10

1

0

0

1

Таблиця 6.4 Карта Карно-Вейча функції (x, y, z,t)

xy

00

01

11

10

zt

 

 

 

 

00

0

1

0

1

01

0

1

1

0

11

0

0

0

0

10

1

0

0

1

Завдання 6. Побудувати карти Карно-Вейча для наступних функцій:

а) f (x, y, z,t) xyzt xyzt x yzt xyzt;

б) f (x, y, z,t) x yzt xyzt x yzt xyzt;

в) f (x, y, z,t) xyzt x yzt x yzt xyzt;

г) f (x, y, z,t) xy zt xyzt x yzt xyzt;

д) f (x, y, z,t) (x y z t) (x y z t) (x y z t)

(x y z t) (x y z t) .

43

Завдання 7. Знайти мінімальні ДНФ частково визначених функцій, які

задано наступними картами (діаграмами) Карно-Вейча (табл. 6.5, 6.6).

 

Таблиця

6.5

 

Карта

Карно-Вейча

частково

визначеної

булевої

функції f * (x, y, z,t)

 

 

 

 

 

 

 

 

xy

00

 

01

11

 

10

 

 

 

 

zt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

х

 

0

0

 

х

 

 

 

 

01

 

1

 

х

1

 

1

 

 

 

 

11

 

0

 

0

х

 

0

 

 

 

 

10

 

х

 

0

х

 

х

 

 

 

 

Таблиця

6.6

 

Карта

Карно-Вейча

частково

визначеної

булевої

функції f (x, y, z,t)

 

 

 

 

 

 

 

 

xy

00

 

01

11

 

10

 

 

 

 

zt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

1

 

х

1

 

1

 

 

 

 

01

 

х

 

1

х

 

х

 

 

 

 

11

 

0

 

х

0

 

0

 

 

 

 

10

 

1

 

0

0

 

1

 

 

 

 

Завдання 8.

Знайти мінімальні КНФ частково визначених функцій, які задано наступними картами (діаграмами) Карно-Вейча (табл. 6.7, 6.8).

Таблиця 6.7 Карта Карно-Вейча частково визначеної функції * (x, y, z,t)

xy

00

01

11

10

zt

 

 

 

 

00

1

1

1

х

01

1

0

1

1

11

х

х

1

х

10

1

1

1

х

44

Таблиця 6.8 Карта Карно-Вейча частково визначеної функції (x, y, z,t)

xy

00

01

11

10

zt

 

 

 

 

00

х

0

1

1

01

1

1

х

х

11

0

х

0

0

10

1

1

0

х

Завдання 9.

Побудувати мінімальну ДНФ для функції

f (x, y, z,t, w) x y ztw x yztw x yzt w x yztw x yztw xyztw x yztwx yztw x yztw x yztw.

Завдання 10. Побудувати мінімальну КНФ для функції

f (x, y, z,t, w) (x y z t w) (x y z t w) (x y z t w)

(x y z t w) (x y z t w) (x y z t w) (x y z t w)

(x y z t w) (x y z t w) .

6.4 Приклади аудиторних і домашніх завдань

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завдання 1. Провести порівняння тупикових ДНФ F1 y z x z xz yz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

F2 y z x z x y логічної функції

f (x, y, z) ,

використовуючи наступні

індекси простоти: LБ (F ) , LК (F) , LИ (F ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Розв’язок.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обчислимо

індекси

простоти

для функцій

F1 y z x z xz yz і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F2

y z x z x y .

Для функції F1 :

LБ (F1 ) 8 ,

LК (F1 ) 4 ,

 

 

LИ (F1 ) 4 . Для

функції F2 : LБ (F2 ) 6, LК (F2 ) 3, LИ (F2 ) 3 . Зрівняємо відповідні індекси

простоти для двох функцій:

LБ (F1 ) LБ (F2 ) , тому що

8 6 ,

отже, функція F2

простіше, ніж F1 ;

LК (F1 ) LК (F2 ) , тому що 4 3 ,

отже, функція F2 простіше,

ніж F1 ; LИ (F1 ) LИ (F2 ) , тому що 4 3 , отже, функція F2 простіше, ніж F1 .

 

 

 

 

 

 

 

 

 

Завдання 2.

За допомогою перетворень виду

Ax Ax A й A A A

перейти від заданої ДНФ f ДНФ (x, y, z) x y xz до ДКНФ.

Розв’язок.

fСДНФ (x, y, z) x y xz x y(z z) xz( y y) x yz x y z x z y x yz .

45

Завдання 3. Знайти мінімальну ДНФ для булевої функції f (x, y, z) x y z x y z x y z x yz .

Розв’язок.

Побудуємо карту Карно для заданої функції (рис. 6.1).

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 6.1 − Карта Карно для функції

f (x, y, z) x y z x y z x y z x yz

Мінімальна

ДНФ

буде

представлена

 

у

 

 

 

вигляді

fМДНФ (x, y, z) A B C x y z y z x y .

Завдання 4. Знайти мінімальну диз’юнктивну нормальну форму для функції f (x, y, z) x yz x y z x yz x yz x y z x y z x y z .

Розв’язок.

Побудуємо карту Карно для заданої функції (рис. 6.2).

 

Рисунок 6.2 − Карта Карно для функції f (x, y, z)

 

Мінімальна

ДНФ

буде

представлена

у

вигляді

fМДНФ (x, y, z) A B C y z x .

Завдання 5. Побудувати мінімальну диз’юнктивну нормальну форму функції f (x, y, z,t) x yzt x yzt x yzt x yzt x y zt x yzt x y zt x yzt .

Розв’язок. Побудуємо відповідну карту Карно (рис. 6.3).

Рисунок 6.3 − Карта Карно для функції f (x, y, z,t)

46

Запишемо мінімальну ДНФ, з’єднуючи диз’юнкцією прості імпліканти

A, B, C, D : f (x, y, z,t) y z yt x zt x yzt .

Завдання 6. Одержати мінімальну КНФ функції, яка задана ДКНФ :

f (x, y, z,t, w) (x y z t w)(x y z t w)(x y z t w)(x y z t w) (x y z t w)(x y z t w)(x y z t w)(x y z t w)(x y z t w) (x y z t w).

Розв’язок. Дана функція дорівнює нулю на наступних інтерпретаціях:

(0,0,0,0,0), (0,0,0,0,1), (0,0,1,0,0,), (0,0,1,1,0), (0,1,1,0,0), (0,1,1,1,0), (1,0,0,0,0),

(1,0,0,0,1), (1,1,1,0,0), (1,0,1,1,1). Карта Карно (діаграма Вейча) для даної функції буде мати вигляд, представлений на рис. 6.4.

Рисунок 6.4 − Карта Карно для функції f (x, y, z,t, w) Запишемо мінімальну КНФ:

f (x, y, z,t, w) A B C D ( y z t)(x z w)(y z t w)(x y z t w) .

Завдання 7. Функція f (x, y, z,t) дорівнює одиниці на наборах (0,0,1,0), (0,1,1,0), (1,0,1,0), (1,0,0,0) і не визначена, якщо xy 1. Побудувати мінімальну ДНФ даної функції.

Розв’язок. Складемо карту Карно для заданої функції (рис. 6.5).

Рисунок 6.5 − Карта Карно для частково визначеної функції f (x, y, z,t)

Мінімальна ДНФ буде мати такий вигляд f (x, y, z,t) A B zt xt .

47

7 ФУНКЦІОНАЛЬНА ПОВНОТА НАБОРІВ БУЛЕВИХ ФУНКЦІЙ

7.1 Мета заняття

Ознайомлення c найважливішими замкненими класами булевих функцій (класами Поста), з поняттям повноти булевих функцій. Вивчення на практичних прикладах способів визначення типів булевих функцій і методу визначення функціональної повноти булевих функцій за допомогою теореми Поста.

7.2 Методичні вказівки з організації самостійної роботи студентів

Під час підготовки до практичного заняття необхідно повторити лекційний матеріал, розділи літератури [1-10] з таких питань: алгебра Жегалкіна, основні поняття; тотожності алгебри Жегалкіна; поліном Жегалкіна, методи його побудови і аналізу; визначення лінійності булевих функцій; типи булевих функцій; функції, що зберігають 0 і функції, що зберігають 1; монотонність булевих функцій, способи визначення монотонності булевих функцій; замкнення множини булевих функцій і замкнені класи; характеристика класів Поста; критерії повноти Поста; функціонально повна система функцій у слабкому розумінні; теорема Поста про функціональну повноту.

Підготовка і виконання практичного заняття проводиться за два етапи. Перший етап пов’язаний з вивченням на практичних прикладах

наступних основних понять і визначень: алгебра Жегалкіна; поліном Жегалкіна; довжина полінома Жегалкіна; ранг елементарної кон’юнкції; лінійна булева функція; функція, що зберігає 0; функція, що зберігає 1; монотонна булева функція; замкнення множини A булевих функцій; замкнений клас; класи Поста; функціонально повна система функцій; функціонально повна система функцій у слабкому у слабкому розумінні; мінімально повний базис; нескоротна система булевих функцій.

При виконанні першого етапу практичного заняття студент повинен запропонувати і записати індивідуальний приклад для кожного з розглянутих вище понять і визначень.

Другий етап виконання практичного заняття пов’язаний з розв’язанням практичних завдань, які представлені у підрозділі 7.3, на основі запропонованих типових прикладів (див. підрозділ 7.4).

48

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

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

1.Перелічить основні типи булевих функцій.

2.Дайте визначення булевих функцій, що зберігають 0 і 1.

3.Яка кількість всіх булевих функцій n змінних зберігає константу 0 і константу 1?

4.Яка функція називається монотонною булевою функцією?

5.Як, аналізуючи диз’юнктивну нормальну форму булевої функції, можна визначити, монотонна функція, чи ні?

6.Запишіть і поясніть структуру алгебри Жегалкіна.

7.Перелічить основні закони і тотожності алгебри Жегалкіна.

8.Дайте визначення поняттю поліному Жегалкіна.

9.Дайте визначення лінійності булевої функції.

10.Наведіть приклади лінійних і нелінійних функцій двох змінних.

11.Перелічить найважливіші замкнені класи булевих функцій.

12.Яка система булевих функцій називається функціонально повною?

13.Сформулюйте теорему про повноту двох систем булевих функцій.

14.Наведіть визначення функціональної повноти в слабкому розумінні.

15.Яка повна система булевих функцій є нескоротною.

16.Сформулюйте теорему Поста про повноту булевих функцій.

7.3.2Контрольні завдання

Завдання 1. Визначити, чи зберігають 0 і 1 наступні булеві функції: а)

f (x, y) (x ~ y) ( y x) ; б)

f (x, y, z) (x y) (x z) ( y z) ;

в)

 

 

 

 

 

 

f (x, y, z) (x y) (x

z

) ( y z) ;

г)

f (x, y) (x y) ( y x);

д)

 

 

 

 

f (x, y, z) (x y) (x |

z

) ( y ~ z) .

 

 

 

Завдання 2. Визначити кількість самодвоїстих функцій з числа всіх функцій n змінних y f (x1, x2 , ..., xn ) , де n 3 і n 4.

Завдання 3. Визначити відношення порядку для інтерпретацій функції f (x, y, z) .

Завдання 4. Провести дослідження наступних функцій на монотонність:

а) yx y ; б) x y y x ; в)

x ~ y ; г) x ( y x) , д)

x (x y) , е)

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

 

 

49

Завдання 5. Довести монотонність наступних функцій:

а) x ( y z) ; б) x ( y z) ; в) x y z ; г) x y z .

Завдання 6. Представити у вигляді полінома Жегалкіна наступні логічні функції: а) (xz y)(x y x y z)(x y) ; б) ((y z)(t yz)) t x ((z y)(t z); в)

(t xt x)(y (t tz))z xt .

Завдання 7.

Методом невизначених коефіцієнтів побудувати поліном Жегалкіна для наступних функцій: а) f (x, y) (1001) ; б) f (x, y, z) (11001100) ; в)

f (x, y, z) ( yx xz)(x yz(z xy)) , г) f (x, y, z) ((x y)(y z)(z x)) ( y z).

Завдання 8. Провести дослідження на лінійність булевих функцій: а)

((y z) ( y z)) ((x t) (x ~ t)); б) ((z t) | (z t)) | ((x ~ y) (x y)); в)

((z y) (z y)) ((t x) (t ~ x)) .

Завдання 9. Довести повноту таких систем функцій шляхом зведення їх

 

 

 

 

 

 

до відомих повних класів: а) {x y, x}; б) {x y, x y}; в) {x y, x y,1}.

 

Завдання 10.

Перевірити

на повноту такі

класи функцій:

а)

{x y, x y 1}; б) {0, 1, x ~ y}; в) {x y, x y x z}.

 

 

Завдання 11. За допомогою теореми Поста перевірити на повноту набори

 

 

 

 

 

 

 

булевих функцій: а)

{x y, x}, б)

{x y, x ~ ( y z)},

в) {x ~ y,1, x y},

г)

{x y, x y 1)}.

 

 

 

 

 

 

 

7.4 Приклади аудиторних і домашніх завдань

Завдання 1. Визначити, чи зберігає 0 і 1 функція f (x, y, z) x yz . Розв’язок. Перевіримо значення даної булевої функції на нульовому й

одиничному двійкових наборах: f (0,0, 0) 0 0 0 0 1 1 1 0 1 1;

 

 

 

 

 

 

f (1,1,1) 1 1 1 1 0 0 1 0 1.

 

 

Отже, дана функція зберігає 1 і не зберігає 0.

 

Завдання 2. Визначити відношення порядку для інтерпретацій функції

f (x)

і функції

f (x, y) .

 

 

Розв’язок. Для функції однієї змінної

f (x) маємо два набори змінних:

(0)

і

(1).

 

 

Відношення часткового

порядку встановлюється так:

(0) (0),

(0) (1), (1) (1) . Тут усі пари порівнянні.

50

Соседние файлы в предмете Дискретная математика