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

Juk_Ilyenko_Moklyachuk_Orlovskiy_DM_praktikum

.pdf
Скачиваний:
40
Добавлен:
12.05.2015
Размер:
605.14 Кб
Скачать

= =

{( , , , )| ( , , , )=1}

= ( 0 0 0 0) ( 0 0 0 1) ( 0 0 1 1) ( 0 1 0 0)

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

( 1 0 1 1) ( 1 1 0 0) ( 1 1 0 1) =

= ( ) ( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( ).

Для знаходження ДКНФ даної функцiї, оберемо тi значення змiнних, для яких функцiя приймає значення 0. Складемо для всiх таких комбiнацiй змiнних диз’юнкцiї, ставлячи заперечення над змiнною, якщо та рiвна 0. Кон’юнкцiя всiх таких диз’юнкцiй i буде ДДНФ функцiї.

= =

{( , , , )| ( , , , )=0}

= ( 1 1 0 1) ( 1 0 1 0) ( 1 0 0 0)

140

( 0 1 0 1) ( 0 0 0 1) ( 0 0 0 0) =

= ( ) ( ) ( )

( ) ( ) ( )

Знайдемо тепер скорочени ДНФ iз ЗДНФ методом Квайна. Для зручностi, замiсть символiв змiнних будемо працювати лише з показниками їх степенiв. Наприклад, замiсть будемо писати 0 − 1−. Тодi ЗДНФ функцiї буде вiдповiдати множинi всiх її одиничних наборiв.

Випишемо одиничнi набори даної булевої функцiї в таблицю, розбивши її на группи по кiлькостi одиниць. Тодi для застосування формули неповного склеювання достатньо розглянути усi можливi пари наборiв, якi входять в сусiднi групи. Наприклад, склеювання 0000 та 0001 дасть в результатi 000−, адже вони вiдрiзняються лише в однiй позицiї. А склеїти 1100 та 0001 не вдасться, адже вони в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 не будуть вiдмiченi хрестиком. Вiдмiченi кон’юнкцiї зникнуть пiсля застосування формули поглинання.

141

 

 

 

000–

×

 

 

 

 

 

0–00

×

 

 

0000

×

 

 

 

–000

×

 

 

0001

×

 

 

 

 

00–1

×

 

 

0100

×

 

 

 

 

01–0

 

 

 

1000

 

 

 

–00–

×

 

–001

×

 

0011

×

 

 

– –00

 

100–

×

 

 

0110

×

 

 

–0–1

 

–100

×

 

1001

×

 

 

1–0–

 

1–00

×

 

1100

×

 

 

Третя полоса

 

–011

×

 

1011

×

 

 

 

 

10–1

×

 

 

1101

×

 

 

 

 

1–01

×

 

 

Перша полоса

 

 

 

 

 

 

 

110–

×

 

 

 

 

 

 

 

 

 

Друга полоса

 

 

 

 

 

 

 

 

 

 

Скорочена ДНФ даної булевої функцiї буде мати вигляд ( ) ( ) ( ) ( ) ( ).

№ 14.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канта iстинна.

142

№ простої

1

 

 

2

 

3

 

4

5

 

iмплаканти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

iмплiканти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

набори

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0001

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0011

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0100

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0110

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1000

 

 

 

 

 

1

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1001

 

 

 

 

 

1

 

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1011

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1100

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ядровими iмплiкантами будуть 1, 4 та 5, адже для кожної з них знайдеться такий одиничний набiр, при якому лише одна дана iмплiканта буде iстинною.

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

143

Для вибору найменьшого числа таких стовпцiв складемо символьний вираз: (2 3) (2 4) 4 (1 3) 1 (12 3 5) (2 4 5) 4 (5 3) 5. Спростимо даний вираз до ДНФ за допомогою дистрибутивного закону та формули поглинання. Отримаємо (2 3) 4 1 5 = 1 4 1 5 1 3 4 5.

В нашому прикладi символiчнiй кон’юнкцiї 1 2 4 5 вiдповiдає ДНФ

( ) ( ) ( ) ( ), а символiчнiй кон’юнкцiї 1 3 4 5 - ДНФ

( ) ( ) ( ) ( ). Кожна з цих ДНФ має в свому наборi по 9 символiв, вiдповiдно складнiсть обох ДНФ буде рiвна 9. Отже, обидвi ДНФ є мiнiмальними для даної булевої функцiї.

№ 14.3. Для функцiї ( , , ) =1011 1100 знайти мiнiмальну ДНФ та мiнiмальну КНФ за допомогою кар Карно i вказати складнiсть мiнiмальної ДНФ.

Зобразимо карту Карно для функцiї . Згрупуємо нулi та одиницi в найбiльшi можливi прямокутнi групи, в яких кiлькiсть комiрок є степенем двiйки. Вважаємо, що карта "наклеєна"на цилiндр, тобто проходячи нижню межу карти, ми опинимося на верхньому рядку.

 

 

 

 

 

 

 

 

 

 

z

 

0

1

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

0

0

 

 

 

 

 

 

 

 

 

 

 

144

Для знаходження мiнiмальної ДНФ розглядаємо тi клiтинки, де стоїть 1. В прямокутнику 2 × 2 лише змiнна зберiгає своє значення, тому саме ця змiнна вiдповiдає даному прямокутнику. В прямокутнику ж 1×2

змiннi та зберiгають своє значення. Так як змiннi та зберiгають значення 1, то вони входять в ДНФ без заперечення. Оскiльки змiнна зберiгає значення 0, то вона входить в ДНФ iз запереченням.

Для побудови мiнiмальної ДНФ потрiбно об’єднати змiннi, якi вiдповiдають окремому прямокутнику, в кон’юнкцiю, а потiм усi отриманi результати об’єднати в диз’юнкцiю. Для заданої карти Карно, отримаємо мiнiмальну ДНФ ( ). Її складнiсть рiвна 3.

Для знаходження мiнiмальної КНФ розглядаємо тi клiтинки, де стоїть 0. Аналогiчно, в вертикальному прямокутнику значення зберiгають змiннi та , причому вони входять в КНФ без заперечення, адже зберiгають значення 0. В горизонтальному прямокутнику змiннi та зберiгають значення, i входить до КНФ iз запереченням, оскiльки зберiгає значення 1. Остаточно, для побудови мiнiмальної КНФ потрiбно об’єднати змiннi, якi вiдповiдають кожному з прямокутникiв, в диз’юнкцiї, а потiм всi результати об’єднати в кон’юнкцiю. Для заданої карти Карно мiнiмальна КНФ буде мати вигляд ( ) ( ).

Задачi для аудиторної та домашньої роботи

№ 14.4. Для заданої функцiї а) записати ЗДНФ та ЗКНФ;

