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

тюмгу / Тишин В.В. Дискретная математика в примерах

.pdf
Скачиваний:
993
Добавлен:
08.12.2019
Размер:
15.69 Mб
Скачать

 

 

 

 

 

Таблица 2.5.2(продолжение)

/

 

g

 

 

h

 

9

1110

1101

1011

1001

1100

1101

1111

 

0011

1111

1101

1101

1111

0001

1011

10

0111

1010

1110

1010

1110

0111

1110

 

0101

1110

1111

0011

1 1 1 0 0 1 1 0

0101

11

1000

1001

0001

0101

1110

1110

0111

 

1111

1110

1110

0111

1110

1101

0110

12

1011

1101

1011

1010

0111

1101

1111

 

0111

1110

1110

1000

1111

1110

1001

13

0011

0111

1011

1001

1100

1110

1111

 

1101

0011

1110

1100

1111

1010

0000

14

1011

1000

0110

0110

1101

1111

1101

 

0111

1111

1110

1111

1011

0111

1110

15

0111

1011

1101

1010

1111

1011

1101

 

0101

0011

0111

0111

1110

1101

1110

16

0111

1100

1100

1101

0111

1101

1011

 

1110

0111

1100

0111

1110

1111

0000

17

1111

0011

0111

0101

1000

1111

1100

 

0110

1111

1011

1000

1110

1110

0111

18

0111

1100

1100

0100

1111

1101

0111

 

1001

1110

0011

1111

0101

1110

1101

19

1000

0111

1110

0001

1111

1011

1101

 

1110

0011

1110

0010

1111

1000

1000

20

0111

1010

1110

1011

0001

1111

1100

 

1001

1111

1101

0111

1001

1110

1110

21

0101

1111

0011

1001

1011

1100

1110

 

1100

1011

1111

0001

0111

1011

1000

22

0111

1100

0000

1011

1111

1101

0111

 

0101

1110

1101

1110

1110

0111

0001

23

1001

1101

1110

0111

1110

1110

0011

 

0110

1101

1111

1111

0011

1001

1111

 

 

 

 

 

Таблица 2.5.2(окончание)

/

 

g

 

 

h

 

24

0001

1100

1110

1010

1111

1101

1100

 

1100

0111

1111

1111

1010

1101

0110

25

1000

1010

0111

0111

0111

1010

0011

 

1110

1110

1100

1111

0010

1010

1111

26

1110

1101

1001

0110

1111

1110

1010

 

0101

1111

0111

0110

0110

1101

0010

27

1101

0011

0011

1001

1110

1001

1111

 

1100

1011

1111

0010

1001

1111

0011

28

1110

1010

0101

0111

1011

1011

1111

 

0110

1111

1011

1111

1011

0010 1111

29

0001

1101

0111

1101

0100

1111

0111

 

1111

1110

0110

1110 0110 1111

1000

30

1100

0110

1101

0111

1010

1110

0111

 

0011

1111

1000

11100111

1110 0110

Пример решения задания 2.5.2.

 

 

 

 

Решим

задание

2.5.2. для

функций

f ( x ,y ,z ) = (0111 0011),

g(x,y,z,w ) = (1111 1101 1010 0000),

h(x,y,z,w,t) = ( \ \ \ \ 0111 1010 0110 1111 0111 1010 1010).

Карту Карнау для функции / (х, у. z )

от трёх

^ ^ ~ ^

ч

переменных имеет такой вид (табл. 2.5.2а):

Мы считаем её как бы наклеенной на поверх­ ность цилиндра, т.е. отождествляем верхнюю часть карты Карнау с нижней. При отыскании минимальной ДНФ единицы карты Карнау покрываем прямоугольниками вида 2x2 и

Таблица 2.5.2а

ху

1x2, отвечающим импликантам у и xz со­

ответственно, получаем минимальную ДНФ

у v xz . Её сложность равна 3.

Для нахождения минимальной КНФ покрываем нули карты Карнау двумя прямоугольниками размерами 1x2, которые соответствуют эле­

ментарным дизъюнкциям y v

х и у v z . В результате получаем мини­

мальную КНФ v х) • v z) .

 

 

 

 

 

 

При нахождении минимальной ДНФ

 

 

 

Таблица 2.5.2Ь

функции

g(x, у, z, и’) заполняем

 

 

 

карту Карнау и покрываем единицы

 

 

00

01

11

10

карты прямоугольниками возможно

 

 

больших размеров (табл.2.5.2.Ь):

00

 

:1 '1

г

1

Получим

минимальную

ДНФ:

01

.

1

1,

1

0

y w v X Z V XW

 

11

 

0

0

0

0

Сложность минимальной ДНФ рав­

10

