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

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

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

 

 

 

29

 

 

of,}

<

oej

о

-J&L-

 

«г/

0

0

_ч*

I

I

■*/

0

0

V

Z

0

 

 

 

 

Определим входное» графа на рис.18.

s!-s?+s!--s?*s'*s: ‘ С -

-s,%s; *г**s;

*

-

* 2 * 3 * 4 ♦ 2 + 7 * 2 + I - 21

 

U Z ) . 2-2- 21 » 30 - 21 » 9»

Значит , в ^юрмулу для фикции будет

входить 9

букв.

 

 

Ш )

4 + ^ + 2 + І + 2 + І - І * .

 

Запишем аналитическое выражение этой функции в базисе штрих Шеф­ фера.

Л = а Ѵ ** >

<xt - ягг * i i

3 0 -

<arf

- oct

t (a^ f ß t ) -

xt 4 (xt t(-X ytlt) s

f t = f ( x x H ) 4 < K t ) *

 

 

f t

= / *

(я* t * f > -

* * (x* 4 ( x t *• (* t * ( x f 4 ))]) }

f ш { ( i t x a) i f j 4 { x 3 4 f £ ) =

= (U t -xj) t Шхх t i )

4

4/ ) ) 4 (xt 4 i j) /

/

/ /

/ f ( Xt 4

 

4 (sct 4 (<Xy 4 / » ) ) ) .

Пример 3. Шіниииэировать функцию, заданную деревом на рис

19 .

Если бы мы записали аналитическое выражение функции, ■то

омо содержало бы D бука.

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

3 1

 

I

Xi

x

___

 

 

I

I

I

 

 

I

0.

0

0

* /

 

о

0

0

I

 

 

 

I

0

0

I

• V

t

x*

XJ

 

В вершину

-

6,

*m

 

 

 

 

А t

,

,

 

 

 

<fl

I

I

V

 

 

 

 

Л«

I

0

 

-

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

 

 

 

 

. 1 I

0

 

 

 

ДЛЯ ФУНКЦИИ f l

 

 

 

I

0

V

 

 

 

 

 

 

*■/

*1

 

 

 

 

 

X*

I

0

 

 

диаграииа Вейча для

0

0

 

 

 

Л

jr*

 

 

 

0

0

 

функции f.

 

 

 

 

 

 

*

 

 

 

I

I

V

 

 

 

 

$fm3.

Si,- I.

SU3.

5 / -

3' 5

3.

SU I .

 

 

b

n

 

ft

 

Ь

tt

В

вершины

подграфов для функций

ff 1Л

S выбереи, соответ­

ственно,

переиенные ос3

и

 

\

'

 

32

Легко устанавливается

,

что

діі & і

,

&у ш (? .

 

Диаграмм

Вейча для

и

*С3 ,

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

имеют

вид

<

t

 

 

 

*

;

JCi

 

j r /

 

 

 

 

 

• * / I

0

 

 

 

 

 

I

0

 

a iJ s'

0

 

 

 

*

/

r

r

 

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

 

впишем перемеянув JJ, ,

а в вер­

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

о(е ~

Х3

.

 

 

 

 

Подучим следующее

логическое

дерево

 

 

Количество

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

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

выражение функции рав­

но

L f f l »

25- 2 - 20 « 10. Запишем аналитическое выражение функции

в

базисах

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

стрелка Пирса и

алгебре Іегалкика.

33

а / Базис штрих Шеффера .

ъ шсе* * * >

оСя = ( Ш Х , ) * (асл * £ > ) * { ,

 

 

 

* а ж ( и * * л ) * ( * л

W

)

* / Ъ

**>»

 

А - х

л * ( х л Ф ({/# >

И

)

Щ

f f ) }

4 / ) ) ,

 

f ^

(U 4Х< ) * (({***») * Ъ Ш ) Щ 4 І)})И .

f ~ ( ( i m ) t f t )

* (*t

tA ))~

 

 

- $

£ * Ъ М » , * ( * * * f t f X t

Ш

ффщ

4

* f a 4 Щ і * * , ) * Ш 4 * к > * н * * П * f a Ф і Ш 4 і )

6 / Базис стрелка Пирса,

$ - ( < éf) ФИб*Щ ) 46} - Ф'ё Щ >

' и-°t**>

*4 * ( Ху 4 $ ) Ф $ ѵ Ф Щ 4ф & ) " f y l f o t * \ і } Ф л ^ ф oCs « Ц , / / 4 5 / / ф ( { о і Щ і Ф і t * f a 4 ( в Ф*л )) Ф & ,

