Научная статья на тему 'Декомпозиция частично симметрических булевых функций на основе полиномиального разложения'

Декомпозиция частично симметрических булевых функций на основе полиномиального разложения Текст научной статьи по специальности «Математика»

CC BY
74
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
частично симметрическая булева функция / полиномиальное разложение / полином Рида-Мюллера / локальный код.

Аннотация научной статьи по математике, автор научной работы — Л. Б. Авгуль, О. К. Трухан

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DECOMPOSITION PARTLY SYMMETRICAL BOOLEAN FUNCTIONS ON BASE OF POLYNOMIAL EXPANSIONS

It is offerred the original method of polynomial decomposition partly symmetrical boolean functions (p.s.b.f.), assigned by their local codes. The method allows on table of p.s.b.f. local codes to get simultaneously local codes of all "remaining" functions at decomposition on any tuple variable with free polarization

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

2004

Доклады Б ГУ ИР

октябрь-ДЕКАБРЬ

№ 4

УДК 519.716

ДЕКОМПОЗИЦИЯ ЧАСТИЧНО СИММЕТРИЧЕСКИХ БУЛЕВЫХ ФУНКЦИЙ НА ОСНОВЕ ПОЛИНОМИАЛЬНОГО РАЗЛОЖЕНИЯ

Л.Б. АВГУЛЬ1, O.K. ТРУХАН2

'Научно - технический центр "ДЭЛС" Ф. Скорины, 117, Минск, 220023, Беларусь;

2Военная академия Республики Беларусь ВА РБ, Минск, 220057, Беларусь

Поступила в редакцию 8 июня 2004

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

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

Введение

Полиномиальные представления булевых функций позволяют во многих случаях получить более простые аналитические выражения по сравнению с базисом И, ИЛИ, НЕ [1]. Эффективность полиномиальной реализации булевых функций подтверждается многочисленными примерами логического синтеза цифровых устройств и поддерживается разработкой соответствующих библиотек вентильного уровня [2, 3].

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

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

Рассматривается оригинальный метод полиномиального разложения представленных локальными кодами ч.с.б.ф. п переменных по к < п переменным с произвольной поляризацией. Метод основан на отождествлении локальных кодов "остаточных" функций (коэффициентов полиномов Рида-Мюллера) с соответствующими элементами локальных кодов производных ч.с.б.ф.

Локальное кодирование частично симметрических булевых функций

Нетривиальная частичная симметрия индуцирует разбиение вектора переменных Х = (х,,х2,...,хп) ч.с.б.ф. / = /(Х) на N кортежей Х],Х2,...,ХЫ, l<N<n. При этом / симметрична относительно любой пары переменных, принадлежащих одному и тому же кортежу 1 < / < N.

n

ПустьX, = (х{,х'2,..., ), 1 <П; <п, 1 < / < N.

¿=1

Для определенности полагаем, что X = (Х^,Х2,...,Хы). Тогда число классов эквивалентности ч.с.б.ф. / определяется выражением

р = 1\(п1+1).

¿=1

Каждый класс эквивалентности характеризуется вектором

А = {а1,а2,...,ам), аг, е{0,1,...,и,.}, 1 <i<N.

Локальный код С(/) ч.с.б.ф. / есть двоичный вектор длины р, каждая компонента которого равна значению / на соответствующем классе эквивалентности наборов значений ее аргументов.

Упорядочивая векторы А, представим С(/) в виде:

_ ( 00...О 00...1 00...Ид, 0И2...0 0П2...1 Он-, и»

1и2...0 1п2...1 1 П2...пн п^п2-..0 И[И2...1 п^.-.п^ \

)) 1""1>> 7---7 ГУ I П

где компонента С*"2'равна значению / на наборах переменных из X1, удовлетворяющих

щ

условию ^ х\ = а1 .

1=1

Это означает, что

С^а2 ...а„ £0 £¡1 £.0 \

^ и \ Ц ' ц-ц ' Адг' иЛГ-аЛГ / '

где С* = (И,И,...,И) — некоторый кортеж длины 5, содержащий только элементы к е {0,1}, и

а0й - 0.

Полиномиальное представление частично симметрических булевых функций

Введем обозначения:

У] = (х1,х2,..., хк1), = , + 2,..., хп. ),