' “ Ч

0

0

 

на 6.

Таблица 2.5.2с

Отыщем

минимальную КНФ

ZW

00

01

11

10

функции

g(x,y,z,w). Для этого

ху

произведём покрытие нулей кар­

00

1

1

1

 

1

ты Карнау (табл.2.5.2с):

 

01

1

1

1

 

п л

 

 

 

Минимальная КНФ будет иметь

11

1 0

■0

0

0 1

10

1

0

0

 

1

вид: ( x v y ) - ( x v w ) - ( y v z v w ) .

Рассмотрим функцию

h(x,y,z,w,t) = ( 1111 0111 1010 1111 0111 1010 1010).

Карту Карнау для пяти переменных можно воспринимать, как “двух­ слойную” карту Карнау для функции от 4 переменных, где верхний слой соответствует значениям х = 0, а нижний - х = 1, причём клет­

ки, образующие “двухслойный” прямоугольник, соответствуют импликантам, в которых переменная х отсутствует. Двухслойные прямоуголь­ ники будем изображать жирными линиями, а однослойные - тонкими

(табл. 2.5.2d).

Все единицы карты Карнау могут быть покрыты тремя двухслойными прямоугольниками и двумя однослойными. Минимальная ДНФ будет

иметь вид: z t v у t v xzwtw x y t .

Её сложность равна 13.

 

Таблица 2.5.2d

Таблица 2.5.2е

wt

wt

ООО

000

001

001

011

011

010

010

100

100

101

101

111

111

110

110

Для отыскания минимальной КНФ покроем прямоугольниками нули карты Карнау (рис. 2.5.2е).

Все нули карты Карнау могут быть покрыты тремя двухслойными прямоугольниками и двумя однослойными.

Минимальная КНФ будет иметь вид:

V WV t) ■(у V Zv t) ■(у V Zv Wv t) ( x v у v t) ( x v Zv Wv t).

2.6. Частичные функции и схемы

Частичной функцией называется функция, определённая не на всех на­

борах своих переменных.

Простой импликантой частичной функции f называется элементарная конъюнкция К, для которой выполняются условия:

1) За^ (а ) = 1, л а ) = 1;

2) V p f(P ) = 0 ^ К (Р ) = 0 -

3)если из импликанты К удалить любую букву, получится формула

К' такая, что 3ГК ' (у) = 1, / (у ) = О .

Доопределением частичной функции f будем назьшать всюду опре­

делённую

функцию g, значения которой совпадают со значениями

функции f

на тех наборах, на которых функция f определена.

Критерий существования декомпозиции заданного вида:

Частичная функция / представляется в виде f(u,v,w)-g(u,w,h(u,v))

тогда и только тогда для каждого фиксированного набора а значений переменных из множества и таблица функции f a(v,w) допускает дооп­

ределение до таблицы, содержащей столбцы не более двух различных типов.

Контактной схемой называется неориентированный граф, каждому ребру (контакту) которого приписан символ переменной в некоторой степени и выделены две вершины, которые называются полюсами.

Частная производная булевой функции f(x ^ ,x 2

,...,хп) попеременной

х;

определяется так:

 

 

/ ъ

= Д х ь - • • >Д - 1A Д + ъ - ■■, х п ) +

Л - Ч v • •, Д - l X

Д +Ъ...,хп).

Тестом относительно множества

G = {gt} попарно различных буле­

вых функций называется множество наборов значений переменных Т

такое, что V/УкФ1%еТ (§, (е) * ёк (е))

Задание 2.6.1

1. Реализовать частичную функцию f{x ,y ,z,w ) формулами над бази­

сом конъюнкция, дизъюнкция, отрицание четырьмя способами:

а) методом Квайна; б) исходя из минимальной ДНФ, найденной с по­ мощью карт Карнау; в) исходя из минимальной КНФ, найденной с по­ мощью карт Карнау; г) методом последовательного разложения по пе­ ременным xyzw.

2. Для простейшего представления построить схему из функцио­

нальных элементов типа конъюнкция, дизъюнкция, отрицание.

3. Реализовать простейшее представление контактной схемой.

4. Проверить возможность разделительной

декомпозиции функции

f( x ,y ,z ,w )

в виде g(u,v,h(p,t)), где u,v,p,t

- некоторая перестановка

переменных

xyzw.

 

Если декомпозиция указанного вида возможна, реализовать её схемой с ветвлениями из функциональных элементов типа конъюнкция, дизъ­ юнкция, отрицание. Указать сложность построенной схемы.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

--01 1 - - 1 -0-1 11 -- --10

1--1

0-11 10-1

-10 -

1--0 -1 -0

11--

1 --1 -010

1 О 1 О

