<?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-2023-2-128-139</article-id><article-id custom-type="edn" pub-id-type="custom">NPFBHC</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-1775</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>Algorithms</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 Maximum Common Subgraph 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>2023</year></pub-date><pub-date pub-type="epub"><day>14</day><month>06</month><year>2023</year></pub-date><volume>30</volume><issue>2</issue><fpage>128</fpage><lpage>139</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Васильчиков В.В., 2023</copyright-statement><copyright-year>2023</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/1775">https://www.mais-journal.ru/jour/article/view/1775</self-uri><abstract><p>В работе предложен алгоритм решения задачи нахождении максимального общего подграфа. Описаны последовательный и параллельный вариант алгоритма, их программная реализация и произведено экспериментальное исследование их эффективности. Данная задача является одной из самых известных NP"=полных задач. Ее решение может потребоваться при решении многих практических задач, связанных с исследованием сложных структур. Мы решаем ее в постановке, в которой требуется найти все возможные изоморфизмы найденного общего подграфа. Ввиду чрезвычайно высокой трудоемкости задачи желание ускорить ее решение за счет распараллеливания алгоритма является вполне естественным. Для организации параллельных вычислений автором использовалась библиотека RPM_ParLib, которая позволяет создавать параллельные приложения, работающие в локальной вычислительной сети под управлением среды исполнения .NET Framework. Библиотека поддерживает рекурсивно-параллельный стиль программирования и обеспечивает эффективное распределение работы и динамическую балансировку загрузки вычислительных модулей в процессе исполнения программы. Она может быть использована для приложений, написанных на любом языке программирования, поддерживаемом .NET Framework. Целью численного эксперимента было исследование ускорения, достигаемого за счет рекурсивно"=параллельной организации вычислений. Для эксперимента автором было разработано специальное приложение на языке C#, предназначенное для генерации различных наборов исходных данных с заданными параметрами. В работе описаны характеристики сгенерированных исходных пар графов, а также результаты, полученные в ходе эксперимента.</p></abstract><trans-abstract xml:lang="en"><p>The paper proposes an algorithm for solving the problem of finding the maximum common subgraph. Both the sequential and the parallel version of the algorithm, their software implementation are described, and an experimental study of their effectiveness is carried out.&#13;
&#13;
This problem is one of the most famous NP-complete problems. Its solution may be required when solving many practical problems related to the study of complex structures. We solve it in a statement when we need to find all possible isomorphisms of the found common subgraph. Due to the extremely high complexity of the problem, it is natural to want to speed up its solution by parallelizing the algorithm.&#13;
To organize parallel computing, the author used the RPM_ParLib library. It allows to develop effective applications for parallel computing on a local network under the control of the runtime environment .NET Framework.The library supports a recursive-parallel programming style and provides effective work distribution and dynamic load balancing of computational modules during program execution. It can be used for applications written in any programming language supported by the .NET Framework.&#13;
The purpose of the numerical experiment was to study the acceleration achieved due to the recursive-parallel organization of calculations. For the experiment, the author developed a special application in the C# language designed to generate various sets of initial data with specified parameters. The paper describes the features of the generated initial pairs of graphs, as well as the results obtained during the experiment.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>максимальный общий подграф</kwd><kwd>изоморфизм</kwd><kwd>параллельный алгоритм</kwd><kwd>рекурсия</kwd><kwd>.NET</kwd></kwd-group><kwd-group xml:lang="en"><kwd>maximum common subgraph</kwd><kwd>isomorphism</kwd><kwd>parallel algorithm</kwd><kwd>recursion</kwd><kwd>.NET</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">ЯрГУ ( проект VIP-016)</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,” Siam Review, vol. 24, no. 1, pp. 90–91, 1982.</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,” Siam Review, vol. 24, no. 1, pp. 90–91, 1982.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">R. Hoffmann, C. McCreesh, and C. Reilly, “Between Subgraph Isomorphism and Maximum Common Subgraph,” in Proceedings of the AAAI Conference on Artificial Intelligence, 2017, vol. 31, no. 1, pp. 3907–3914.</mixed-citation><mixed-citation xml:lang="en">R. Hoffmann, C. McCreesh, and C. Reilly, “Between Subgraph Isomorphism and Maximum Common Subgraph,” in Proceedings of the AAAI Conference on Artificial Intelligence, 2017, vol. 31, no. 1, pp. 3907–3914.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">S. N. Ndiaye and C. Solnon, “CP Models for Maximum Common Subgraph Problems,” Lecture Notes in Computer Science, vol. 6876, pp. 637–644, 2011.</mixed-citation><mixed-citation xml:lang="en">S. N. Ndiaye and C. Solnon, “CP Models for Maximum Common Subgraph Problems,” Lecture Notes in Computer Science, vol. 6876, pp. 637–644, 2011.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">D. Conte, P. Foggia, and M. Vento, “Challenging complexity of maximum common subgraph detection algorithms: A performance analysis of three algorithms on a wide database of graphs,” Journal of Graph Algorithms and Applications, vol. 11, no. 1, pp. 99–143, 2007.</mixed-citation><mixed-citation xml:lang="en">D. Conte, P. Foggia, and M. Vento, “Challenging complexity of maximum common subgraph detection algorithms: A performance analysis of three algorithms on a wide database of graphs,” Journal of Graph Algorithms and Applications, vol. 11, no. 1, pp. 99–143, 2007.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">J. J. McGregor, “Backtrack search algorithms and the maximal common sub-graph problem,” Software: Practice and Experience, vol. 12, no. 1, pp. 23–34, 1982.</mixed-citation><mixed-citation xml:lang="en">J. J. McGregor, “Backtrack search algorithms and the maximal common sub-graph problem,” Software: Practice and Experience, vol. 12, no. 1, pp. 23–34, 1982.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</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 InternationalWorkshop on Graph-based Representations, 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 InternationalWorkshop on Graph-based Representations, 2001, pp. 149–159.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">P. J. Durand, R. Pasari, J. W. Baker, and C.-che Tsai, “An efficient algorithm for similarity analysis of molecules,” Internet Journal of Chemistry, vol. 2, no. 17, pp. 1–16, 1999.</mixed-citation><mixed-citation xml:lang="en">P. J. Durand, R. Pasari, J. W. Baker, and C.-che Tsai, “An efficient algorithm for similarity analysis of molecules,” Internet Journal of Chemistry, vol. 2, no. 17, pp. 1–16, 1999.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">C. Bron and J. Kerbosch, “Algorithm 457: finding all cliques of an undirected graph,” Communications of the ACM, vol. 16, no. 9, pp. 575–577, 1973.</mixed-citation><mixed-citation xml:lang="en">C. Bron and J. Kerbosch, “Algorithm 457: finding all cliques of an undirected graph,” Communications of the ACM, vol. 16, no. 9, pp. 575–577, 1973.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">A. Marcelli, S. Quer, and G. Squillero, “The Maximum Common Subgraph Problem: A Portfolio Approach.” 2019, [Online]. Available: http://arxiv.org/abs/1908.06418.</mixed-citation><mixed-citation xml:lang="en">A. Marcelli, S. Quer, and G. Squillero, “The Maximum Common Subgraph Problem: A Portfolio Approach.” 2019, [Online]. Available: http://arxiv.org/abs/1908.06418.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</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="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">V. V. Vasilchikov, “Recursive-Parallel Algorithm for Solving the Graph-Subgraph Isomorphism Problem,” Modeling and analysis of information systems, vol. 29, no. 1, pp. 30–43, 2022.</mixed-citation><mixed-citation xml:lang="en">V. V. Vasilchikov, “Recursive-Parallel Algorithm for Solving the Graph-Subgraph Isomorphism Problem,” Modeling and analysis of information systems, vol. 29, no. 1, pp. 30–43, 2022.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</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="cit13"><label>13</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, 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, pp. 575–580, 2014.</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>