б) знайти скорочену ДНФ методом Квайна;

в) Для скороченої ДНФ побудувати матрицю Квайна, вказати ядровi iмплiканти;

г) За допомогою матрицi Квайна знайти мiнiмальну ДНФ та вказати 145

її складнiсть.

1.( , , , ) = 1111 0101 0011 1101

2.( , , , ) = 1101 1110 1010 1110

3.( , , , ) = 0111 0001 1111 1101

4.( , , , ) = 1100 1110 1111 1011

5.( , , , ) = 1011 1111 1110 0010

6.( , , , ) = 0100 1110 1101 1111

7.( , , , ) = 1111 1110 0111 1100

8.( , , , ) = 1110 0110 1111 1100

9.( , , , ) = 1111 0110 1110 1110

10.( , , , ) = 1011 1111 0001 1111

14.5. Для заданої функцiї знайти мiнiмальну ДНФ та мiнiмальну КНФ за допомогою карт Карно i вказати складнiсть мiнiмальної ДНФ.

1.( , , ) = 1011 1100

2.( , , ) = 0111 1010

3.( , , ) = 1001 1001

4.( , , ) = 1110 1110

5.( , , ) = 0110 1111

6.( , , , ) = 1110 1110 1111 0001

146

7.( , , , ) = 1111 0010 1111 0111

8.( , , , ) = 1101 1001 1111 0011

9.( , , , ) = 1011 1010 1111 1110

10.( , , , ) = 1101 1100 1111 1101

11.( , , , , ) = 1011 1110 1100 1111 1111 0001 0101 1100

12.( , , , , ) = 1100 1011 1011 1110 1110 1011 0111 1111

13.( , , , , ) = 1011 1111 0011 0001 0110 1101 1011 1110

14.( , , , , ) = 1100 1100 1110 1111 1000 1111 1011 1111

15.( , , , , ) = 1101 0011 1111 1101 1110 1101 0111 1100

147

ЗАНЯТТЯ 15

Основи теорiї графiв

Навчальнi задачi

№ 15.1. Побудувати матрицi сумiжностi та iнцидентностi для графу

Розв’язок. Позначимо вершини та ребра графа.

 

1

1

2

2

3

 

3

4

5

4

5

 

6

Складемо матрицю сумiжностi. Для цього ми будуємо матрицю ×, де - кiлькiсть вершин. Кожен елемент вiдповiдає двом вершинам, номери яких вiдповiдають номеру рядку i номеру стовпця, та рiвний 1, коли вершини з’єднанi, та 0, коли нi.

148

 

1

2

3

4

5

 

 

 

 

 

 

1

0

1

1

0

0

 

 

 

 

 

 

2

1

0

1

1

0

 

 

 

 

 

 

3

1

1

0

0

1

 

 

 

 

 

 

4

0

1

0

0

0

5

0

0

0

1

0

 

 

 

 

 

 

Складемо тепер матрицю iнцидентностi. Це буде матриця × , де

- кiлькiсть ребер. Якщо вершина належить ребру , то вiдповiдний елемент рiвний 1, iнакше вiн рiвний 0.

 

1

2

3

4

5

6

 

 

 

 

 

 

 

1

1

1

0

0

0

0

2

1

0

1

1

0

0

 

 

 

 

 

 

 

3

0

1

1

0

1

0

 

 

 

 

 

 

 

4

0

0

0

1

0

1

 

 

 

 

 

 

 

5

0

0

0

0

1

1

№ 15.2. Мiж двома стовпами натягнуто волейбольну сiтку розмiром

100 × 20 комiрок. В сiтцi ножицями починають розрiзати мотузки. Яку максимальну кiлькiсть розрiзiв можна зробити, щоб сiтка не розпалась, а кожне ребро комiрки було розрiзане найбiльше 1 раз?

Розв’язок. Поставимо у вiдповiднiсть до волейбольної сiтки граф, у якого ребра будуть спiвпадати з мотузками, а вершини – з вузлами сiтки. Кiлькiсть вершин у графа буде 100 · 20 = 2000, кiлькiсть ребер

– 19 · 98 + 20 · 99 = 3842 . (вертикальнi та горизональнi секцiї). Для того, щоб сiтка не розпалась, потрiбно, щоб будь-яка з правих вершин була з’єднана з будь-якою з лiвих. Для цього потрiбно, щоб граф мав 149

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]