Abstract

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.

Highlights

  • In this paper, we o er an e cient parallel algorithm for solving the Graph Isomorphism Problem

  • Our goal is to construct a suitable vertex substitution or to prove the absence of such. e 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. erefore, 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. is library allows us to develop e ective applications for parallel computing on a local network in the .NET Framework

Read more

Summary

Постановка задачи

Пусть есть два неориентированных графа, заданных своими множествами вершин и ребер: 1 = ( 1, 1) и 2 = ( 2, 2). Требуется найти функцию ( 1 → 2), такую что { , } ∈ 1 ⇔ { ( ), ( )} ∈ 2, либо доказать ее отсутствие. Что как было отмечено выше, нашей целью является нахождение этой функции, задающей подстановку, или доказательство ее отсутствия

Последовательный алгоритм решения задачи
Распараллеливание алгоритма
Описание эксперимента и его результаты

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.