Алгоритм быстрого умножения элементов в 2-группах на основе полиномов Жегалкина

Обложка

Цитировать

Полный текст

Аннотация

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

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

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

Цель настоящей работы – создать алгоритм быстрого умножения элементов в конечных 2-группах, т. е. в группах периода 2n.

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

Во втором разделе представлен псевдокод алгоритма, на основе которого вычисляются полиномы Жегалкина. На первом этапе алгоритма вычисляется pc-представление группы, на основе которого получают полиномы Холла. На заключительном этапе полиномы Холла преобразуются в полиномы Жегалкина.

В третьем разделе продемонстрирован пример получения полиномов Жегалкина для двупорожденой группы периода 4.

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

Полный текст

Введение

Проектирование сети многопроцессорной вычислительной системы (МВС) или дата-центра представляет собой важную проблему, в рамках которой осуществляется поиск моделей графов, обладающих привлекательными топологическими свойствами и позволяющих применять эффективные алгоритмы маршрутизации. Указанными свойствами, в частности такими, как высокая симметрия, иерархическая структура, рекурсивная конструкция, высокая связность и отказоустойчивость, обладают графы Кэли [1]. Например, такие базовые топологии сети, как «кольцо», «гиперкуб» и «тор», являются графами Кэли.

Определение графа Кэли подразумевает, что вершины графа являются элементами некоторой алгебраической группы. Выбор группы и ее порождающих элементов позволяет получить граф [2], отвечающий необходимым требованиям по диаметру, степени вершин, количеству узлов и т. д. Решению данной задачи посвящено большое количество научных статей и монографий, среди которых выделим работы [3–15].

Как было сказано, одной из широко применяемых топологий МВС является k-мерный гиперкуб. Данный граф задается k-порожденной бернсайдовой группой периода 2. Данная группа имеет простую структуру и равна прямому произведению k экземпляров циклической группы порядка 2. Обобщением гиперкуба является n-мерный тор, который порождается прямым произведением n экземпляров циклических подгрупп, порядки которых могут не совпадать. В статьях [16–19] изучаются графы Кэли бернсайдовых групп периода 3, 4, 5 и 7.

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

Цель настоящей работы – создать алгоритм быстрого умножения элементов в конечных 2-группах, т. е. в группах периода 2n

В первом разделе статьи дано теоретическое обоснование алгоритма быстрого умноженияв конечных 2-группах. Показано, что элементы данных групп могут быть представлены в виде битовых строк, а их умножение осуществляется на основе полиномов Жегалкина.

Во втором разделе представлен псевдокод алгоритма, на основе которого вычисляются полиномы Жегалкина.

В третьем разделе продемонстрирован пример получения полиномов Жегалкина для двупорожденой группы периода 4.

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

  1. Доказательство основного результата

Теорема. Пусть G – произвольная конечная группа 2-группа, порядок которой равен .Тогда будут верны следующие утверждения:

  1. xGx=(x1,...,xn)2n.
  2. x,y,zG:xy=zzi=fi(x,y)2, где fi(x,y) – некоторые полиномы Жегалкина.

Доказательство. Любая конечная 2-группа G имеет pc-представление (power commutator presentation [3; 4]):

G={a1,,anai2=vii,1in,[ak,aj]=vjk,1j<kn},

где слово vjk при 1jkn выражается через ak+1,,an следующим образом:

vjk=ak+1xk+1anxn,xi2.

В этом случае

xGx=a1x1anxn,xi2.

Каждый элемент группы x единственным образом задается через степени x1,,xn, поэтому мы можем записывать элементы группы следующим образом:

xGx=(x1,...,xn)2n.

Таким образом, мы можем естественным образом представлять элементы группы в виде булевых (битовых) векторов размерности n.

Пусть x=(x1,...,xn) и y=(y1,...,yn)  два произвольных элемента группы G, рассмотрим их произведение xy=z=(z1,...,zn).

Вычисление степеней  традиционно осуществляется на основе собирательного процесса Холла [3; 4]. Однако существует более эффективный способ умножения элементов, основанный на полиномах Холла [20]. В этом случае

zi=xi+yi+pi(x1,,xi1,y1,,yi1),xi,yi,zi2.

Заметим, что операции умножения и сложения в поле 2 тождественны булевым операциям «и», а также исключающему «или» соответственно. Произведя указанную замену операцийв полиномах Холла, мы получим полиномы Жегалкина [21]. Таким образом,

x,y,zG:xy=zzi=fi(x,y)2,

где fi(x,y) – некоторые полиномы Жегалкина. 

2. Алгоритм вычисления полиномов Жегалкина

