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

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

CC BY
165
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВА ФУНКЦИЯ / ПОЛИНОМИАЛЬНАЯ ФОРМА / ОПЕРАТОРЫ / СПЕЦИАЛЬНАЯ ОПЕРАТОРНАЯ ФОРМА / КЛАССИФИКАЦИЯ ПО ГРУППЕ ПРЕОБРАЗОВАНИЙ / BOOLEAN FUNCTION / POLYNOMIAL FORM / OPERATOR / SPECIAL NORMAL FORM / GROUP CLASSIFICATION

Аннотация научной статьи по математике, автор научной работы — Винокуров Сергей Федорович, Казимиров Алексей Сергеевич

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

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

Enumeration of operator classes for boolean functions

This paper contains the results for enumeration of S-classes of Boolean functions. S-classification is based on operator representations for Boolean functions which are an extension of EXOR-sum-of-products expressions.

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

Серия «Математика»

2009. Т. 2, № 2, С. 40-55

Онлайн-доступ к журналу: http://isu.ru/izvestia

УДК 519.716.322

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

С. Ф. Винокуров

Восточно-Сибирская государственная академия образования А. С. Казимиров

Восточно-Сибирская государственная академия образования

Аннотация. Работа посвящена задаче классификации булевых функций. Классификация производится по группе преобразований, являющейся расширением группы инвертирования переменных. Такие преобразования представляют интерес в связи с тем, что сохраняют сложность (количество слагаемых) полиномов, представляющих булевы функции. Группа этих преобразований описана с использованием операторного языка и названа группой операторных преобразований. Для нее решена задача перечисления — одна из подзадач классификации, заключающаяся в нахождении числа классов эквивалентности.

Ключевые слова: булева функция; полиномиальная форма; операторы; специальная операторная форма; классификация по группе преобразований.

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

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

— от задач логического синтеза до криптографии. Имеется большое количество результатов по группам аффинных преобразований булевых функций и их обобщениям [1,2].

Одним из способов задания булевых функций является полиномиальное представление — в виде суммы по модулю 2 произведений переменных или их отрицаний. При исследовании полиномиальных представлений интересны преобразования, которые сохраняют сложность

* Работа выполнена при финансовой поддержке РФФИ, грант 09-01-00476-а.

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

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

Для обозначения функции / (ж1,..., Жп) в тексте используется запись / (Ж) или /. Наряду с термальным представлением в работе использовано представление функции / в виде вектора (/о,..., /2«-1), где / = /(«1, •••,«„), а € {0,1}, к = а ■ 2п-1 + ... + ап ■ 20.

Символами /_0.,/., /. обозначаются нулевая и единичная остаточные и производная функции / по переменной ж». Остаточные определяются подстановками констант:

/°. = /(жЬ . . .,Жг_1, 0, Жг+1, . . . ,ЖП), = /(жЬ . . . ,Жг-1, 1,Жт, . . .,Ж„),

а производная задается следующим выражением: /. = /°. ® , где

символ ф обозначает сумму по модулю 2.

На множестве булевых функций п переменных задается класс операторов, которые будут представляться в виде последовательностей а1 ... ап, где а» € {а, е, р}. В этом случае п будет называться размерностью оператора. Действие оператора а = а1 ... ап на функцию /(Ж) определяется по правилу: а(/(Ж)) = /п(Ж), где /о(Ж) = /(Ж) и

{/¿_ 1 (Ж), если а» = е;

/г— 1 (Ж1, ..., Ж»-1, Ж», Жг+1, ..^Жп), если а» = р; (/¿-1(ж))Х, если а» = а.

Представление функции /(ж1, ..., Жп) в виде

/ (Ж) = 0 аг(Л(Ж)) (1)

г=1

1 я

в котором а1,..., а* — операторы размерности п, называется операторной формой функции /, построенной по функции Л(Ж1, . . . ,Жп). Через М(Ф) будем обозначать множество операторов, входящих в операторную форму Ф. Операторную форму назовем редуцированной, если при г = ] выполняется аг = а-7. Функция Л(Ж) называется базисной, если для любой функции / (Ж) существует представление в виде операторной формы по функции Л. Вопросы существования операторных форм подробно изложены в [3].