I = (11,12,...,1Ы\ \<к,<п^ \<1 < N.

Полагаем, что полиномиальное разложение выполняется по кг переменным из Уг, из которых 0 < тх < к, переменные отрицательно поляризованы (входят в коэффициенты полиномиального разложения или слагаемые полинома Рида-Мюллера только с отрицанием),

Пусть Ег1™1 (У)) — сумма по модулю два всевозможных попарно различных элементарных конъюнкций ранга г{, составленных из переменных и в которых число переменных без отрицания равно 0 < / < гг, 0 < гг < к1.

Группируя коэффициенты разложения при тождественных "остаточных" функциях, по-

n

лучим общий вид полиномиального разложения ч.с.б.ф. / по к = ^ кг переменным, из кото-

1=1

n

рых П1 = переменные отрицательно поляризованы:

1=\

1=° к=а1 Чг2=° 12=а2 К^гг0 У у

где а, = (/; -/??,)• sign(/; -от); !т =mm(r,ki-mi)\, Е^1 =1, ^¿¿'(Z) — "остаточные" функции.

Функции (7. ) могут быть вычислены через производные ч.с.б.ф. / согласно

выражению:

-'N(2) = ^

где 5г = -/; +/,., V,. = к1 -пг-1, Г,1 = (х,\х;,..., х; ), 1 < / < N.

Локальные коды функций (2) совпадают с локальными кодами "остаточных"

1 2 ■ N

/•Ий Г», $

функции в дизъюнктивном разложении производных / =-1—--, г = / г ,и

находятся по таблице Т{С(/)) локальных кодов С(/"*"2 "ы ) .

Пример полиномиального разложения частично симметрической булевой функции

Рассмотрим пример выполнения полиномиального разложения ч.с.б.ф. f = /(X), X = (х1,х2,...,х1), N = 3, щ= 3, п2 = П-. = 2, которая задана своим локальным кодом:

ООО 001 002 310 311 312 320 321 322\_ О\J ) ?>> 5 >> •>••••>>> 1 >> 1 >> 5 " /

=(010110101001100111000011101111101110). При кх = 2, ,к2 - къ- 1, ml=m2= 1, m3=0 имеем:

О/) = ^ооо(^) © W°o7 ф < М%То( Z) © <(73« (Z))e © ^wteiz) © 4°№)^10оТ © ^(^^Ч^е^^Уз)^0!!1^)))© ф № )fe°0° (Z) © ад«1 © ЕЦ (Y2 )К0о0(^)©40(73«(г)))ф © EHiY^Ziz) е С(73)По; (Z) © ¿ft (^iteizie^^Wi^

где

— (x,, x2), Y2 — x4, Y3 — x6, Zj x3, Z2 x5, Z3 — x7, Z = (Zt,Z2,Z3) = (x3,x5,x7), -E10(Y1) = xi, £и(1^) = х2; E¡\{Y,) = X,X2, E\l(Y2) = ~X4- I<^(Yi) = x6.

Построим таблицу 7(C(/)) локальных кодов производных ч.с.б.ф. f = f(X) и по ней определим локальные коды "остаточных" функций:

cfe'(Z))= (10110110); cfe(Z)) = (10001011);

efe (Z)) = (10010111); efe (Z)) = (11101001);

Cfe (Z)) = (01011101); Cfe (Z)) = (11110011);

efe0 (Z)) = (00001110); efe (Z)) = (01000111);

efe(Z)) =(11011101); efe(Z)) = (OOllOllO);

