<?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-2022-1-30-43</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-1606</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>Recursive-Parallel Algorithm for Solving the Graph-Subgraph 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 V.</given-names></name></name-alternatives><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>2022</year></pub-date><pub-date pub-type="epub"><day>17</day><month>03</month><year>2022</year></pub-date><volume>29</volume><issue>1</issue><fpage>30</fpage><lpage>43</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Васильчиков В.В., 2022</copyright-statement><copyright-year>2022</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/1606">https://www.mais-journal.ru/jour/article/view/1606</self-uri><abstract><p>В работе предложен параллельный алгоритм решения задачи об изоморфизме граф-подграф и произведено экспериментальное исследование его эффективности. Задача является одной из самых известных NP-полных задач. Ее решение может потребоваться при решении многих практических задач, связанных с исследованием сложных структур. Мы решаем ее в постановке, в которой требуется найти все возможные изоморфизмы или доказать отсутствие таковых. Ввиду высокой трудоемкости задачи естественным является желание ускорить ее решение за счет распараллеливания алгоритма.Для организации параллельных вычислений автором использовалась библиотека RPM_ParLib, которая позволяет создавать параллельные приложения, работающие в локальной вычислительной сети под управлением среды исполнения .NET Framework. Библиотека поддерживает рекурсивно-параллельный стиль программирования и обеспечивает эффективное распределение работы и динамическую балансировку загрузки вычислительных модулей в процессе исполнения программы. Она может быть использована для приложений, написанных на любом языке программирования, поддерживаемом .NET Framework. Для проведения численного эксперимента использовалась открытая база данных из сети Интернет, специально разработанная для исследования алгоритмов поиска изоморфизмов. Также автором было разработано специальное приложение на языке C# для генерации собственных дополнительных наборов исходных данных с заданными характеристиками. Целью эксперимента было исследование ускорения, достигаемого за счет рекурсивно-параллельной организации вычислений. В работе приводится подробное описание предлагаемого алгоритма, а также полученных в ходе эксперимента результатов.</p></abstract><trans-abstract xml:lang="en"><p>The paper proposes a parallel algorithm for solving the Graph-Subgraph Isomorphism Problem and makes an experimental study of its efficiency. The problem is one of the most famous NP-complete problems. Its solution may be required when solving many practical problems associated with the study of complex structures. We solve the problem in a formulation that requires finding all existing isomorphic substitutions or proving their absence. In view of the high complexity of the problem, it is natural to want to speed up 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 under the control of the runtime environment .NET Framework. Thanks to this library, 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 of the .NET Framework can be used as a programming language in conjunction with this library. For the numerical experiment, an open database from the Internet was used, which was specially developed to study algorithms for searching for isomorphic substitutions. Also, the author has developed a special application in C# for generating additional sets of initial data with specified characteristics. The aim of the experiment was to study the speedup achieved due to the recursively parallel organization of computations. The paper provides a detailed description of the proposed algorithm, as well as the results obtained during the experiment.</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-subgraph isomorphism problem</kwd><kwd>parallel algorithm</kwd><kwd>recursion</kwd><kwd>.NET</kwd></kwd-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">J. R. Ullmann, “An Algorithm for Subgraph Isomorphism”, Journal of the Association for Computing Machinery, vol. 23, no. 1, pp. 31-42, 1976.</mixed-citation><mixed-citation xml:lang="en">J. R. Ullmann, “An Algorithm for Subgraph Isomorphism”, Journal of the Association for Computing Machinery, vol. 23, no. 1, pp. 31-42, 1976.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">L. P. Cordella, P. Foggia, C. Sansone, and M. Vento, “Performance evaluation of the VF Graph Matching Algorithm”, in Proc. of the 10th ICIAP. IEEE Computer SocietyPress, 1999, pp. 1172-1177.</mixed-citation><mixed-citation xml:lang="en">L. P. Cordella, P. Foggia, C. Sansone, and M. Vento, “Performance evaluation of the VF Graph Matching Algorithm”, in Proc. of the 10th ICIAP. IEEE Computer SocietyPress, 1999, pp. 1172-1177.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">L. P. Cordella, P. Foggia, C. Sansone, and M. Vento, “An Improved Algorithm for Matching Large Graphs”, in Proc. of the 3rd IAPR-TC-15 International Workshop on Graph-based Representations - Italy, 2001, pp. 149-159.</mixed-citation><mixed-citation xml:lang="en">L. P. Cordella, P. Foggia, C. Sansone, and M. Vento, “An Improved Algorithm for Matching Large Graphs”, in Proc. of the 3rd IAPR-TC-15 International Workshop on Graph-based Representations - Italy, 2001, pp. 149-159.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">V. Carletti, P. Foggia, A. Saggese, and M. Vento, “Challenging the Time Complexity of Exact Subgraph Isomorphism for Huge and Dense Graphs with VF3”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, no. 4, pp. 804-818, 2018.</mixed-citation><mixed-citation xml:lang="en">V. Carletti, P. Foggia, A. Saggese, and M. Vento, “Challenging the Time Complexity of Exact Subgraph Isomorphism for Huge and Dense Graphs with VF3”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, no. 4, pp. 804-818, 2018.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">M. B. Il’yashenko, “Unificirovannyj podhod k resheniyu zadach morfizma na grafah”, Elektronnoe modelirovanie, vol. 30, no. 1, pp. 19-41, 2008.</mixed-citation><mixed-citation xml:lang="en">M. B. Il’yashenko, “Unificirovannyj podhod k resheniyu zadach morfizma na grafah”, Elektronnoe modelirovanie, vol. 30, no. 1, pp. 19-41, 2008.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">M. B. Il’yashenko, “Reshenie zadachi poiska graf-podgraf izomorfizma dlya semanticheskogo analiza specializirovannyh cifrovyh sistem”, Nauchnye trudy DonTU. Seriya ”Informatika, kibernetika i vychislitel’naya tekhnika”, vol. 16, pp. 46-57, 2012.</mixed-citation><mixed-citation xml:lang="en">M. B. Il’yashenko, “Reshenie zadachi poiska graf-podgraf izomorfizma dlya semanticheskogo analiza specializirovannyh cifrovyh sistem”, Nauchnye trudy DonTU. Seriya ”Informatika, kibernetika i vychislitel’naya tekhnika”, vol. 16, pp. 46-57, 2012.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">J. R. Ullmann, “Bit-Vector Algorithms for Binary Constraint Satisfaction and Subgraph Isomorphism”, Journal of Experimental Algorithmics, vol. 15, no. 1, pp. 1-64, 2011.</mixed-citation><mixed-citation xml:lang="en">J. R. Ullmann, “Bit-Vector Algorithms for Binary Constraint Satisfaction and Subgraph Isomorphism”, Journal of Experimental Algorithmics, vol. 15, no. 1, pp. 1-64, 2011.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">M. B. Il’yashenko, “Razrabotka i issledovanie parallel’nogo algoritma proverki graf-podgraf izomorfizma”, Radioelektronika. Informatika. Upravlenie, vol. 1, pp. 63-69, 2006.</mixed-citation><mixed-citation xml:lang="en">M. B. Il’yashenko, “Razrabotka i issledovanie parallel’nogo algoritma proverki graf-podgraf izomorfizma”, Radioelektronika. Informatika. Upravlenie, vol. 1, pp. 63-69, 2006.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">V. Carletti, P. Foggia, P. Ritrovato, M. Vento, and V. Vigilante, “A parallel Algorithm for Subgraph Isomorphism”, in International Workshop on Graph-Based Representations in Pattern Recognition, ser. LNCS, vol. 11510, Springer, Cham, 2019, pp. 141-151.</mixed-citation><mixed-citation xml:lang="en">V. Carletti, P. Foggia, P. Ritrovato, M. Vento, and V. Vigilante, “A parallel Algorithm for Subgraph Isomorphism”, in International Workshop on Graph-Based Representations in Pattern Recognition, ser. LNCS, vol. 11510, Springer, Cham, 2019, pp. 141-151.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</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="cit12"><label>12</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, 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, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, Biblioteka podderzhki rekursivno-parallelnogo programmirovaniya dlya.NET Framework, 2013.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, Biblioteka podderzhki rekursivno-parallelnogo programmirovaniya dlya.NET Framework, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</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="cit15"><label>15</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="cit16"><label>16</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="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “Parallel algorithm for solving the graph isomorphism problem”, Modeling and analysis of information systems, vol. 27, no. 1, pp. 86-94, 2020.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “Parallel algorithm for solving the graph isomorphism problem”, Modeling and analysis of information systems, vol. 27, no. 1, pp. 86-94, 2020.</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">P. Foggia, C. Sansone, and M. Vento, A Database of Graphs for Isomorphism and Sub-Graph Isomorphism Benchmarkin, 2001. [Online]. Available: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.6803&amp;rep=rep1&amp;type=pdf.</mixed-citation><mixed-citation xml:lang="en">P. Foggia, C. Sansone, and M. Vento, A Database of Graphs for Isomorphism and Sub-Graph Isomorphism Benchmarkin, 2001. [Online]. Available: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.6803&amp;rep=rep1&amp;type=pdf.</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>