6 в < 4 * * )* { ( ѵ * х 3 ) 4 * л ) - e é ( t o é ^ ) Ф Щ 4

і Ш ^ П Ф х , ) ,

f z - f a / « , / / //'о ф ^ ¥і ф о ) - ( х 44 ( ^ 4 (g>4x4t f ФС)ф

f m /С*і f f i )

t m

 

 

~ (x t t / c t ( { 0 / J C j j f { j r t f{ c f J b > ) / -*V >) /

4 { / o f Xj / é (fjr„ /

/'Ту t { c f jcs J) /£>) * л; /

в/ Алгебра Іегалкина.

 

 

 

*

( /

€> ■*,)■ 4

ф j r . 0 = / Ф я г

 

U =

* &ас* >

 

 

 

cct = ( { Ф Х у ) { /

 

 

eü}= {/ ®згг} ■(i Ф-х,}®эел ,

 

 

f t = ( / х , / Ф а ; f f « я ; ) { 4 &

),

f t

■=

( і ® Х у ) { ( і Ѳ * г ) ( 4 ®3cMj

®jet

4,

f

=

( i

®0Ct)({4®JCs ) ® х л (4

& J y’ ){4 ® T t ) ) Ф

 

®

Xt

( f 0 T t

)({4 ® эег )(1 ® ог3 )ф ос1 ) m

Следует отметить, что число вхождений букв в аналитическое выражение функции во всех трех базисах одно и то же. Количество операций - различное.

3 5

 

 

 

 

Г Л А В А

 

 

П

 

 

 

 

 

 

 

ЧАСТНЫЕ

СЛУЧАИ ПРИМЕНЕНИЯ

 

ЛОГИЧЕСКОГО

ДЕРЕВА

 

§

I.

Использование

логического дерева для распозна­

 

 

 

вания

симметричности

 

булевых

функций.

 

 

Симметричные функции находят достаточно широкое применение

в различных областях вычислительной

 

техники, причем, при синте­

зе схем, работа которых одасыаается этими функциями,

можно уха -

зать частные методы а приемы синтеза, даЬцие лучший результат,

чем синтез с помощно общих приемов

[2]. Поэтому интересным яв­

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

левых функций.

 

 

 

 

 

 

 

 

 

 

 

 

Пусть задана функция двузначно* логики t

 

t S t

 

) .

Можно

предложить следувщий тривиальный

алгоритм проверки сим­

метричности функции

 

 

 

 

:

для каждой подстановки

х і , х і>

•••»

х п

 

строить функции

 

х

 

f:r*

 

=

 

...... * *«> .

 

 

 

 

 

 

 

 

 

 

Потом каждую Функцию

-

 

 

х

 

 

 

)

оценивать

с функцией

 

 

 

.

Очевидно,

что

/Ѵагу,

х п )

тогда и только тогда симметрична, если для каждой подстановки

> х з I

 

 

выполняется соотношение

f ( x i t

x Jt, n. > ^ ’n ) ~

=

^

....•?,)•

Но данный алгоритм весьма громоздок и

содер­

жит не менее чем 2 n- n j

сравнений.

Действительно, количество

всех подстановок

f

 

 

 

 

равно

n

f

. Кроме того,

для каждой подстановки ( x t

>...( х п

)

 

 

нужно

сравнение

 

h r x . - , X ' , ) ~ f x i

X

- - г" ) л л я всех

2 П

 

наборов.

 

 

В работе [ £ ] ириведен ряд теорем, позволяющих сформули­

ровать следующий алгоритм распозааваиия симметричности булевых

функций:

 

 

 

 

 

 

 

1.

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

переменных Tt и

-ту

 

2.

Подмножество (JCt ,

множества входных перемен

них

(

 

х п )

является частиично симметричным,

если

существует симметричность

всех его пар.

Поэтому процедура п .І

повторяется

для всех пар

переменных

■*„)

 

 

Нетрудно видеть,

что

сложность алгоритма распознавания

определяется

выражением:

 

 

 

 

L H

 

L - L . - / C

 

 

где

-сложность

распознавания пары

симметрии,

 

К-индекс фундаментальной симметричной функции.

Расчеты показывают, что сложность алгоритма парной снимет рии определяется как L,п^ пг-2п*,т .е . общая сложность алгоритма равна

L «■ К *’ 2*'*-п*

Метод Г.Н.Поварова [Ы ] также имеет сложность алгоритма

распознавания того же порядка. Метод распознавания симметричное ти булевых функций, основанный на определениии коэффициентов

Радеыахера-Уолша

[ 1 0 ] , имеет ту же сложность,

но

его преиму­

ществом

является

возможность достаточно простой

машинной

ре а -

ж заакй ,

так как

нахождение коэффициентов в данном

случае

есть

чисто арифметическая операция.

Покажем, что с помощью метода логического дерева можно

Предложит/ простой и удобный алгоритм установления симметрично­ сти фуяквиа f(Э' і зсп ) . Этот алгоритм состоит из следу­ ющих этапов:

 

1. Строим для функции

f /зг«. «

і

дерево

-О /ѵ ,

> } ]

фусы дерева будем нумеровать сверху вина,

считая,

что первый

ярус имеет номер 0, а последний - номер п

. вря даяяой нумера­

ции

і -ый ярус содержит 2*

 

вер«««. Вершины

# -л*е яруса

бу-

 

 

 

 

 

 

 

 

ѵ

 

 

і

-I. "чтку,

 

дем нумеровать слева направо номерами 0 ,1 .2 ,....2

 

 

стоящую в

j -ой вервине

 

 

і -то

яруса f

обозначим через *,-,у ,

 

2. На каждом ярусе с номером

*

 

л>

 

 

проверяем

 

метку,

сто«дув возле сдедуидих нар вервия;

 

 

 

 

 

/І;2 /

/5;б/

/9;ІО/

/ІЗ ;ІѴ

/rw e/....,/<H U I;M lU 2/,....

 

..../2 *

-3;2*

-2/

 

 

 

 

 

 

 

 

/ /

/

 

Последовательность t

i

t

содержит г *

*

пар. Вели

 

 

 

для всех

 

і

* 2 , 3 , . . . ,

П

К «0Л ,...,2^'г -І,

то Функция

f < ~ , ,

 

)

 

симметрична.

Если при некоторых і

и К /

< * 2 ,3 ,...,п

; К «0,І,...,г*

* /

выполняется соотношение

<*<>*♦/

 

.т о f

 

 

 

х л /

 

 

несимметрична.

Подсчитаем количество операций построенного алгоритма.

Элементар­

ной операцией будем считать операцию сравнения

 

і к + г

Ha каждом

t -ом ярусе / /» 2 ,3 ....... п /

нужно выполнить 2 1~ е

сравнений. Значит, количество всех сравнений равно

 

 

 

Z *

 

л 2 г < г ' > 2 ° ~ 2 П і- 1

 

 

 

 

 

 

 

 

 

 

Ясно, что число

. п-і

-I значительно меньше числа

2

п

!

2 " л

 

Эффект при этом получаем следующий

 

 

 

 

 

1‘ , п !

 

 

j

 

 

 

 

 

J n ‘ 4

 

2 n t

■k

 

 

 

 

Из последних выкладок следует,

что предложенный алгоритм выгод­

но отличается от известных.

 

 

 

 

 

Дадим теперь обоснование

только что приведенного алгорит­

ма. При перестановке

двух соседних ярусов

( ( - 2 )

и ( i

-t

) -го

 

 

 

 

э ѳ

-

 

 

 

 

 

 

иатхя на

t -ом вдев

меняется только я вериинах с

номерами

К і Л , ч & * 2

/К -0 .....2

 

- у .

Причем метка

 

занимает

место нетям

*>#ч?

 

,

а метка

 

занимает место

мет­

ки

 

.

Поэтому,

вела ври некотором К имеет место

со-

отиовевие

<*„,*<***.,*

,

то ври перестановке

ярусов

«*-2 и

( і - р ~

-го дерево

изменится к будет уже представлять другус

функцию.

Значит,

в этом случае

f( T t

, ^

х „ )

 

несиммет­

рична. Ecjw на всех

t -ых ярусах/

1= 2,3,..., п

/

йг

=

* Лѵ*»г

 

/К*0,І,2,... ,2

- I /,

то при всех перестановках

соседниX ярусав дерево

Т і

не изменится. Но дибуи перестановку

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

перестановок. Так как ни одна перестановка соседних ярусов не

ме­

няет дерево

И )

, то их произведение тоне не изменяет дерева

 

f j

,

Значит,

лобан перестановка яруса не изменяет дерева І

) .

Отсода вытекает,

что

f l T t , x f

х п )

симметрична.

Обоснование

алгоритма

закончено.

 

 

 

 

 

 

ЗаметиМу что данный алгоритм установления симметричности

 

функции

/

Ц ,

......

X h f

модно обовдть на К-значную логи­

ку,

а такие на иноговыходовые

схемы.

 

 

 

 

Пример,I,

Установить симметричность функции

трех

 

аргументов:

 

 

 

 

 

 

 

 

 

f

« ОООЮІП.

 

 

 

 

Отроим для функции f

дерево:

 

 

 

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