Из определения оператора следует, что для любой функции Л и любого оператора а = а1... а„ имеет место следующее равенство:

а(Л) = а1... аг-1а'ат ... а«(Л) ф а1 ... а^а^^ ... а„(Л), (2)

здесь а», а», а»' — попарно различные символы из множества {а, е, р}. Назовем равенство (2) разложением оператора а по г-ой компоненте. В дальнейшем в разложениях операторов иногда будем опускать функцию Л, подразумевая, что равенство выполняется для любой функции, а выражение "оператор входит в операторную форму" будет означать, что оператор порождает слагаемое, которое входит в соответствующую сумму.

Мы будем использовать свойства операторов из [3], которые сформулируем в виде двух утверждений.

Утверждение А [3]. Для любого оператора а выполняется следующее равенство:

2П-1 а = ф Ь*,

*=0

где {Ь* } — все операторы размерности п, отличающиеся в каждой позиции от оператора а. Такое представление оператора единственно с точностью до перестановки слагаемых.

Это представление далее будет называться полным разложением оператора а.

Утверждение В [3]. Пусть а = а1... аь, Ж = Ж1,...,ЖП, у =

У1,..., уь-п, аг = а1... ап, а^ = а„+1... а*. Для любых функций /(Ж), $(у) имеет место равенство:

а(/(Ж) ' #(у)) = аг(/(Ж)) ' ау(#(у)).

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

Теорема 1. Специальная операторная форма по фиксированной функции Л является каноническим представлением.

Доказательство. Пусть функция / представима двумя операторными формами Ф1 и Ф2 по функции Л. Рассмотрим два вида преобразований операторных форм, которые не изменяют реализуемую функцию:

1) разложение некоторого оператора из операторной формы по одной компоненте;

2) удаление пары одинаковых слагаемых в операторной форме.

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

Полученная операторная форма называется ае-формой и является каноническим представлением булевых функций [3]. Таким образом, указанными преобразованиями каждую из форм Ф1 и Ф2 можно привести к одной и той же ае-форме.

Пусть £0^1, £0^2 и £0^3 — специальные операторные формы, полученные по Ф1, Ф2 и ае-форме функции / соответственно. Покажем, что эти специальные операторные формы совпадают.

Рассмотрим разложение оператора а = а1 ... а^ра^ ... ап на операторы Ь = а1... а^аа^ ... ап и с = а1 ... а^еа^... ап.

Легко заметить, что половина операторов полного разложения оператора Ь входит в полное разложение оператора с — это те операторы, у которых г-ая компонента равна р. После удаления пар одинаковых слагаемых в сумме разложений Ь и с останутся ровно 2п операторов, которые составляют полное разложение оператора а. Значит, специальная операторная форма не изменится при замене некоторого оператора в исходной операторной форме его разложением по одной из компонент.

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

Поскольку ае-форма может быть получена преобразованиями первого и второго вида из форм Ф1 и Ф2, имеют место равенства: £0^1 = £0^3 = £0^2 (здесь равенство форм означает равенство множеств слагаемых этих форм). □

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

Пусть £ — полная группа подстановок на множестве {а, е, р}. Для элементов группы £ будут использованы следующие обозначения:

Определим преобразование р операторов размерности п в виде последовательности рі... рп, где рі Є £. Преобразование р действует на оператор а = аі... ап следующим образом: р(а) = рі(аі)... рга(ага). Таким образом построенное преобразование р назовем Я-преобразованием.

Действие Я-преобразований можно распространить на функции.

Пусть / = 0 аг(Л.) — некоторая операторная форма функции /. Тогда і=1

р(/) = 0 р(аг)(Л). Следующее утверждение показывает, что определе-

г=1

ние корректно.

Утверждение 1. Пусть имеется Б-преобразование р и две операторные формы функции /(X) — Ф1 и Ф2. Тогда функции д1 = р(Ф1) и д2 = р(Ф2), полученные Б-преобразованием этих операторных форм, равны.

Доказательство. Аналогично с доказательством теоремы 1 рассмотрим два вида преобразований операторных форм, не меняющих реализуемую ими функцию: разложение оператора и удаление пары одинаковых слагаемых. Так же приведем формы Ф1 и Ф2 к ае-форме.

