книги из ГПНТБ / Василенко, Ю. А. Синтез дискретных структур учеб. пособие
.pdf
|
|
|
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 и |
( і - р ~ |
||||||
-го дерево |
JÖ |
изменится к будет уже представлять другус |
||||||||||
функцию. |
Значит, |
в этом случае |
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 |
дерево: |
|
|
|
|||||
