Abstract—
In this paper, we propose a 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. The question of the existence or absence of an algorithm with a polynomial complexity is currently open. Therefore, as for any time-consuming task, the question arises about speeding up its solution by parallelizing the algorithm. The RPM_ParLib library developed by the author allows developing effective applications for parallel computing on a local network under the control of the runtime environment .NET Framework. Supporting a recursive-parallel programming style, such applications have the ability to generate parallel branches of computation directly during program execution and dynamically redistribute work between computing modules. The library can be used for applications written in any programming language supported by the .NET Framework. To solve our problem and conduct a numerical experiment, several applications in the C# language were developed. The purpose of the experiment was to study the acceleration achieved due to the recursive-parallel organization of calculations. Specially generated random regular graphs with various degrees of vertices were used as the initial data. A detailed description of the algorithm and experiment, as well as the results obtained, are also given.
Similar content being viewed by others
REFERENCES
Garey, M.R. and Johnson, D.S., Computers and Intractability: A Guide to the Theory of NP-Completeness, San Francisco: W.H. Freeman Co., 1979.
Schmidt, D.C. and Druffel, L.E., A fast backtracking algorithm to test directed graphs for isomorphism using distance matrices, J. ACM, 1976, vol. 23, no. 3, pp. 433–445.
Babai, L., Graph isomorphism in quasipolynomial time, Proceedings of the Forty-Eighth Annual ACM Symposium on Theory of Computing, 2016, pp. 684–697.
Harary, F., Graph Theory, Addison-Wesley, 1969.
German, Y., German, O., and Dunaev, A., An algorithm for establishing graph’s isomorfism, Proc. BSTI, Issue 3, Phys. Math. Inf., 2017, no. 2, pp. 114–117.
Pogrebnoy, V.K. and Pogrebnoy, A., Polynomial algorithm of computing complete graph invariant on the basis of integral structure descriptor, Bull. Tomsk Polytech. Univ., 2013, vol. 323, no. 5, pp. 152–159.
Pogrebnoy, V.K. and Pogrebnoy, A., Polynomiality of method for computing graph structure integral descriptor, Bull. Tomsk Polytech. Univ., 2013, vol. 323, no. 5, pp. 146–151.
Pogrebnoy, A., Complete graph invariant and algorithm of its computation, Bull. Tomsk Polytech. Univ., 2014, vol. 325, no. 5, pp. 110–122.
Pogrebnoy, A. and Pogrebnoy, V.K., Method of graph vertices differentiation and solution of the isomorphism problem, Bull. Tomsk Polytech. Univ., 2015, vol. 326, no. 6, pp. 34–45.
Pogrebnoy, A. and Pogrebnoy, V.K., Method of graph vertices differentiation and solution of the isomorphism problem in geoinformatics, Bull. Tomsk Polytech. Univ., 2015, vol. 326, no. 11, pp. 56–66.
Melnikov, B.F. and Churikova, N.P., Algorithms of comparative analysis of two invariants of a graph, Sovrem. Inf. Tekhnol. IT-Obraz., 2019, vol. 15, no. 1, pp. 45–51.
Ivanova, G.S. and Ovchinnikov, V.A., Completely described undirected graph structure, Sci. Educ. Bauman MSTU, 2016, no. 4, pp. 106–123.
Vasilchikov, V.V., Sredstva parallel’nogo programmirovaniya dlya vychislitel’nykh sistem s dinamicheskoi balansirovkoi zagruzki (Parallel Programming Tools for Computing Systems with Dynamic Load Balancing), Yaroslavl: YarGU, 2001.
Vasilchikov, V.V., Communication module for organizing a fully connected joining of computers in a local network using .NET Framework, Certificate of State Registration of Computer Program, 2013, no. 2013619925.
Vasilchikov, V.V., Recursive-parallel programming support library for .NET Framework, Certificate of State Registration of Computer Program, 2013, no. 2013619926.
Vasilchikov, V.V., On the recursive-parallel programming for the. NET framework, Autom. Control Comput. Sci., 2014, vol. 48, no. 7, pp. 575–580.
Vasilchikov, V.V., On optimization and parallelization of the little algorithm for solving the travelling salesman problem, Autom. Control Comput. Sci., 2017, vol. 51, no. 7, pp. 551–557.
Vasilchikov, V.V., On a recursive-parallel algorithm for solving the knapsack problem, Autom. Control Comput. Sci., 2018, vol. 52, no. 7, pp. 810–816.
Steger, A. and Wormald, N., Generating random regular graphs quickly, Comb. Probab. Comput., 1999, vol. 8, no. 4, pp. 377–396.
Funding
This work was supported by the initiative program VIP-004 (state registration no. AAAA-A16-116070610022-6).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
The author declares that he has no conflicts of interest.
Additional information
Translated by T. N. Sokolova
About this article
Cite this article
Vasilchikov, V.V. Parallel Algorithm for Solving the Graph Isomorphism Problem. Aut. Control Comp. Sci. 55, 617–622 (2021). https://doi.org/10.3103/S0146411621070166
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.3103/S0146411621070166