В данном разделе рассмотрен алгоритм вычисления полиномов Жегалкина для конечной 2-группы G. Алгоритму на входе известны такие параметры группы, как число порождающих элементов, порядок G и её период. Также в качестве входного аргумента может фигурировать ступень нильпотентности группы.

Ниже приведен псевдокод алгоритма. 

Вход: G – конечная группа 2-группа G

Выход: полиномы Жегалкина для группы G

  1. pc=pq(G) вычисляем pc-представление группы при помощи p-quotient алгоритма [3, 4]. Заметим, что данный алгоритм уже реализован в таких системах компьютерной алгебры, как GAP и Magma.
  2. H=Hall(pc)на основе pc-представления вычисляем полиномы Холла при помощи алгоритма из [22].
  3. F=Zhegalkin(H) получаем полиномы Жегалкина из полиномов Холла путем замены операции умножения и сложения в поле 2 тождественными булевыми операциям «и», а также исключающему «или» соответственно.

3. Пример

В качестве примера рассмотрим максимальную двупорожденную конечную группу G=a1,a2 периода 22=4,  которую обычно обозначают B(2,4) или B2(4). Порядок данной группы равен 212, и для каждого элемента из G существует уникальное pc-представление вида a1x1a12x12,  где xi2, i=1,2,,12.  Здесь a1 и a2  порождающие элементы G, a3,a12 вычисляются рекурсивно через a1 и a2.

Получим в системе компьютерной алгебры GAP pc-представление данной группы.

Для краткости тривиальные коммутаторные соотношения не приводятся (например, такое, как [a4,a1]=1 и др.).

a12=a4, a22=a5, a32=a8a9a10a11a12, a42=1, a52=1, a62=a11, a72=a11a12, ai2=1 (8i12),

[a3,a1]=a6, [a3,a2]=a7, [a4,a2]=a6a8a9a10a12, [a4,a3]=a8a11, [a5,a1]=a7a8a9a10,

[a5,a3]=a10a11a12, [a5,a4]=a9a11, [a6,a1]=a8, [a6,a2]=a9, [a6,a3]=a11, [a6,a4]=a11,

[a6,a5]=a11, [a7,a1]=a9a12, [a7,a2]=a10, [a7,a3]=a11a12, [a7,a4]=a11a12, [a7,a5]=a11a12,

[a8,a1]=a11, [a8,a2]=a12, [a9,a1]=a11a12, [a9,a2]=a11, [a10,a1]=a12, [a10,a2]=a11a12.

Вычислим полиномы Холла группы G для порождающих элементов a1 и a2 на основе алгоритма из [22]: 

1) a1a1y1a12y12=a1z1a12z12, где

z1=y1+1,

z2=y2,

z3=y3,

z4=y1+y4,

z5=y5,

z6=y6+y1y2,

z7=y7,

z8=y8+y1y2+y1y3,

z9=y9+y1y2,

z10=y10+y1y2,

z11=y11+y1y3+y1y2y3+y1y2y4+y1y2y5+y1y2y6,

z12=y12+y1y2;

2) a2a1y1a12y12=a1z1a12z12, где

z1=y1,

z2=y2+1,

z3=y1+y3,

z4=y4,

z5=y2+y5,

z6=y6,

z7=y7+y1y2,

z8=y8+y1y3,

z9=y9+y1y3+y2y4,

z10=y10+y1y2+y1y3+y2y3,

z11=y11+y1y2+y1y3+y2y3+y2y4+y1y2y3+y1y2y4+y1y2y5+y1y2y7,

z12=y12+y1y2+y1y3+y2y3+y1y2y3+y1y2y4+y1y2y5+y1y2y7.

Заменим операции умножения и сложения булевым операциями «и», а также исключающему «или» соответственно. В результате получим полиномы Жегалкина. 

Каждый элемент группы представляет собой битовую строку (z1,z2,,z12).  Таким образом, для кодирования одного элемента в B(2,4) потребуется 12 бит. В общем случае, если порядок группы равен 2n, то для хранения одного элемента потребуется n бит.

Заключение

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

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

×

Об авторах

Александр Алексеевич Кузнецов

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева

Автор, ответственный за переписку.
Email: alex_kuznetsov80@mail.ru

доктор физико-математических наук, профессор, директор НОЦ «Институт космических исследований и высоких технологий»

Россия, 660037, г. Красноярск, просп. им. газ. «Красноярский Рабочий», 31

Александра Сергеевна Кузнецова

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева

Email: alexakuznetsova85@gmail.com

кандидат физико-математических наук, доцент кафедры прикладной математики

