<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.18255/1818-1015-2020-1-86-94</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-1290</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Software</subject></subj-group></article-categories><title-group><article-title>Параллельный алгоритм решения задачи об изоморфизме графов</article-title><trans-title-group xml:lang="en"><trans-title>Parallel Algorithm for Solving the Graph Isomorphism Problem</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-7882-8906</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Васильчиков</surname><given-names>Владимир Васильевич</given-names></name><name name-style="western" xml:lang="en"><surname>Vasilchikov</surname><given-names>Vladimir Vasilyevich</given-names></name></name-alternatives><bio xml:lang="ru"><p>канд. техн. наук, зав. кафедрой вычислительных и программных систем</p></bio><bio xml:lang="en"><p>PhD</p></bio><email xlink:type="simple">vvv193@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Ярославский государственный университет им. П. Г. Демидова</institution><country>Россия</country></aff><aff xml:lang="en"><institution>P. G. Demidov Yaroslavl State University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2020</year></pub-date><pub-date pub-type="epub"><day>19</day><month>03</month><year>2020</year></pub-date><volume>27</volume><issue>1</issue><fpage>86</fpage><lpage>94</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Васильчиков В.В., 2020</copyright-statement><copyright-year>2020</copyright-year><copyright-holder xml:lang="ru">Васильчиков В.В.</copyright-holder><copyright-holder xml:lang="en">Vasilchikov V.V.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.mais-journal.ru/jour/article/view/1290">https://www.mais-journal.ru/jour/article/view/1290</self-uri><abstract><p>В данной работе предлагается параллельный алгоритм решения задачи об изоморфизме графов. Целевым результатом для нас выступает построение подходящей подстановки вершин, либо доказательство отсутствия таковой. Задача решается для неориентированных графов без петель и кратных ребер, допускается, что графы могут быть несвязными. Вопрос о существовании либо отсутствии алгоритма с полиномиальной трудоемкостью в настоящее время является открытым. Следовательно, как и для любой трудоемкой задачи, возникает вопрос об ускорении ее решения за счет распараллеливания алгоритма. Для организации параллельных вычислений автором использовалась библиотека RPM_ParLib, которая позволяет создавать параллельные приложения, работающие в локальной вычислительной сети под управлением среды исполнения .NET Framework. Библиотека поддерживает рекурсивно-параллельный стиль программирования и обеспечивает эффективное распределение работы и динамическую балансировку загрузки вычислительных модулей в процессе исполнения программы. Она может быть использована для приложений, написанных на любом языке программирования, поддерживаемом .NET Framework. Для решения нашей задачи и проведения численного эксперимента было разработано несколько приложений на языке C#. Целью эксперимента было исследование ускорения, достигаемого за счет рекурсивно-параллельной организации вычислений. В качестве исходных данных использовались специально сгенерированные случайные регулярные графы с различной степенью вершин. Подробное описание алгоритма и эксперимента, а также полученные результаты также приводятся в работе.</p></abstract><trans-abstract xml:lang="en"><p>In this paper, we offer an efficient parallel algorithm for solving the Graph Isomorphism Problem. Our goal is to construct a suitable vertex substitution or to prove the absence of such. The problem is solved for undirected graphs without loops and multiple edges, it is assumed that the graphs can be disconnected. e question of the existence or absence of an algorithm for solving this problem with polynomial complexity is currently open. Therefore, as for any time-consuming task, the question arises of accelerating its solution by parallelizing the algorithm. We used the RPM ParLib library developed by the author as the main tool to program the algorithm. This library allows us to develop effective applications for parallel computing on a local network in the .NET Framework. Such applications have the ability to generate parallel branches of computation directly during program execution and dynamically redistribute work between computing modules. Any language with support for the .NET Framework can be used as a programming language in conjunction with this library. For our experiments, we developed some C# applications using this library. The main purpose of these experiments was to study the acceleration achieved by recursive-parallel computing. Specially generated random regular graphs with varying degrees of vertices were used as initial data. A detailed description of the algorithm and its testing, as well as the results obtained, are also given in the paper.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>изоморфизм графов</kwd><kwd>параллельный алгоритм</kwd><kwd>рекурсия</kwd><kwd>.NET</kwd></kwd-group><kwd-group xml:lang="en"><kwd>graph isomorphism problem</kwd><kwd>parallel algorithm</kwd><kwd>recursion</kwd><kwd>.NET</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">Работа выполнена в рамках инициативной НИР ВИП-004 (номер госрегистрации АААА-А16-116070610022-6).</funding-statement><funding-statement xml:lang="en">This work was supported by initiative program VIP-004 (state registration number AAAA-A16-116070610022-6).</funding-statement></funding-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Co, San Francisco, 1979.</mixed-citation><mixed-citation xml:lang="en">M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Co, San Francisco, 1979.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">D. C. Schmidt and L. E. Druffel, “A fast backtracking algorithm to test directed graphs for isomorphism using distance matrices”, Journal of the ACM (JACM), vol. 23, no. 3, pp. 433–445, 1976.</mixed-citation><mixed-citation xml:lang="en">D. C. Schmidt and L. E. Druffel, “A fast backtracking algorithm to test directed graphs for isomorphism using distance matrices”, Journal of the ACM (JACM), vol. 23, no. 3, pp. 433–445, 1976.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">L. Babai, “Graph isomorphism in quasipolynomial time”, in Proceedings of the forty-eighth annual ACM symposium on Theory of Computing, 2016, pp. 684–697.</mixed-citation><mixed-citation xml:lang="en">L. Babai, “Graph isomorphism in quasipolynomial time”, in Proceedings of the forty-eighth annual ACM symposium on Theory of Computing, 2016, pp. 684–697.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">F. Harary, Graph theory. Addison-Wesley, 1969.</mixed-citation><mixed-citation xml:lang="en">F. Harary, Graph theory. Addison-Wesley, 1969.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Y. German, O. German, and A. Dunaev, “An algorithm for establishing graph’s isomorfism”, Proceedings of BSTU. Issue 3, Physics and mathematics. Informatics, no. 2 (200), pp. 114–117, 2017.</mixed-citation><mixed-citation xml:lang="en">Y. German, O. German, and A. Dunaev, “An algorithm for establishing graph’s isomorfism”, Proceedings of BSTU. Issue 3, Physics and mathematics. Informatics, no. 2 (200), pp. 114–117, 2017.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">V. K. Pogrebnoy and A. Pogrebnoy, “Polynomial algorithm of computing complete graph invariant on the basis of integral structure descriptor”, Bulletin of the Tomsk Polytechnic University, vol. 323, no. 5, pp. 152–159, 2013.</mixed-citation><mixed-citation xml:lang="en">V. K. Pogrebnoy and A. Pogrebnoy, “Polynomial algorithm of computing complete graph invariant on the basis of integral structure descriptor”, Bulletin of the Tomsk Polytechnic University, vol. 323, no. 5, pp. 152–159, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">V. K. Pogrebnoy and A. Pogrebnoy, “Polynomiality of method for computing graph structure integral descriptor”, Bulletin of the Tomsk Polytechnic University, vol. 323, no. 5, pp. 146–151, 2013.</mixed-citation><mixed-citation xml:lang="en">V. K. Pogrebnoy and A. Pogrebnoy, “Polynomiality of method for computing graph structure integral descriptor”, Bulletin of the Tomsk Polytechnic University, vol. 323, no. 5, pp. 146–151, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">A. Pogrebnoy, “Complete graph invariant and algorithm of its computation”, Bulletin of the Tomsk Polytechnic University, vol. 325, no. 5, pp. 110–122, 2014.</mixed-citation><mixed-citation xml:lang="en">A. Pogrebnoy, “Complete graph invariant and algorithm of its computation”, Bulletin of the Tomsk Polytechnic University, vol. 325, no. 5, pp. 110–122, 2014.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">A. Pogrebnoy and V. K. Pogrebnoy, “Method of graph vertices differentiation and solution of the isomorphism problem”, Bulletin of the Tomsk Polytechnic University, vol. 326, no. 6, pp. 34–45, 2015.</mixed-citation><mixed-citation xml:lang="en">A. Pogrebnoy and V. K. Pogrebnoy, “Method of graph vertices differentiation and solution of the isomorphism problem”, Bulletin of the Tomsk Polytechnic University, vol. 326, no. 6, pp. 34–45, 2015.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">A. Pogrebnoy and V. K. Pogrebnoy, “Method of graph vertices differentiation and solution of the isomorphism problem in geoinformatics”, Bulletin of the Tomsk Polytechnic University, vol. 326, no. 11, pp. 56–66, 2015.</mixed-citation><mixed-citation xml:lang="en">A. Pogrebnoy and V. K. Pogrebnoy, “Method of graph vertices differentiation and solution of the isomorphism problem in geoinformatics”, Bulletin of the Tomsk Polytechnic University, vol. 326, no. 11, pp. 56–66, 2015.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">B. F. Melnikov and N. P. Churikova, “Algorithms of Comparative Analysis of Two Invariants of a Graph”, Sovremennye informacionnye tehnologii i IT-obrazovanie (Modern Information Technologies and IT-Education), vol. 15, no. 1, pp. 45–51, 2019.</mixed-citation><mixed-citation xml:lang="en">B. F. Melnikov and N. P. Churikova, “Algorithms of Comparative Analysis of Two Invariants of a Graph”, Sovremennye informacionnye tehnologii i IT-obrazovanie (Modern Information Technologies and IT-Education), vol. 15, no. 1, pp. 45–51, 2019.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">G. S. Ivanova and V. A. Ovchinnikov, “Completely described undirected graph structure”, Science and Education of the Bauman MSTU, no. 4, pp. 106–123, 2016.</mixed-citation><mixed-citation xml:lang="en">G. S. Ivanova and V. A. Ovchinnikov, “Completely described undirected graph structure”, Science and Education of the Bauman MSTU, no. 4, pp. 106–123, 2016.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, Sredstva parallelnogo programmirovaniya dlya vychislitelnykh sistem s dinamicheskoy balansirovkoy zagruzki. YarGU, Yaroslavl, 2001.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, Sredstva parallelnogo programmirovaniya dlya vychislitelnykh sistem s dinamicheskoy balansirovkoy zagruzki. YarGU, Yaroslavl, 2001.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “Kommunikatsionnyy modul dlya organizatsii polnosvyaznogo soedineniya kompyuterov v lokalnoy seti s ispolzovaniem .NET Framework”, Svidetelstvo o gosudarstvennoy registratsii programmy dlya EVM № 2013619925, 2013.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “Kommunikatsionnyy modul dlya organizatsii polnosvyaznogo soedineniya kompyuterov v lokalnoy seti s ispolzovaniem .NET Framework”, Svidetelstvo o gosudarstvennoy registratsii programmy dlya EVM № 2013619925, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “Biblioteka podderzhki rekursivno-parallelnogo programmirovaniya dlya .NET Framework”, Svidetelstvo o gosudarstvennoy registratsii programmy dlya EVM № 2013619926, 2013.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “Biblioteka podderzhki rekursivno-parallelnogo programmirovaniya dlya .NET Framework”, Svidetelstvo o gosudarstvennoy registratsii programmy dlya EVM № 2013619926, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “On the recursive-parallel programming for the. NET framework”, Automatic Control and Computer Sciences, vol. 48, no. 7, pp. 575–580, 2014.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “On the recursive-parallel programming for the. NET framework”, Automatic Control and Computer Sciences, vol. 48, no. 7, pp. 575–580, 2014.</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “On optimization and parallelization of the little algorithm for solving the travelling salesman problem”, Automatic Control and Computer Sciences, vol. 51, no. 7, pp. 551–557, 2017.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “On optimization and parallelization of the little algorithm for solving the travelling salesman problem”, Automatic Control and Computer Sciences, vol. 51, no. 7, pp. 551–557, 2017.</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “On a recursive-parallel algorithm for solving the knapsack problem”, Automatic Control and Computer Sciences, vol. 52, no. 7, pp. 810–816, 2018.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “On a recursive-parallel algorithm for solving the knapsack problem”, Automatic Control and Computer Sciences, vol. 52, no. 7, pp. 810–816, 2018.</mixed-citation></citation-alternatives></ref><ref id="cit19"><label>19</label><citation-alternatives><mixed-citation xml:lang="ru">A. Steger and N. Wormald, “Generating random regular graphs quickly”, Combinatorics, Probability and Computing, vol. 8, no. 4, pp. 377–396, 1999.</mixed-citation><mixed-citation xml:lang="en">A. Steger and N. Wormald, “Generating random regular graphs quickly”, Combinatorics, Probability and Computing, vol. 8, no. 4, pp. 377–396, 1999.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
