ПОДХОДЫ К КЛАССИФИКАЦИИ РЕГУЛЯРНЫХ СИСТЕМ ОДНОТИПНЫХ ДВОИЧНЫХ ФУНКЦИЙ, ПОСТРОЕННЫХ С ПОМОЩЬЮ ЦИКЛИЧЕСКОГО СДВИГА
А.В. САРАНЦЕВ, ИКСИ, Москва
В работе рассматриваются вопросы, связанные с классификационными исследованиями биективных преобразований специального вида.
Преобразование пространства Vn двоичных векторов длины n может быть задано с помощью системы координатных функций f1, ..., fn). Вычисление образа (y1, ..., yn) входного вектора (х1, ..., xn) производится по формуле
yi = f(xi, ..., xn), i = 1, 2, ..., n.
В работе [4] для компактной реализации биективных отображений предложено использовать регулярные системы (f, gf, ..., gn-f) булевых функций, порожденных одной базовой функцией f таким образом, что все координатные функции задаются из исходной с помощью преобразований g1, g2, ..., gn_1, принадлежащих некоторой группе G. В этом случае все координатные функции являются представителями классов эквивалентности по группе G или типов [3]. В работе [4] приводятся результаты классификационных исследований таких функций и порождаемых ими систем с использованием свойств групп преобразований координат двоичных функций. В работе [5] исследуется вопрос построения таких систем функций с помощью преобразования координат, осуществляемого аффинным регистром сдвига.
В настоящей работе рассмотрим частный случай построения регулярных систем однотипных двоичных функций с помощью преобразования циклического сдвига координат порождающей функции.
Пусть О! (Xi, Х2, ..., Xn) ^ (Х2, Хз, ..., Xn, Xi) преобразование циклического сдвига координат векторов пространства Vn, f - двоичная функция от n переменных. В представлен-
ной работе исследуются вопросы классификации биективных преобразований вида
{/ с) = (/ ,с/ ),
где с/ = /х2,...,хп)) = /(х2,хп,хг).
Опишем алгоритм построения всех регулярных систем вида {^ о). На предварительном этапе разбиваем все множество векторов пространства ¥п на непересекающиеся орбиты преобразования циклического сдвига о
V = ид.- = и}.
Каждую орбиту А мощности I записываем в виде матрицы размера I х п и через А^ обозначаем 1-й столбец построенной матрицы.
Теперь, чтобы построить порождающую функцию / системы /; о), сначала для каждой орбиты Аг- мощности I по перестановке ^ на множестве орбит мощности I выбираем орбиту А8(1). Затем полагаем вектор значений функции / на множестве векторов
орбиты Аг-, равным вектору (аА^^, где ] -
произвольный столбец матрицы, соответствующей орбите А^).
Остальные координатные функции системы {/; о) строим из порождающей функции / циклическим сдвигом ее координат.
Рассмотрим преобразование циклического сдвига а координат как элемент ст группы $уп подстановок на векторах пространства Уп. Через Ы5у (ст) обозначим нормализатор этого элемента в группе , т.е. множество подстановок g из таких, что g ■ ст = ст • g [2]. Описание элементов
нормализатора (а) по цикловой структуре подстановки а представлено в работе [1]. Поскольку цикловая структура подстановки а соответствует разбиению пространства Уп на непересекающиеся орбиты циклического сдвига а, то множество всех построенных выше систем вида /; а) совпадает с нормализатором (а) . Отсюда
Уп 4
следует, что построенные системы являются регулярными и образуют подгруппу в группе . В частности, преобразование /; а)-1,
обратное к преобразованию /; а), может быть представлено в виде (р; а), где <р - некоторая двоичная функция. Число всех регулярных систем вида /; а) равно
П М (й )!(М (й)
й\п
где М(й) - число орбит мощности й преобразования циклического сдвига. Для проверки регулярности преобразования /; а) может быть применен критерий Хаффмана [4]. В одной из интерпретаций этого критерия требуется проверить равновероятность любой нетривиальной линейной комбинации координатных функций системы. Для исследуемых систем вида /; а) такая проверка может быть несколько упрощена.
Утверждение 1
Пусть Ущ = Ц{а,а(аХ-а^а) } -
разбиение пространства Уп на орбиты преобразования а. Система /; а) регулярна в том и только том случае, когда функции
а11 / Ф — Фст1|М/ равновероятны для всех векторов
а = \ о,—,0,1,0,—,о, 1,0,-01.
V 11 м ) Доказательство
Любой нетривиальной линейной комбинации сгч / Ф — ®ач/ координатных функций преобразования /; а) поставим в соответствие двоичный вектор
0, —,0,1,0, —,0,1,0, —0 |,
к Ч
содержащий единицы только на местах с номерами к1, ..., кк. Построенный вектор принадлежит некоторой орбите преобразования а, поэтому он может быть получен из соответствующего вектора
а = Г 0,—,0,1,0,—,0,1,0,—0]
V л ]н\ )
орбиты посредством циклического сдвига на несколько позиций влево. Поскольку для всех целых I из равновероятности функции
а11 / Ф — Ф а1"'1 / следует равновероятность
функции а (а11 / Ф — Фа1 а /), то далее справедливость утверждения вытекает непосредственно из критерия Хаффмана.
Таким образом, для построения всех регулярных систем вида /; а) необходимо создать массив векторов-представителей орбит циклического сдвига и, воспользовавшись предыдущим утверждением, провести классификацию двоичных функций относительно циклического сдвига координат. Такие экспериментальные исследования были проведены для множества равновероятных функций от 3 до 5 переменных без свободного члена в многочлене Жегалкина. Результаты исследований представлены в табл. 1.
Таблица 1
п Количество классов эквивалентности Количество классов, порождающих системы вида / а) Количество классов, не порождающих системы вида / а)
3 13 6 7
4 1629 192 1437
5 60108055 2250000 57858055
Ввиду сложности проверки регулярности системы /; а) для больших значений п, возникает прикладная задача описания некоторых классов функций, заведомо порождающих регулярные системы такого вида. В этом направлении видятся два подхода. Первый заключается в «увеличении» группы, по которой проводится классификация порождающих функций. Второй подход состоит в разработке способов построения «новых» систем из регулярных систем, построенных ранее.
В описанной выше классификации равновероятных двоичных функций в качестве группы, по которой проводилось разбиение функций на классы эквивалентности, была выбрана группа (о) преобразований пространства Уп, порожденная циклическим сдвигом координат векторов. При выборе группы, содержащей группу (о) в качестве подгруппы, требуется, чтобы у построенных классов эквивалентности двоичных функций свойство порождать регулярную систему вида (/; о) было инвариантом класса.
Утверждение 2
Пусть О некоторая группа, содержащая группу (о), Ла((о)) - нормализатор группы (о) в группе О. Тогда, если система (/; о) регулярна, то для любого преобразования g из нормализатора Ла((о)) система (/; о) является регулярной.
Доказательство
Пусть система (/; о) регулярна, g - произвольное преобразование из нормализатора Ла((о)). Рассмотрим действие системы (/; о) на вектор х из пространства ¥п. В силу перестановочности элемента g со степе-
нями преобразования о справедливы соотношения
{/)) (X) = /к (X)) / )(? ( X) ))..., / )ап1 ^ (Х)))) = = (/,/ ...)п-1/)(g (Х))=( / ;)(g ( X))
Последние равенства доказывают справедливость утверждения.
Определим действие на пространстве ¥п группы ОЬ (п, 2) обратимых матриц над полем О¥ (2) как умножение матрицы на столбец координат вектора. Тогда, используя изоморфизм группы перестановок координат и группы перестановочных матриц, преобразованию циклического сдвига влево координат векторов пространства Уп можно поставить в соответствие п х п матрицу
Го 1 о ......... о^
0 0 10 о
т =
0 о
1 о
"-. о
о 1 о о
Нормализатором матрицы т в группе ОЬ (п, 2), как нетрудно проверить, являются обратимые матрицы, каждая строка которых получена циклическим сдвигом вправо предыдущей строки. Таким образом, при построении регулярных систем вида /; о), достаточно выбирать функции из класса эквивалентности по группе N ОЬ (п, 2)(Т).
В ходе экспериментальных исследований проведена классификация по нормализатору циклического сдвига двоичных функций от 3 до 5 переменных без свободного члена в многочлене Жегалкина, которые порождают регулярные системы вида / о). Результаты исследований представлены в табл. 2.
Таблица 2
п Мощность нормализатора N ОЬ (п, 2) (Т) Количество классов эквивалентности Количество классов, порождающих системы вида (/; а) Количество классов, не порождающих системы вида (/; а)
3 3 13 6 7
4 8 865 96 769
5 15 2оо3бо53 75оооо 1928бо53
Опишем способ построения регулярных систем вида /; а) из систем, построенных ранее. Поскольку композиция регулярных преобразований есть регулярное преобразование, то для любой регулярной системы /; а) и обратимой матрицы А из группы ОЬ (п, 2) преобразование А ◦ /; а) регулярно. При этом, если в к-й строке матрицы А единицы стоят только на местах с номерами 1\, /2, ..., ц, то /-я координатная функция преобразования А ◦ /; а)/; а) представляет собой линейную комбинацию координатных функций преобразования /; а) с номерами /1, /2, ..., /V. Таким образом, для того чтобы преобразование А ◦ /; а) имело вид (ф; а), необходимо и достаточно выполнение двух требований: во-первых, матрица А должна быть обратима; во-вторых, каждая строка матрицы А должна быть получена из предыдущей строки циклическим сдвигом координат вправо.
Представленный способ построения новых регулярных систем функций позволяет в приведенной выше классификации частично «склеить» классы эквивалентности по нормализатору N ОЬ (п, 2) ((а)). Количественные результаты экспериментальных исследований в данном направлении представлены в табл. 3.
Таблица 3
п 3 4 5
Количество классов, порождающих системы вида (/; а) 6 52 250040
Вернемся к алгоритму построения всех регулярных систем вида (/; а) и рассмотрим структуру построенных порождающих функций.
Для любого п существует ровно две орбиты преобразования циклического сдвига, мощность которых равна 1. Это орбиты {(0, ...,0)} и {(1, ...,1)}. Поскольку без ограничения общности достаточно рассматривать только двоичные функции без свободного члена в многочлене Жегалкина [4], то построенные функции принимают значение
0 на векторе (0, ...,0) и 1 на векторе (1, ...,1). В противном случае порожденные такими функциями системы не будут являться регулярными.
Заметим, что если
Л = {а,ст(а),...,ст'-1 (а)}
- некоторая орбита мощности I, то множество векторов
Л = {а,ст(а),—,ст'-1 (а)},
в которое входят отрицания элементов орбиты А, также является орбитой мощности Последний факт вытекает из равенства
а (а) = а (а).
При этом каждый столбец (л) является отрицанием столбца (л), 1 е 1 к.
Таким образом, инвертирование всех значений, которые функция / принимает на векторах орбит одинаковой мощности, соответствует перестановке значений функции на векторах этих орбит. При этом возможны
два случая. Если векторы значений (л) и (л) соответствуют орбитам, отличающимся инверсией векторов, то происходит перестановка этих значений. Если же векторы (л)^ и
(Л)/ являются столбцами одной и той же матрицы, соответствующей орбите, то происходит циклический сдвиг значений функции на этой орбите. Отметим, что в любом из этих случаев возможно получение функции, которая будет лежать в другом классе эквивалентности по нормализатору N ОЬ (п, 2) ((а)) и не может быть представлена в виде линейной комбинации координатных функций системы, порожденных исходной функцией. Это связано с тем, что такое преобразование координатных функций системы не является линейным.
Пример
Пусть п четно. Рассмотрим регулярную систему (х1; а). Эта система задает тождественное преобразование векторов пространства Уп. В случае четного п преобразо-
вание циклического сдвига координат двоичных векторов имеет орбиту А = {(о, 1, о, 1, ..., о,1), (1, о, 1, о, ..., о, 1)} мощности 2. Зададим двоичную функцию ф следующим образом
Г1, если х е А,
х) = 1 п
[о, если х ё А.
Из предыдущих рассуждений следует, что система (х1 + ф; о) регулярна. Однако никаким линейным преобразованием координат функция ф не может быть получена из функции х1, поскольку их степени нелинейности различны.
Таким образом, классификация двоичных функций, порождающих системы вида (/; о) с точностью до функций-слагаемых, принимающих единичные значения на орбитах циклического сдвига одинаковой мощности, позволяет уменьшить количество классов эквивалентности порождающих функций. При этом сокращение числа классов пропорционально мощности множества таких функций-слагаемых. В частности, в случае простого п, когда две орбиты циклического сдвига имеют мощность 1, а остальные - п, количество классов сокращается в два раза. По результатам экспериментальных исследований получено следующее количество классов, порождающих регулярные системы рассматриваемого вида (табл. 4).
Таблица 4
Таким образом, проведенные классификационные исследования позволяют выписать представителей классов двоичных функций, порождающих регулярные системы вида (/; о). Полиномы Жегалкина представителей таких классов функций от 3 и 4 переменных имеют следующий вид.
Для п = 3:
1. х1,
2. х1 + х1 х3 + х2 х3,
3. х1 + х1 х2 + х2 х3.
Для п = 4:
1. х1,
2. х1 + х1 х3 х4+ х2 х3 х4,
3. х1 + х1 х2 х4+ х2 х3 х4, ,
4. х1 + х1 х2 х3+ х2 х3 х4,
5. х1 + х1 х4 +х2 х3+ х1 х2 х3 + х1 х2 х4 + х1 х3 х4+
+ Х2 Х3 Х4,
6. х1 +х2 х3+ х1 х2 х3 + х1 х3 х4 + х2 х3 х4,
7. х1 + Х2 Х3+ Х2 Х3 Х4,
8. х1 +х1 х4+ х2 х3 + х1 х2 х3 + х1 х3 х4,
9. Х1 +Х2 + Х1 Х2 +Х1 Х4+ Х2 Х3 + Х2 Х4 + Х1 Х2 Х3+ + х1 х3 х4 + х2 х3 х4,
10. Х1 +Х2 + Х2 Х3 + Х2 Х4 + Х2 Х3 Х4,
11. х1 +х2 + х1 х2 +х1 х4+ х2 х3 + х2 х4 + х1 х2 х3,
12. Х1 +Х2 + Х1 Х2 +Х1 Х4+ Х2 Х3 + Х2 Х4 + Х1 Х3 Х4,
13. х1 +х2 + х2 х3 + х2 х4 + х1 х2 х4,
14. Х1 +Х2 + Х2 Х3 + Х2 Х4 + Х1 Х2 Х3.
В качестве приводимых выше представителей классов выбирались функции, имеющие минимальный номер (где под номером функции подразумевается число, двоичное представление которого совпадает с вектором значений функции).
Работа осуществлена при поддержке гранта Президента РФ (НШ-2358.2оо3.9).
Библиографический список
1. Глухов М.М., Елизаров В.П., Нечаев А. А. Алгебра. Т.1. - М.: Гелиос АРВ, 2оо3.
2. Каргаполов М.И., Мерзляков Ю.И. Основы теории групп. - М.: Наука, 1972.
3. Никонов В.Г. Классификация минимальных базисных представлений всех булевых функций от четырех переменных // Обозрение прикл. и про-мышл. матем. Сер. дискретн. матем. - 1994. -Т. 1. - Вып. 3. - С. 458-545.
4. Никонов В.Г., Саранцев А.В. Методы компактной реализации биективных отображений, заданных регулярными системами однотипных булевых функций // Вестник РУДН. Серия прикл. и комп. математика. - Т.2. - № 1. - 2оо3. - С. 84-95.
5. Саранцев А.В. Построение регулярных систем однотипных двоичных функций с использованием регистра сдвига // Вестник МГУЛ - Лесной вестник. - 2оо4. - № 1(32) - С. 164-169.
п 3 4 5
Количество классов, порождающих системы вида (/ а) 3 14 125о2о