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

книги из ГПНТБ / Василенко, Ю. А. Синтез дискретных структур учеб. пособие

.pdf
Скачиваний:
6
Добавлен:
19.10.2023
Размер:
4.65 Mб
Скачать

19

§ 4. АЛГОРИТМЫ ВЫБОРА ПЕРИШШЫХ В ВЕРШИНАХ ЛОГИЧЕСКОГО ДЕРЕВА.

СЛОЖНОСТЬ ОКОбОЧНОЙ формы функции f ЗАМ сит от

расположения переменных в вершинах дерева. Ниже будет рассмотрен ал­ горитм, который в большинстве случаев дает оптимальный граф или

близкий

к оптимальному.

 

 

 

 

 

 

Рассмотрим выражение /1 4

/:

 

 

 

 

 

SZ~Sf - P - R ‘ Q.

 

 

 

 

Величина

S f

постоянная для данной

функции и

Q

тоже.

Чтобы по -

лучить оптимальный граф,

надо уменьшить величины

Р и R

: В боль­

шинстве

случаев

R

>P .

Опишем алгоритм выбора

переменных в вершинах

дерева.

 

 

 

 

 

 

 

 

 

В

верхнюю вершину дерева

записываем паре меннус

с мини -

мальвой

величиной

S f

. Если

таких

переменных несколько, то за­

писывается любая из них.

 

 

 

 

 

 

 

В вершины поддеревьев функций

f ( x t

jrtjf

t і > х ы , , . . , х п )

*

/ / з Г у ,

в

п

и с ы в а ю

т с

я

, соответсвенно^,

номера пе

-

ременных X j

 

с

минимальными

величинами

и

5^

, где

 

 

 

 

 

 

f t *

, . . . ,

 

 

 

,

J e ( l , 2, . . . , ^

j

. Если минимальное

значение

этих

величин одинаково

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

 

 

Аналогичным образом находятся номера переменных для всех ос­

 

тальных вершин дерева.

 

 

 

 

 

 

 

Пример

I,

Минимизировать функцию,

заданную деревом на рис. 12.

Логическое дерево на рис.

12 изображает

разложение функции,

 

аналитическое

выражение которой

содержит

 

 

 

 

 

U f )

* 2б ~ 2 - 28 * 64 - 30 - 34

 

 

 

 

вхождений, всех переменных.

 

 

 

 

 

 

 

Пользуемся

алгоритмом выбора переменных в вершинах дерева.

 

20

Цииималышии

я вл я етс я

в & s ~

В верхнюю вершину

дерева впишем любус

пример, Х е ,

 

 

сходяоe r« функции f .

из переменных ХЧ,Х Г , на­

»

Рис. D .

Диагарамма Вейча для функции ft выглядит так

 

X/

 

 

 

I

0

0

I

*•/

I

0

0

I

V

0

0

0

1

I

0

0

I

*/

 

 

 

 

 

I

<

 

V

!

 

^

Подсчитаем

сходности

функции

ft

 

St *

7

-

X,

-

сходность

фикции

f ,

,

S f t

*

7

-

Хх

-

сходность функции

J f

,

$ f t

»

7

-

JT5

-

СХОДНОСТЬ функции

f t

,

 

*

I

-

 

-

сходность функции

f t .

- C L -

 

Х у - сходность

 

функции

f j

является

сапой минимальной . Гіо-

этоцг в вершину дерева для функции

 

впивеи переменную -2J, .

 

Подсчитаем

X --сходности

функции

^ .

 

 

 

а * /

 

х /

* • /

 

x t d

 

 

 

 

 

0

 

0

 

о

 

o 3

x 3

 

 

 

I

 

I

 

I

 

0

r

^

 

 

 

 

 

 

 

 

 

 

 

ЛУ

 

0

 

0

 

I

 

I

 

 

 

 

I

 

I

,

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* /

 

 

 

 

Ху

Z *

• n '

 

X 0

 

 

К

2

 

 

 

 

 

 

 

**

 

 

-

-сходностьфункции

£

,

 

 

 

И

 

 

У

2

-

X, -сходность

функции

 

,

 

 

б

-

-сходность

функции

 

.

 

 

 

 

 

 

 

Для функции

£

3 /

-

З І

,

поэтову

в

вершину графа для

 

f

и

 

 

Гг

 

гг

 

переменных

. Впишем,

 

 

можно вписать любую из

например,

^ .

 

 

 

 

 

 

 

 

 

Итак,

наше дерево уже

имеет

 

вид

 

 

Рис. 14.

22

PÄf

*

<*■

*

 

»

*> - л

•$«•*,■*> .

Подсчитаем л* -сходности функции Вейча для'них имев* вид

 

-г*

л * '

 

 

 

___ ^

 

 

 

sc?

I

 

I

*

/

*

I

 

І

 

■*/

 

 

х

 

О

1

/

* /

 

м і

I

 

I

 

 

 

а г /

 

Диаграмма

Вейча

 

 

 

для

функции

<ft .

 

 

 

*

/

*»*

 

 

0

 

1

V

 

О

 

I

 

* /

 

 

 

 

 

О

т

I

 

ЗС'І

 

О

 

о

 

 

 

 

1

 

 

 

 

X*

<*л ,<*,

 

. Диаграмми

я*«а

V

 

о

о

* /

 

 

о

о

/

 

 

о

О

•V

о

О

*>*

Диаграмма

Вейча

 

для функции

.

 

■ */

 

 

I

О

V

I

О

ас *

I

I

л

 

о

I

СГ о

Диаграмма

Вейча

 

 