Для индуктивного шага достаточно показать, что если форма Ф2 получена из Ф1 однократным применением преобразования первого или второго вида, то функции р(Ф1) и р(Ф2) равны.

В случае применения преобразования второго вида равенство функций р(Ф1) и р(Ф2) является очевидным.

Пусть теперь Ф2 получена из Ф1 применением разложения некоторого оператора а по г-ой компоненте на операторы Ь и с. Применим к р(Ф1) разложение оператора р(а) по г-ой компоненте на операторы Ь* и с*. Поскольку рг — подстановка на {а, е, р} и аг, Ьг, Сг — попарно

различные символы из множества {а, е, р}, то Рг(аг), Рг(Ьг), р(Сг) —

также попарно различные символы из множества {а, е, р}. А значит, имеет место одна из двух систем равенств:

Ь* = р(Ь) ( Ь* = р(с)

с* = р(с) или \ с* = р(Ь) .

Следовательно, операторная форма, полученная из р(Ф1) разложением оператора р(а) по г-ой компоненте, равна р(Ф2). Отсюда следует равенство функций р(Ф1) и р(Ф2). □

Утверждение 2. Пусть р является Б-преобразованием и £0^у(Л)

— специальная операторная форма функции /. Тогда р(£0^у(Л)) — специальная операторная форма функции р(/).

Доказательство. Рассмотрим Я-преобразование р = р1 ... рп и полное разложение оператора а:

2П-1

к

а=

к=0

®ьк,

где Ьк = ьк... ЬП, Ьк = Ьі, если г-ая цифра в двоичной записи числа к равна 0, и Ьк = Сі, если г-ая цифра в двоичной записи числа к равна

1, и аі, Ьі, Сі — попарно различные символы из множества (а, е, р}. Поскольку рі — подстановка на (а, е, р}, то рі(аі), рі(Ь), р(сі) — также

попарно различные символы из множества {а, е, р}. Поэтому полное разложение оператора р(а) имеет вид:

2П-1

р(а) = 0 р(Ьк )-к=0

Таким образом, некоторый оператор Ь входит в полное разложение оператора а тогда и только тогда, когда оператор р(Ь) входит в полное разложение оператора р(а).

Пусть оператор с принадлежит М(£0^/(Л)). Рассмотрим прозволь-ную операторную форму Ф, реализующую данную функцию /. По определению специальной операторной формы найдутся операторы а1,... , а2к+1 формы Ф такие, что с входит в полное разложение каждого из операторов аг и не входит в полное разложение никакого другого оператора из Ф. Но тогда р(с) входит в полное разложение операторов р(аг), а значит, р(с) принадлежит М(£0^(/)(Л)). Аналогично, если р(с) принадлежит М(£0^(/)(Л)), то с принадлежит М(£0^/(Л)). Значит,

р(£0*> (Л)) = £0^(/)(Л).

Очевидно, что множество Я-преобразований п-местных функций является группой, для которой будет использоваться обозначение £^(п) (в случае фиксированной функции Л индекс будем опускать). Легко заметить, что порядок группы £(п) равен 6П.

Две функции /(ж1,..., жп) и д(ж1,..., жп) называются Я-эквивалент-ными, если существует р € £(п), что р(/) = д.

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

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

Теорема 2. Для любых двух базисных функций Л1(Ж) и Л2(Ж) число Б^1-классов совпадает с числом Б^2 -классов.

Доказательство. Пусть К1,...,К5 — все различные -классы. Рассмотрим функции /1(Ж) = £0/ (Л1), ... , /¿(Ж) = £0/(Л1), составляющие некоторый класс Кт, представленные соответствующими специальными операторными формами.

Рассмотрим функции /*,...,/* представленные операторными формами:

/* = 0 а(Л2).

а€М(йО^у. (Л1))

Из свойств специальной операторной формы легко получить, что представления указанного вида являются специальными операторными формами функций /*,..., /* по функции Л-2.

Функции /к и /г являются Я-эквивалентными по функции Л-1, значит, найдется такое преобразование р € £^1 (п), что р(/к) = /г. Покажем, что тогда существует преобразование р* € £^2 (п), для которого выполняется равенство р*(/*) = /г*.

Пусть р = р1 . ..р*, где рг € £. Возьмем преобразование р* покомпонентно равным преобразованию р, но действующим по базисной функции Л.2: р* = р1 ... р*, р* € £^2 (п). Таким образом, оба преобразования р и р* будут одинаково действовать на любой оператор и множество операторов, но по-разному — на функции.

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

Равенство множеств р(М(£0^д(Л^))) = М(£0^/г(Л^)) следует из утверждения 2, а поскольку преобразования р и р* действуют одинаково на множестве операторов, то р*(М(£0^д(Л^))) = М(£0^/г(Л^)). Отсюда следует равенство р*(£0/*(^2)) = £0^/*(^2), которое означает, что функции /* и /* принадлежат одному классу Я^2-эквивалентности. Обозначим этот класс через Кп.

Пусть функция д* принадлежит классу , то есть найдется преобразование ф* € £^2 (п), что д* = ф*(/*). Возьмем ф € £^1 (п), покомпонентно равное ф*. Тогда функция д = ф(/1) принадлежит Кт. Значит, имеет место равенство |Кт| = |К^ |.

Из единственности специальной операторной формы следует, что при Кт = К* выполняется Кт = К*. Таким образом, можно установить взаимно однозначное соответствие классов Я^1 -эквивалентности и классов Я^2-эквивалентности. □

При дальнейшем изложении будем считать, что базисная функция Л равна Ж1 ■ ... ■ жп. Результаты о числе Я-классов для данной функции по теореме 2 будут верны для любой базисной функции.

Введем следующие обозначения для невырожденных матриц размерности 2:

Каждому Я-преобразованию р размерности п сопоставим матрицу А(р) размерности 2П х 2П следующим образом:

1. При п = 1 имеет место соответствие:

Л(^) = I, Л(5) = Б, Л(е) = Е, Л(п) = Р, Л(^) = М, Л(^) = N.

2. При п > 1 матрица Л(р) равна кронекерову произведению соответствующих матриц:

ПЕРЕЧИСЛЕНИЕ ОПЕРАТОРНЫХ КЛАССОВ БУЛЕВЫХ ФУНКЦИЙ 47 Кронекерова степень матрицы А будет обозначаться:

Символом О обозначим нулевую матрицу, размер которой будет определяться по контексту.

сти 2П х 2П и имеют место следующие равенства:

МИ ■ N^1 = 1[п]; М[п] ■ М[п] = N^1; = М[п].

Теорема 3. Для любого Б-преобразования р = р1... р* и функции / выполняется равенство р(/) = Л(р) ■ /, где функции / и р(/) представлены векторами.

Доказательство. 1. При п = 1 достаточно рассмотреть 6 случаев, поскольку р € £.

Для примера рассмотрим р = V и функцию /, представленную операторной формой / (ж) = ж ■ /X Ф Ж ■ /X = /X ■ р(ж) ф /X ■ е(Ж). Далее применим преобразование р к функции /:

Остальные случаи проверяются аналогично.

2. Пусть п > 1 и р = р1р2 ... р*. Символом В обозначим матрицу преобразования р* = р2 ... р*. Аналогично пункту 1, для р1 достаточно рассмотреть 6 случаев. Доказательство проведем для случая р1 = V.

Поскольку Я-преобразование действует на оператор покомпонентно, то из утверждения В следует, что для любого преобразования ф = 01... ф* и двух преобразований ф^ = 01... ф* и ф^ = фп+1 ... ф*, полученных разбиением его компонент, будет верно равенство:

Разобъем множество переменных {ж1,..., жга} на два множества {Ж1} и {ж2,..., жга} и применим к ним равенство (3):

Для остальных подстановок равенство проверяется аналогично. □

А ф А ф ■ ■ ■ ф А = А К

-V’

п

Индукцией легко показать, что 1[п] — единичная матрица размерно-

^(/) = ■ V(Р)(х) Ф /1 ■ V(е)(х) = ■ е(х) Ф /1 ■ <і(х)

^(/(х) ■ £(у)) = ^г(/(х)) ■ ^(£(у))-

(3)

р(/) = р(жі/;01 ф жі/і1) = V(хі)р*(/;01) ф V(хі)^*(/І1) = = v (р(хі))в/;01ф v (е(х і ))в/і 1 = е(жі)в/;01 ф а(хі)в/ж11

Функцию / будем называть инвариантной по преобразованию р, если

Р(/) = /- (4)

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

Лемма 1. Пусть преобразование р представимо матрицей А. Тогда имеет место равенство з£(р) = 22П-гапк(А®1[п]).

Доказательство. Уравнение (4) можно записать в матричной форме: А ■ / = /, или в виде (А ф II”])/ = 0. Количество решений этого однородного уравнения равно 22"-гапк(А®1[п1). □

Лемма 2. гапк(мИ ф 1[п]) = 3(2П + (-1)га+1).

Доказательство. При п < 3 равенство проверяется непосредственно. При п > 3 распишем кронекерову степень следующим образом:

М[п-1] М[п-1]'

М[п-1] о

Т[п-1] о

о 1[п-1]

Тогда матрица М[п] ® 1[п] будет иметь вид

М[п-1] ф1[п-1] М[”-1]

-1 е М 1[п-1]

Ф I1”1 =

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

Умножая матрицу М[п] Ф 1[п] на невырожденные матрицы (выполняя линейные преобразования строк и столбцов), приведем ее к диагональному виду:

М[п] Ф 1[п]

1[п-1] 1[п-1]^ І' т[п-1] о

о 1[п-1] ) ( т[”-1] М[”-

М=Ц (МНфҐ”!)-

1[п-1] ,о ( о - е £

-1 е М 1[п-1] 1 \^М[п-1]ф ^”-1]ф1[п-1] о

Тогда, используя равенство гапк(М[” 1]) = 2” 1, ранг исходной матрицы можно найти из соотношения:

гапк(М[”] ф 1[”]) = 2”-1 + гапк(М[”-1]ф^”-1]ф1[”-1]).

и

При дальнейшем изложении доказательства для краткости записи будем опускать показатель кронекеровой степени, подразумевая его равным п - 3.

Рассмотрим матрицу М1”" -1] ф ^га-1] ф I1” 1]. Дважды расписываем кронекерову степень, спускаясь к матрицам кронекеровой степени п- 3:

М[п-1] ф ^га-1] ф1[п-1] =

/ М ф1 М М М ф N

1] = М I MфN N

М М ф N I N

^Мф N N N N ф I

/

Умножив матрицу М[”-1] ф^”-1] ф1[”-1] слева на матрицу А1

А1 =

и справа на матрицу А2

(I О I О\ (I О О О

О I I О N I О О

О О I О О I I О

V0 О О ч уМ О О ч

А2 =

(I N О М /I О О О^

О I I О О I О О

О О I О I О I О

О О О ч О О О ч

получим эквивалентную матрицу:

М[п-1] ф ^га-1] ф1[п-1]

/Мф! О О О

1] О О М ф N ф I О

О М ф ^ I О О

О О О О

/

Тогда выполняется следующее равенство:

гапк(М[п-1] ф ^га-1] ф 1[п-1]) =

= гапк(М[п-3] ф 1[п-3]) + 2гапк(М[п-3] ф ^га-3] ф 1[п-3]).

Введем обозначения: = гапк(М[п]ф 1[п]), = гапк(М[п]ф^га]ф 1[п]).

Тогда = 2”-1 + 1п-1 и 1п-1 = йга-3 + 2 ■ 1п-3. Подставим значение йга-3 в выражение для 1п-1: 1п-1 = 2”-4 + 2 ■ 1п-3 + 1п-4.

Разрешая это рекуррентное соотношение, получим: 1п-1 = 1 (2” 1 +

2 ■ (-1)га+1) и = 2(2га + (-1)га+1).

Окончательное соотношение для ранга матрицы М[”] ф 1[”] примет вид: гапк(МНф 1[га]) = 3(2га + (-1)га+1). □

Лемма 3. гапк((Б ® М[га]) ф 1[га+1]) = 3(5 ■ 2га + 2(-1)га+1).

Доказательство. Расписав кронекерову степень и выполнив операции, получим:

(Б фМ[га]) ®1[га+1] =

на матрицу В2, где

В =

получим:

І[п1 О

М[п1 NN

, В =

іИ М[п1

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

М[п1 іИ

слева на

( І[п1

NN

О

І[п1

гИ

О М[п1

М[п1 ф І[п1 О

Тогда гапк((Б ф М[п]) ® 1[п+1]) = гапк(МИ) + гапк(ММ ® 1[п]). Невырожденность матрицы МН и лемма 2 дают окончательную формулу:

2 1

гапк((Б фМ[п1)®І[п+11) = 2П + -(2П + (-1)П+1) = -(5 ■ 2П + 2(-1)П+1).

3 3

Лемма 4. гапк((1 ф А) ф 1[п]) = 2гапк(А ф 1[га 1]), где А — Б-преобразования размерности п — 1.

матрица

Доказательство. Расписав кронекерову степень в явном виде

(I фА) ф І[п1 =

А О

О А

ф

І[П-11 О

О І[П-і1

А фі[п-11 О

V О А Ф І[П-11

получаем гапк((1 ф А) ф 1М) = 2гапк(А ф 1[п-1]).

Лемма 5. гапк((Б[2] ф А) ф 1[п]) = 2 гапк((Б ф А) ф 1[п-1]), где А — матрица Б-преобразования размерности п — 2.

Доказательство. Дважды расписав кронекерову степень и выполнив перестановку строк и столбцов, получим:

НІ П 1 1 А О О

(Б[21 ф А) ф І[п1 - А НІ П 1 1 О О

О О І П 1 1 А

1 О О А І[П-21

Поскольку матрица (Б ф А) ф 1[” 1 имеет вид

(Б ф А) ф І[П -11 = ( І[п-21 А

= { А І[п-21 )'

П

П

и

П

(Б ф А) ф 1[п-1] О

О (Б ф А) ф 1[п-1]

ПЕРЕЧИСЛЕНИЕ ОПЕРАТОРНЫХ КЛАССОВ БУЛЕВЫХ ФУНКЦИЙ 51 то выполняется эквивалентность:

(Б[2] ф А) ф Iм -

Получили равенство гапк((Б[21 ф А) ф 1И) = 2гапк((Б ф А) ф 1[п-1]).

Лемма 6. ££(рчр>2 • • • рп) = ^¿(^¿1 • • • Ргп), где (г 1,..., гп) — некоторая перестановка элементов множества {1, 2, • • •, п}.

Доказательство. Пусть р = Р1Р2 • • • рп и р* = р^1 Рг2 • • • . Возьмем

функцию /, инвариантную по преобразованию р: р(/) = /. Пусть

£

/ (X) = 0 а1 (Х1 ■ ••• ■ ж„)

1=1

— некоторая операторная форма функции /. По утверждению В для любого оператора а = а1 • • • а„, и функции а1 • • • ап(ж1 ■ • • • ■ жп) выполняется:

а1 • • • ап(ж1 ■ • • • ■ Жп) = а1(ж1) ■ • • • ■ а^ж^

Пусть перестановка (71, •••,_?„) является обратной к перестановке (¿1, • • •, гп). Тогда по предыдущему равенству выполняется:

а1 • • • а«(жл ■ • • • ■ ^) = а1(жл) ■ • • • ■ ага(ж^п) = а*1 (ж1) ■ • • • ■ агп

Рассмотрим функцию д(ж1, • • • ,жп) = /(ж^, • • • , ж^п). Согласно приведенным равенствам функция д может быть представлена в виде:

£

д(ж) = 0 агЧ • • • (ж1 ■ • • • ■ жга)-

1=1

Для инвариантной по преобразованию р функции / выполняется

/(ж) = 0 Р1(а1) • • • Рп(аП)(ж1 ■ • • • ■ жп)• 1=1

Поскольку функция д(ж) = /(ж^, • • •, ж^п), то

д(ж) = 0 Р*1 (а11) • • • Ргп (а1„ )(ж1 ■ • • • ■ жп) =

1=1 = 0 р*(агч • • • а1П )(ж1 ■ • • • ■ жп) = р*(д)^ 1=1

Получили, что функция д инвариантна по преобразованию р*. Таким образом, мы установили однозначное соответствие между множествами функций, инвариантных по преоразованиям р и р*, а значит, з£(р) = «¿(р*). □

Лемма 7. ¿¿(р>1р>2 • • • рп) = «¿(КрчМр^) • • • г(рп)), где

{¿, если р

если р € {5, е, п}; если р € {^, V}•

Доказательство. Положим р = р>1р>2 • • • рп и пусть А обозначает матрицу преобразования р>2 • • • рп. Рассмотрим возможные значения р1.

1. Пусть р>1 € {¿,5,^}. По условию леммы г(р>1) = рь

Тогда верно равенство ^1^2 • • • рп = г(р>1)р>2 • • • рп и, следовательно, равенство з£(р>1р>2 • • • рп) = «¿(^(^1)^2 • • • рп)

2. Пусть р>1 = е. В этом случае А(р) = Е ф А.

Выполним преобразования матрицы А(р) ф 1[п|:

(Е ф А) ф 1[п]

Л[п-1| Л[п-1|

О 1[п-1]

'Л[п-1| Л[п-1|

О 1[п-1]

1[п-1] А

А 1[п-1]

= (Б ф А) ф 1[п| •

По лемме 1 выполняется £¿(^>1^2 • • • рп) = «¿(^(^1)^2 • • • рП)

3. Пусть р1 = п. В этом случае А(р) = Р ф А. Преобразуем матрицу А(р) ф 1[п|:

'1[п-1] О

1[п-1] 1[п-1]

'1[п-1] О

1[п-1] 1[п-1]

Л[п-1| А

А 1[п-1]

лП-г) = (Б ф А) ф1|п|-

По лемме 1 выполняется £¿(^>1^2 • • • рп) = «¿(^(^1)^2 • • • рП)

4. Пусть рч = V .В этом случае А(р) = N ф А.

Тогда матрица А(р) ф 1|п| приводится к следующему виду:

^ ф А) ф 1|п|

О Л[п-1|

1[п-1] О

■ ((N ф А) ф 1|п|) ■

'а ф 1[п-1] А

А -1 [п 1—1

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

угП-тг) = (м ф А) ф1|п|-

О 1[п-1]

1[п-1] О

)^2 ••

Рассмотренные случаи показывают, что равенство ££(рчр>2 • • • рп) «¿(г(^1)^2 • • • рп) выполняется для любого р>1 € £•

п

п

По индукции, с использованием леммы 6, получается окончательное равенство:

¿¿(^>1^2 • • • рп) = ^(г(рч) • • • Г(рп))-

Леммы 1-7 и лемма Бернсайда [1] позволяют получить формулу для нахождения числа Я-классов.

Теорема 4. Число Б-классов (п) булевых функций п переменных

выражается формулой

1 ™ / 2п-т(2т+2(-1)т) 2п-т(2т +2(-1)т)

(п) = - Е 2тст (4п-т - 1)2------------6------+ 2--------3------

6 т=0 '

Доказательство. Возьмем преобразование

р = ¿•••¿¿•••¿^•••^,

где г + й + т = п. По лемме 1 имеем ¿¿(р) = 22" гапк(АЫ®1[п]), где

А(р) = 1Й ф БИ ф М[т|.

Рассмотрим 2 случая.

1. Пусть й = 0. В этом случае г = п — т. Используя лемму 2, получаем:

с(М1"*' ® Г'"1) = 2

Далее по лемме 4

гапк(М[т] ® І[т]) = -(2т + (-1)т+1). 3

2 гапк((І[га-т] ® М[т]) ф І[п]) = 2п-т-(2т + (-1)т+1). 3

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

о п оп — т 2/ о ті/ і\т+1\

5%) = 22 -2 з(2 +(-1) + ).

Согласно леммам 6 и 7, любое преобразование, полученное из р перестановкой компонент и заменой некоторых ^ на V, будет иметь столько же инвариантных функций. Расставить ^ можно СП способами, а заменить их на V можно 2т способами, поэтому всего таких преобразований будет 2тСПт.

2. Пусть ! > 0. По лемме 3:

гапк((Б ® М[т]) ф І[т+1]) = ^(5 ■ 2т + 2(-1)т+1). 3

По лемме 5:

гапк((Б[гі] ® М[т]) ф 1[^+т+1]) = 2^-11(5 . 2т + 2(-1)т+1).

3

По лемме 3 имеем окончательное значение ранга:

гапк((1И ® Б^ ® М[т]) ® 1[^+т+1]) = 2*+^-1 ^(5 ■ 2т + 2(-1)т+1).

3

И число инвариантных функций в этом случае будет равно ^(р) = 22"-2^-4 (5^2т+2(_1)т+1).

Подставим значение г = п — т — й в это выражение:

^(р) = 22п-2п-т-11 (5^2т+2(_1)т+1).

Применяя опять леммы 6 и 7, получим, что 3^2т'С'ПгС'П_т преобразований будут иметь такое же количество инвариантных функций, так как / можно расставить СП способами, после этого 5 можно расставить СП_т способами и 3^ способами можно заменить 5 на п и е, 2т способами — / на V.

Теперь используем лемму Бернсайда для Я-преобразований в следующей формулировке:

К(п) = ^ ^ в^.

|йп 1 *>€£„

В данной сумме сгруппируем одинаковые слагаемые:

(

2тСт5£(£... 1 /... /)+

\ га_т, т

1 П

К(п) = бп Е

т=0

+ ^ 3^тСтСП_т5£( ^... 1 5 ... 5 /... /)

^=1 га_т_й ^ т

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

п

К(п) = -1 2тс;г 22П_2П-т2(2т+(_1)т+1) +

6п ^ п т=0

п_т

:íd^-id -2П_2П — т —11 ( 5^2т_

+ ^ 3dCd 22П_2П—т —13(5^2т+2(_1)т+1М

d=1 /

Первое слагаемое внутри суммы упрощается следующим образом:

22П_2П —т § (2т + (_1)т+1) = 2 2П —т (2т + 2( —1)т )

Второе слагаемое упрощается с помощью формулы бинома Ньютона:

п_т

3dcd 22П—2П т 133 (5-2т+2(_1)т+1) =

d=1

2n-m(2m+2(-1)m)

6

d=1

В итоге получается следующая формула для числа S-классов:

m=0

Список литературы

1. Логачев О.А. Булевы функции в теории кодирования и криптологии / О.А. Логачев, А.А. Сальников, В.В. Ященко — М.: МЦНМО, 2004. — 470 с.

2. Черемушкин А.В. Линейная и аффинная классификация дискретных функций (обзор публикаций) / А.В. Черемушкин // Математические вопросы кибернетики, 2005. — С. 261-280.

3. Избранные вопросы теории булевых функций: Монография / А.С. Балюк, С.Ф. Винокуров, А.И. Гайдуков и др.; Под ред. С.Ф. Винокурова, Н.А. Пе-рязева. — М.: Физматлит, 2001. — 192 с.

S. F. Vinokurov, A. S. Kazimirov

Enumeration of operator classes for boolean functions

Abstract. This paper contains the results for enumeration of S-classes of Boolean functions. S-classification is based on operator representations for Boolean functions which are an extension of EXOR-sum-of-products expressions.

Keywords: boolean function, polynomial form, operator, special normal form, group classification.

Винокуров Сергей Федорович, доктор физико-математических наук, профессор, Восточно-Сибирская государственная академия образования, 664011, Иркутск, ул. Н. Набережная, 6 тел.: (3952)240435 (vin@math. isu.ru)

Казимиров Алексей Сергеевич, кандидат физико-математических наук, Восточно-Сибирская государственная академия образования, 664011, Иркутск, ул. Н. Набережная, 6 тел.: (3952)240435 тел.: (3952)242210 (a.kazimirov@gmail.com)

Vinokurov Sergey, East Siberian State Academy of Education, 6, N. Naberezhnaya St., Irkutsk, 664011 professor, Phone: (3952)240435 (vin@math. isu.ru)

Kazimirov Alexey, East Siberian State Academy of Education, 6, N. Naberezhnaya St., Irkutsk, 664011 Phone: (3952)240435 (a.kazimirov@gmail.com)

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