f(x, y, z, w) 1 -11 - 0 - -

1 1 о

010 -

о

 

-001

- - 1 1

0-11

- 1 - 1

0 - 11 --01

01 --

- 100

0-10

10--

-100

10 --

101 -

- 1 - 0

-110 - 1 - 0 -011 1 --1

01-0 -01 - 01 - 1 --10

-1 - 0 01 -1

11 -1 - 110

0110

-01 - 10-1

-100

-101

-110

1-1 - 10 --

11-0 11 -0 -011 011 -

00-1

-1 - 0

1 --1

Таблица 2.6.1

f( x ,y ,z ,w )

16

1 - - 0

1 - и

- 0 - 0 110-

17

0 - - 0

1 -1 -

1110

1 -11

18

11 --

-0 -1

-010 0 - 10

19

0 -11 1 --1 0 -1 - 00 -1

20

1 -10

- - - 0

11-0 011 -

21

01 -1

- 10-

011 - -01 -

22

- -1

-

01 -0

00 - 1

111 -

23

0 - 1

-

- 1 - 0

0 - 11

-001

24

- 1 0 -

-0

11

1 - 10

--01

25

1 - - 0

1 -1

-

- 101

0 - 10

26

О 1 О 1

-111

1 -0 - 00 - 1

27

11-0 0 - 1 0 - - о - 00 - 1

28

- - 0

1

1 -11

о

о

-001

1

1

29

10--

 

- 011

1 - - 0

11 -1

30

-1 -1

0 - 11

0 -

1 -

101 -

Пример решения задания 2.6.1

Решим задание 2.6.1. для функции

 

 

Таблица 2.6.1а

 

 

 

 

 

f(x,y,z,w ) = (-101

01------ 0-

11-0).

Z W

00

01

11

10

 

 

 

 

 

Запишем таблицу

функции

f в виде

00

-

1

1

0

карты Карнау (табл.2.6.1а):

 

 

01

0

1

-

-

Для отыскания сокращённой ДНФ вы­

11

1

1

0

-

пишем в список М 0

все нулевые набо­

10

-

-

-

0

ры функции, а в М ]

- единичные набо-

 

 

 

 

 

 

 

 

 

 

 

Таблица 2.6. lb

 

м х

0010

0001

0100

0011

1010

0101

1111

1100

 

1101

ры (табл. 2.6.1b).

Будем перебирать все единичные наборы из списка М \, который запи­

шем в виде первого столбца. Для каждого из единичных наборов будем заменять последовательно его символы на неопределённый символ “ - ” и смотреть, не будет ли совпадать с точностью до неопределённого символа полученная комбинация с каким-либо набором, вошедшим в

список М (). Если совпадение есть, переходим к следующему символу,

если нет - помечаем набор “крестиком”, выписываем результат замены

во

второй

столбец

и

 

 

 

 

 

переходим к следующе­

 

 

 

 

Таблица 2.6.1с

му символу или к сле­

 

 

 

 

 

 

 

 

 

дующему набору.

 

м х

 

 

 

 

Затем

совершаем ана­

0001

+

0 0 0 -

+

- 0 0 -

логичную

 

процедуру

ООН

+

0 0 - 1

+

0 -- 1

над наборами из второ­

0101

+

- - 0 1

+

- - 0 1

го столбца и так далее.

1100

+

- 0 0 1

+

- 0 - 1

В результате наборы, не

1101

+

-0 11

+

1-0 -

помеченные крестиком,

 

 

0 - 1 1

+

 

будут

соответствовать

 

 

- 101

+

 

простым

импликантам,

 

 

01 - 1

+

 

из которых состоит со­

 

 

1-00

+

 

кращённая ДНФ (табл.

 

 

11-0

 

 

2.6.1с).

 

 

 

 

 

 

110-

+

 

Итак, простые импли-

 

 

1-01

+

 

канты

нашей

функции

1 столбец

2 столбец

3 столбец

таковы:

 

 

 

 

 

 

 

 

 

x y w

,

y z

,

X W

, ZM)

, y w ,

x z .

 

 

 

 

Изобразим матрицу Квайна (табл. 2.5. Id), в которой строки соответст­ вуют единичным наборам функции, а столбцы - простым импликантам.

 

 

 

 

 

 

Таблица 2.6. Id

 

xyw

У*

X W

Z W

yw

X Z

0001

 

1

1

1

1

 

0011

 

 

1

 

1

 

0101

 

 

1

1

 

 

1100

1

 

 

 

 

1

1101

 

 

 

1

 

1

1

2

3

4

5

6

Как видим, ядровых импликант нет. Для нахождения минимальной ДНФ составим символическую КНФ, каждая элементарная дизъюнкция которой соответствует единичному набору нашей функции, которую преобразуем затем в ДНФ. Получим:

(2v3v4v5)-(3v5)-(3v4)-(lv6)-(4v6) = (3v54)-(6vl4) =

= 3-6v54-6v344v5-14.

Видим, что наименьшую длину имеет символическая конъюнкция 3-6,

которая соответствует минимальной ДНФ xw v x z .

Сложность найденной минимальной ДНФ равна 4.

б) При нахождении минимальной ДНФ с помощью карты Карнау (табл. 2.5.1е), мы доопределяем функцию / так, чтобы покрытие имело более простой вид:

 

Таблица 2.6.1е

 

Таблица 2.6.1/

ZVT

\ z v r

00

01

11

10

 

Х>>\

 

00

- 0

1

1

0

 

01 .

0

1

-1

- 0

 

11

1

1

0

- 0

 

10

-1

-1

-0

0

Тогда все единицы покроются двумя квадратами

2x2

xw и x z , соот­

ветствующая минимальная ДНФ совпадает с ДНФ, найденной в п. а).

в) Для отыскания минимальной КНФ покрываем нули карты Карнау

(табл.2.6.1/) двумя квадратами 2x2: х vvt’ и x v z .

Соответствующая минимальная КНФ такова: (х vtf )• (х v z ) .

Сложность её равна 4.

г) Проведём разложение по набору переменных xyzw. На первом эта­

пе, раскладывая по переменной х, имеем:

f i x , y,z,w) = x ■/(О , y ,z ,w ) v x - /(1 , у, z, w)) .

Изобразим таблицы функций / ( 0 , j ,z ,w ) n

/( 1 ,y,z,w) (табл.2.6.lg):

 

 

 

Таблица 2.6. lg

yzw

f ( 0 ,y,z,w)

yzw

f{l,y ,z,w )

001

1

010

0

010

0

100

1

Oil

1

101

1

100

1

111

0

101

1

 

 

Каждая из функций / (0, у, z,w) и / (1, у, z, w) не доопределима до кон­

станты, но f(\,y ,z,w ) доопределима до z .

Изобразим таблицы (табл.2.6.lh) функций /(0,0, z,w) и /(0,l,z, иД :

 

 

 

Таблица 2.6. lh

ZW

/(0,0, z,w)

ZW

/(ОД, z,w)

01

1

00

1

10

0

01

1

11

1

 

 

Видим, что /(0,0, z, и1) и /(O.l.z, иД доопределимы до w и 1 соответ­ ственно.

Получаем разложение исходной функции:

/( х , у, z, w) = х ■(у ■w v у 1) v х ■z = х ■(w v у) v х ■z . Во время уп­

рощений мы применяли тождества с константами и правило вычёркива­ ния. Сложность полученной формулы оказалась равной 5.

2) В качестве простейшего представления возьмём минимальную ДНФ

xw v xz

и реализуем её

схемой

из

функциональных элементов

(рис.2.6.1а):

У

z

х

w

 

о

.ч/

3) Реализуем ту же минимальную ДНФ контактной схемой (рис.2.6. lb).

Таблица 2.6. li

•xy"'

00

01

11

10

 

 

 

 

00

-

1

1

0

01

0

1

-

-

11

1

1

0

-

10

-

-

-

0

4) Запишем двумерную таблицу функции f (табл. 2.6.1 i):

Видим, что таблица допускает доопределение до строк только двух типов (табл.2.6, lj):

Таблица 2.6. lj

ZW

00

01

10

11

 

 

х у ^ -

 

 

 

 

 

 

 

00

-0

1

0

 

1

I тип

 

01

0

1

-0

-1

I тип

 

10

-0

-1

0

-1

I тип

 

11

1

1

-0

0

II тип

 

Значит, f i x , у, z,w)

допускает разделительную декомпозицию вида

f(x ,y ,z ,w ) = g(z,w,h(x,y)).

 

 

 

Найдём вид функций g и

h.

 

 

 

1,

если набор (х ,у )

соответствует строке I

типа

п ( х ,у ) = <

если набор (х, у)

соответствует строке II

типа

[О,

те. h(x,y) (1110),

h(x,y) = x v y .

 

Строкам I типа соответствует функция <y(z,w) = (0101) —w

Строкам II типа соответствует функция i\i(z, w) (1101) = z

Тогда функция f

выражается через h, ср, >[/ так:

 

/(х, у, z, w) — h(x, у) g>(z, w) v h(x, у) \\i(z, w) =

=(x v y) ■W V (x v y) ■z .

Соответствующая схема из функциональных элементов с ветвлениями будет иметь вид (рис.2.6.1с):

z

х

у

W

-V.

Соседние файлы в папке тюмгу