efe (Z)) =(11100010); efe (Z)) =(01110111);

efe (Z)) = (10000000); efe (Z)) =(11000101);

efe(Z))= (11101100); cfe(Z))= (00110000).

Таблица Т(С(/У) локальных кодов производных ч.с.б.ф. для рассматриваемого примера

Производная Локальный код Производная Локальный код

J"V2ri с</™) уW3 C(flVi)

.Г 010110101001100111000011101111101110 yíüü 010101000110001001

Г1 110111011000001011001101 ^201 111100010101

п 010110010001 r¿ 000111

Г 100011101011011110010011 Г 111101111000

.Г 1010111010011110 f11 00110000

Г1 11011101 fnl 0000

Г 111110101001 Г" 010111

Г" 00011101 Г 1100

fn 0101 Г1 00

г 011010010001111010111110011 Г" 100100001

Г1 101111010011000110 Г1 101001

АЮ 100100011 Г 111

/•110 001000110101001101 fim 000101

/ш 010001110111 Г 0011

/ш 101010 fi¿ 00

Г 0 001011100 101

All 011010 Г" 11

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

fln 111 fi2¿ 0

Заметим, что в данном случае локальные коды совпадают с таблицами истинности "остаточных" функций, поскольку кортежи Z1, Z2 и Z3 содержат по одной переменной.

Для этой же ч.с.б.ф. по таблице Т(С(/)) определим коэффициенты и построим полином Рида-Мюллера при пгх= 2, т2= 1, тъ= 2:

p2l\f) = 18x6X7 ex4(iex6x7)ex5(x6 ©x7 ©х6х7)ф ©x4x5(l©x6 ©x7)©(xi 0х2)(шх4(хб ©х7 ©х6х7)ф ®x5(l©x6 ©х7)ф Х4Х5 (iex6x7))e Х3((х6 ©Х7 Ф ХбХ7)ф Ф X4(l Ф Хб Фх7 Ф ХбХ7)ф x5(l Ф Хб Ф Х7)ф Х4Х5ХбХ7)ф ®XiX2(l®X6 Фх7 Фх4 ®X5(l®X6 фх7)фх4х5(хб фх7))ф Ф (xix3 Ф X2X3)((l Ф Хб Фх7 Ф ХбХ7)ф Х4 Ф Х4Х5)ф Ф xix2x3(x6x7 фx5(lФ Хб Ф х7)ф x4x5(lфХб Фх7))

Заключение

Эффективность предложенного метода декомпозиции ч.с.б.ф. обусловлена тем, что по построенной один раз таблице локальных кодов ее производных достаточно просто по формальным правилам определяются коэффициенты всех полиномов Рида-Мюллера и локальные коды всех "остаточных" функций в полиномиальном разложении по любому кортежу переменных с произвольной поляризацией. Поскольку при этом для задания ч.с.б.ф. используется локальный код, а не таблица истинности, то ограничений на число переменных практически не существует.

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

DECOMPOSITION PARTLY SYMMETRICAL BOOLEAN FUNCTIONS ON BASE OF POLYNOMIAL EXPANSIONS

L B. AVGUL, A.K. TRUCHAN Abstract

It is offerred the original method of polynomial decomposition partly symmetrical boolean functions (p.s.b.f.), assigned by their local codes. The method allows on table of p.s.b.f. local codes to get simultaneously local codes of all "remaining" functions at decomposition on any tuple variable with free polarization.

Литература

1. Sasao T. //Proceedings of the IFIP WG 10.5 Workshop on Application of the Reed-Muller Expansions in Circuit Design. 1995. P. 11-20.

2. Sasao Т., Besslich Ph. W. // IEEE Transaction on Computers. 1990. Vol. 39. № 2. P. 262-266.

3. Saul J. //Proceedings of the European Conference on Design Automation. 1992. P. 109-113.

i Надоели баннеры? Вы всегда можете отключить рекламу.