120 likes | 401 Views
Метод бинарно-векторного полиномиального разложения булевых функций. Сергей Владимирович Тюрин Воронежский Государственный Технический Университет. Объект исследования. Структуры полиномиальных логических преобразователей. ESOP ( exclusive - or sum - of - products ). а). (1). PPRM
E N D
Метод бинарно-векторного полиномиального разложения булевых функций Сергей Владимирович Тюрин Воронежский Государственный Технический Университет
Объект исследования Структуры полиномиальных логических преобразователей ESOP (exclusive-or sum-of-products). а) (1) PPRM (positive-polarity Reed-Muller expressions) б) (2)
Объект исследования Структуры полиномиальных логических преобразователей FPRM (fixed-polarity Reed-Muller expressions) в) (3) VAR- EXOR (Var-Exor expressions) г) (4)
Бинарное разложение Разложение Давио (фрактальное разложение) по x1 по x2 по x3 Геометрическая интерпретация побитового полиномиального разложения булевой функции n-1 вычислительная сложность порядка n2 проходов
Векторное разложение Метод i-поляризации БФ: часть вектора значений БФ f, составленная только из компонент, где переменная x имеет значение 0, сдвигается на 2 позиций вправо, и результат складывается по модулю 2 с исходным вектором f. i i-1 n-1 вычислительная сложность порядка 2 проходов
Б-В разложение по x3 по x2 по x1 • Суть: • учитывает ограниченность разрядности ЭВМ; • проводится в два этапа; • первый этап реализуется на основе метода обратных • конечных разностей, а второй – на основе фрактального • разложения.
Б-В разложение Пусть задана БФ Q(x0, x1, x2, x3, x4) = Q(f0, f1, … f31) и разрядность ЭВМ m=4. Разобьём исходный вектор Q(f0, f1, … f31) на подвекторы A0 = (f0, f1, f2, f3) ; A1 = (f4, f5, f6, f7) ; A2 = (f8, f9, f10, f11) ; A3 = (f12, f13, f14, f15) ; A4 = (f16, f17, f18, f19) ; A5 = (f20, f21, f22, f23) ; A6 = (f24, f25, f26, f27) ; A7 = (f28, f29, f30, f31) ;
Б-В разложение На примере вектора A0 = (f0, f1, f2, f3) покажем последовательное преобразование каждого подвектора
Алгоритм первого этапа • Ввод количества (n) переменных xn функции F; • Ввод вектора F(x0, x1,… xk, … xn-1) = (f0, f1, …fi, …fd); • Подготовка вспомогательных d-разрядных двоичных векторов S =(11…1), G =(00…0); • G := F & S; • G := G/2; • G := F G; • S:= S/2; • F := G; • Если S > 0, то перейти на пункт 4; • Конец алгоритма: вектор F(f0, f1, …fi, …fd) преобразован в вектор коэффициентов полинома Жегалкина P(p0, p1, … pi, … pd). n (d=2 -1)
Б-В разложение В последующем к подвекторам As*, как к индивидуальным m-разрядным объектам, применяется алгоритм фрактального разложения. А11*= А01* А11*; А31*= А21* А31*; А51*= А41* А51*; А71*= А61* А71*; А22*= А01* А21*; А32*= А11* А31*; А62*= А41* А61*; А72*= А51* А71*; А43*= А02* А42*; А53*= А12* А52*; А63*= А22* А62*; А73*= А32* А72*.
Эффективность Б-В разложения Вычислительная сложность предлагаемого алгоритма Б-В полиномиального разложения булевых функций имеет следующую оценку: m – разрядность ЭВМ; n – количество переменных булевой функции.
Заключение Метод бинарно-векторного полиномиального разложения булевых функций, предельно ориентирован на реализацию с помощью инструментальных ЭВМ, требует для реализации объема основной памяти порядка 2 бит и обладает наименьшей вычислительной сложностью по сравнению с известными методами разложения булевых функций. Поляризованные полиномы Рида – Маллера могут быть получены с использованием данного метода путем предварительной поляризации булевой функции. n