12
Метод бинарно-векторного полиномиального разложения булевых функций Сергей Владимирович Тюрин Воронежский Государственный Технический Университет

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

  • Upload
    gin

  • View
    136

  • Download
    0

Embed Size (px)

DESCRIPTION

Метод бинарно-векторного полиномиального разложения булевых функций. Сергей Владимирович Тюрин Воронежский Государственный Технический Университет. Объект исследования. Структуры полиномиальных логических преобразователей. ESOP ( exclusive - or sum - of - products ). а). (1). PPRM - PowerPoint PPT Presentation

Citation preview

Page 1: Метод бинарно-векторного полиномиального  разложения булевых функций

Метод бинарно-векторного полиномиального

разложения булевых функций

Сергей Владимирович Тюрин

Воронежский Государственный Технический Университет

Page 2: Метод бинарно-векторного полиномиального  разложения булевых функций

2University

Объект исследованияСтруктуры полиномиальных логических преобразователей

а)

б)

tn KKKСxxxF ...)...,( 2121 (1)

mt

mmn KKKСxxxF ...)...,( 2121 (2)

ESOP (exclusive-or sum-of-products).

PPRM (positive-polarity Reed-Muller

expressions)

Page 3: Метод бинарно-векторного полиномиального  разложения булевых функций

3University

Объект исследованияСтруктуры полиномиальных логических преобразователей

в)

г)

FPRM (fixed-polarity Reed-Muller expressions)

PPP mt

mmpn

pp VVVСxxxF n ...)...,( 212121

(3)

(4)

PPP mt

mmpn

pp KKKСxxxF n ...)...,( 212121

VAR- EXOR (Var-Exor expressions)

Page 4: Метод бинарно-векторного полиномиального  разложения булевых функций

4University

Бинарное разложение

n-1

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

вычислительная сложность порядка n2 проходов

по x1 по x2 по x3

Разложение Давио (фрактальное разложение)

Page 5: Метод бинарно-векторного полиномиального  разложения булевых функций

5University

Векторное разложение

Метод i-поляризации БФ: часть вектора значений БФ f, составленная только из компонент, где переменная x имеет значение 0, сдвигается на 2 позиций вправо, и результат складывается по модулю 2 с исходным вектором f.

ii-1

1001 1100 1011 1001 f

1111 0000 1111 0000 x3/

1001 0000 1011 0000 g := f & x3/

0000 1001 0000 1011 g := g:23-1

1001 0101 1011 0010 f (x3/) := f g

вычислительная сложность порядка 2 проходов n-1

Page 6: Метод бинарно-векторного полиномиального  разложения булевых функций

6University

Б-В разложение

по x3 по x2 по x1 Суть: • учитывает ограниченность разрядности ЭВМ;• проводится в два этапа;• первый этап реализуется на основе метода обратных конечных разностей, а второй – на основе фрактального разложения.

Page 7: Метод бинарно-векторного полиномиального  разложения булевых функций

7University

Б-В разложение

Пусть задана БФ 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) ;

Page 8: Метод бинарно-векторного полиномиального  разложения булевых функций

8University

Б-В разложение

На примере вектора A0 = (f0, f1, f2, f3) покажем последовательное преобразование каждого подвектора

23

22

33

22

32

21

31

20

30

13

12

23

12

11

22

11

21

10

20

321321

1210

110

10

*0

fff0;ff0;ff0;ff

fff;fff0;ff0;ff

fff;fff;fff0;ff

A

Page 9: Метод бинарно-векторного полиномиального  разложения булевых функций

9University

1. Ввод количества (n) переменных xn функции F;

2. Ввод вектора F(x0, x1,… xk, … xn-1) = (f0, f1, …fi, …fd);

3. Подготовка вспомогательных d-разрядных двоичных векторов S =(11…1), G =(00…0);

4. G := F & S;

5. G := G/2;

6. G := F G;

7. S:= S/2;

8. F := G;

9. Если S > 0, то перейти на пункт 4;

10. Конец алгоритма: вектор F(f0, f1, …fi, …fd) преобразован в вектор коэффициентов полинома Жегалкина P(p0, p1, … pi, … pd).

Алгоритм первого этапа

(d=2 -1)n

Page 10: Метод бинарно-векторного полиномиального  разложения булевых функций

10University

Б-В разложение В последующем к подвекторам As*, как к индивидуальным m-разрядным объектам, применяется алгоритм фрактального разложения.

А11*= А0

1* А11*; А3

1*= А21* А3

1*;

А51*= А4

1* А51*; А7

1*= А61* А7

1*;

А22*= А0

1* А21*; А3

2*= А11* А3

1*;

А62*= А4

1* А61*; А7

2*= А51* А7

1*;

А43*= А0

2* А42*; А5

3*= А12* А5

2*;

А63*= А2

2* А62*; А7

3*= А32* А7

2*.

Page 11: Метод бинарно-векторного полиномиального  разложения булевых функций

11University

Эффективность Б-В разложения

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

)log1(2

22)log(2

)1( mnn

mnm

mW

m – разрядность ЭВМ;n – количество переменных булевой функции.

Page 12: Метод бинарно-векторного полиномиального  разложения булевых функций

12University

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

Поляризованные полиномы Рида – Маллера могут быть получены с использованием данного метода путем предварительной поляризации булевой функции.

n