Диаграмма Вейча

для фикции

efj .

 

 

для функции ef^ .

5

. ‘,

-

з

-

л^-оходвооть функции

**

&

 

3

-

«^-сходность

функции

 

-

Tj -о ходиость

функции

 

S « , - з

 

 

 

 

 

 

 

 

В

вершину графа для функции

öf/

выпишем переменную JC3

Из диаграммы Зейча для функции

 

ВИДНО, ЧТО «Х'г = о .

WіЗ

 

 

 

^ -сходн ость

функции

OCj

,

* 3

-

 

Si, -

I

-

 

&J -сходность

функции

оС3 .

s l -

}

-

 

Х9 -сходность

функции

tfj

 

 

 

 

 

23

3

вершину графа

для

функции оС3

„впинеы переиеннув

S t f

т

 

І-а ^ ш

СХОДНОСТЬ функции

öfj,

,

S

f

I

 

-

£3 -сходность

функции

o',

,

 

 

»

3

-

«ä£ -сходность

функции

 

.

 

 

В

вершину

графа

для функции

впишем переиеннув аех .

писать

лвбув из

переменных

»

 

О

 

^

3 /

для функции ^

:

 

 

 

 

 

З С

 

 

 

■ь

 

 

 

 

 

о

 

 

о

 

 

 

 

■е

о

 

 

о

Ч/

для функции

Зе

 

 

•*»*

:

Jr„

о

 

 

 

 

I

 

I

 

 

 

 

 

Л*

0

 

I

 

 

5 ^

-

I ,

 

*

I. В

вершину

графа для функции

 

мокко

вписать

лвбув из переменных

 

;

 

 

 

 

*

 

 

 

 

5 / для функции А

 

 

 

5

'

V

 

 

 

 

 

 

 

 

 

 

 

 

5 1

I

 

г

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

 

 

S

 

 

 

2. В вершину графа для функции

/ »

 

впишем пере-

иен нус

зг,

;

 

 

 

 

 

 

 

 

 

 

 

 

 

б / для ф у н к ц и и :

 

 

 

V

 

 

 

 

 

 

 

 

 

 

 

 

5 '

0

 

I

 

 

 

 

 

 

 

 

 

 

 

 

SJ

I

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

__

 

 

 

 

 

 

 

 

I,

S|^«

 

I.

В вершину графа для функции

 

можно вписать

лвбув из переменных

 

 

 

 

 

 

 

 

 

 

 

Объединяя вое результаты

, получим граф,

изображенный на рис.Іб

 

Подсчитаем теперь

Ш функции ,

изображенной деревом на рис.

16.

Для этого

сначала

подсчитаем сходность дерева

 

.

 

 

s

^ s

*

 

 

 

 

 

 

. ул-. *, г

 

 

 

-s‘л /sfÂ* ,i'.-i.sл;.

Л

 

 

 

- е - s ;

. s f ' .

 

 

s f \ s f . у ^

б : 5

-

 

* £ *<?+ /

* f S + f * f 4 - 2 + ’2 + 3 * / - * 2 m - b Z

(

 

 

 

L f f } ~ Z €- Z ~ i z « 6Z -

~ Z C

 

 

 

 

 

 

Значит,

дерево

на рис.

16 дает нам функцию,

количество

вхождений

б у к /^

которую равно 20, тогда как

дерево на

рис.

12 дает ту

же функ­

цию, во с количеством вхождений букв равным 34.

 

 

 

 

 

Оптимальность дерева

на рис.Іб

является

очевидной.

 

 

я

26

Подсчитаем количество операций, которые входят в аналити -

ческое выражение функции

f

( x t , хг , г х,

 

заданной логическим

деревом на рис.Іб

в базисе

штрих Шеффера.

 

 

 

Четвертый /последний

/

ярус

содержит

весть графов вида

/р и с .2 / И)два графа

вида

/р и о .З /,

которые

не даст ни одной опера*

ции. Граф с меткой

/ х

дает одну

операцию. Значит,

Ч-й ярус да­

ет одну

операцию.

Третий

ярус дает II операций. Второй ярус дает

8 операций. Первый ярус дает 7

операций

и нулевой ярус,

- Ч опе­

рации. Если через Hf) обозначим количество вхождений^символов

операций

штрих Шеффера в

аналитическое выражение функции, то для

функции,

заданной графом на рис. Іб

 

 

 

 

Hf) -

I

+ И

+ 8

+ 7

Ч ■ 31,

 

 

 

Аналитическое

 

выражение для

этой функции

записывать не

будем.

Пример 2. Минимизировать функции,

заданную деревом на ри с.17.

Диаграмма Вейча

этой Функции имеет вид :

 

 

 

 

 

3

 

 

J

 

 

 

 

 

 

 

 

 

 

 

 

: /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

г /

 

 

 

 

 

 

 

 

 

 

щ.

I

 

I

0

0

 

 

 

 

 

 

 

 

 

о

 

0

I

 

I

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

0

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

I

I

 

I

 

г

 

 

 

 

 

 

С *

$

 

 

 

 

 

 

 

 

 

 

 

18 . . .

 

 

'

 

 

 

 

 

 

 

 

 

 

Число

вхождений,букв

в

аналитическое выражение функции рав­

но

i f f )

 

25 -

2

 

18

- 30

- 18 -

12.

 

 

 

 

 

f

 

есть самая

минимальная

^

-сходность функции

Поэтому

в вершину дерева

поместим

переменную

 

 

 

 

27

Put. 17

2 8

Соседние файлы в папке книги из ГПНТБ