Россия, 660037, г. Красноярск, просп. им. газ. «Красноярский Рабочий», 31

Владимир Владимирович Кишкан

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева

Email: kishkan@mail.ru

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

Россия, 660037, г. Красноярск, просп. им. газ. «Красноярский Рабочий», 31

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

  1. Heydemann M. Cayley graphs and interconnection networks, in Graph symmetry: algebraic methods and applications (Editors: Hahnand Sabidussi) // Dordrecht: Kluwer Academic Publishers. 1997. P. 167–226.
  2. Loz E. New record graphs in the degree-diameter problem // Australasian Journal of Combinatorics. 2008. Vol. 41. P. 63–80.
  3. Sims C. Computation with Finitely Presented Groups. Cambridge: Cambridge University Press, 1994. 628 p.
  4. Holt D., Eick B., O'Brien E. Handbook of computational group theory. Boca Raton: Chapman & Hall/CRC Press, 2005. 514 p.
  5. Schibell S., Stafford R. Processor interconnection networks and Cayley graphs // Discrete Applied Mathematics. 1992. Vol. 40. P. 337–357.
  6. Stamoulis G., Tsitsiklis J. Effcient routing Scheme for Multiple Broadcasts in Hypercubes // IEEE Trans. on Parallel and Distributed Systems. 1993. Vol. 4(7). P. 725–739.
  7. Stamoulis G., Tsitsiklis J. The Effciency of Greedy Routing in Hypercubes and Butteries // IEEE Transaction on Communication. 1994. Vol. 42(11). P. 3051–3061.
  8. Kiasari A., Sarbazi-Azad H. Analytic performance comparison of hypercubes and star graphs with implementation constraints // Journal of Computer and System Sciences. 2008. No. 6. P. 1000–1012.
  9. Akers S., Krishnamurthy B. A group theoretic model for symmetric interconnection networks // Proceedings of the International Conference on Parallel Processing. 1986. P. 216–223.
  10. Tang K., Arden B. Vertex-transitivity and routing for Cayley graphs in GCR representations // Proceedings of ACM Symposium on Applied Computing SAC. 1992. P. 1180–1187.
  11. Wang L., Tang K. Topology-Based Routing for Xmesh in Wireless Sensor Networks // Lecture Notes in Electrical Engineering. 2009. Vol. 44. P. 229–239.
  12. Ryu J., Noel E., Tang K. Fault-tolerant Routing on Borel Cayley Graph // IEEE ICC Next Generation Networking Symposium. 2012. P. 2872–2877.
  13. On the feasibility of completely wireless datacenters / J. Shin, E. Sirer, H. Weatherspoon, D. Kirovski // EEE/ACM Transaction On Networking. 2013. Vol. 21(5). P. 1666–1679.
  14. Кузнецов А. А., Кузнецова А. С. Параллельный алгоритм для исследования графов Кэли групп подстановок // Вестник СибГАУ. 2014. № 1(53). С. 34–39.
  15. Efficient Routing in Data Center with Underlying Cayley Graph / M. Camelo, D. Papadimitriou, L. Fabrega, P. Vila // Proceedings of the 5th Workshop on Complex Networks CompleNet. 2014. P. 189–197.
  16. Кузнецов А. А. Графы Кэли бернсайдовых групп периода 3 // Сибирские электронные математические известия. 2015. Т. 12. С. 248–254.
  17. Кузнецов А. А., Кузнецова А. С Перспективные топологии многопроцессорных вычислительных систем, основанные на графах Кэли, заданных группами периода 4 // Вестник СибГАУ. 2016. № 3(17). С. 575–578.
  18. Кузнецов А. А. Об одном алгоритме вычисления функций роста в конечных двупорожденных группах периода пять // Прикладная дискретная математика. 2016. № 3(33). С. 116–125.
  19. Kuznetsov A. A., Kishkan V. V. The Cayley graphs of finite two-generator burnside groups of exponent 7 // Siberian Journal of Science and Technology. 2018. № 2. P. 217–222.
  20. Hall P. Nilpotent groups, Notes of lectures given at the Canadian Mathematical Congress 1957 Summer Seminar, in The collected works of Philip Hall. Oxford: Clarendon Press, 1988. P. 415–462.
  21. Яблонский С. В. Введение в дискретную математику. М. : Наука, 1986. 384 с.
  22. Кузнецов А. А., Кузнецова А. С. Быстрое умножение элементов в конечных двупорожденных группах периода пять // Прикладная дискретная математика. 2013. № 1 (18). С. 110–116.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Кузнецов А.А., Кузнецова А.С., Кишкан В.В., 2023

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

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

О куки-файлах