Skip to main content
Log in

Recursive-Parallel Algorithm for Solving the Graph-Subgraph Isomorphism Problem

  • Published:
Automatic Control and Computer Sciences Aims and scope Submit manuscript

Abstract

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 well-known 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 the existing isomorphic substitutions or proving their absence. Due to the complexity of the problem, it is natural to want to speed up its solution by parallelizing the algorithm. We use 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. Due to this library, the 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. The author has also developed a special application in C# for generating additional sets of initial data with the specified characteristics. The aim of the experiment is to study the speedup achieved due to the recursively parallel organization of computations. This paper provides a detailed description of the proposed algorithm and the results obtained during the experiment.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.

REFERENCES

  1. Garey, M.R. and Johnson, D.S., Computers and Intractability: A Guide to the Theory of NP-Completeness, San Francisco: W. H. Freeman and Co, 1979.

    Google Scholar 

  2. Ullmann, J.R., An algorithm for subgraph isomorphism, J. ACM, 1976, vol. 23, no. 1, pp. 31–42. https://doi.org/10.1145/321921.321925

    Article  MathSciNet  Google Scholar 

  3. Cordella, L.P., Foggia, P., Sansone, C., and Vento, M., Performance evaluation of the VF graph matching algorithm, Proc. 10th Int. Conf. on Image Analysis and Processing, Venice, 1999, IEEE, 1999, pp. 1172–1177. https://doi.org/10.1109/iciap.1999.797762

  4. Cordella, L.P., Foggia, P., Sansone, C., and Vento, M., An improved algorithm for matching large graphs, Proc. 3rd IAPR-TC-15 Int. Workshop on Graph-Based Representations, 2001, pp. 149–152.

  5. Carle, V., Foggia, P., Saggese, A., and Vento, M., Challenging the time complexity of exact subgraph isomorphism for huge and dense graphs with VF3, IEEE Trans. Pattern Anal. Mach. Intell., 2018, vol. 40, no. 4, pp. 804–818. https://doi.org/10.1109/TPAMI.2017.2696940

    Article  Google Scholar 

  6. Il’yashenko, M.B., Generalized approach to morphism problem solution on graphs, Elektronnoe Model., 2008, vol. 30, no. 1, pp. 19–41. http://dspace.nbuv.gov.ua/handle/123456789/101550.

  7. Il’yashenko, M.B., Graph-subgraph isomorphism problem solving for semantic analysis of specialized digital systems, Nauchn. Tr. DonNTU. Ser. Inf., Kibern. Vychislitel’naya Tekh., 2012, vol. 16, pp. 46–57.

    Google Scholar 

  8. Ullmann, J.R., Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphism, ACM J. Exp. Algorithmics, 2011, vol. 15, no. 1, pp. 1–64. https://doi.org/10.1145/1671970.1921702

    Article  MathSciNet  Google Scholar 

  9. Il’yashenko, M.B., Development and study of a parallel algorithm for checking the graph-subgraph isomorphism, Radioelektronika. Inf. Upr., 2006, vol. 1, pp. 63–69.

    Google Scholar 

  10. Carletti, V., Foggia, P., Ritrovato, P., Vento, M., and Vigilante, V., A parallel algorithm for subgraph isomorphism, Graph-Based Representations in Pattern Recognition. GbRPR 2019, Conte, D., Ramel, J.Y., and Foggia, P., Eds., Lecture Notes in Computer Science, vol. 11510, Cham: Springer, 2019, pp. 141–151. https://doi.org/10.1007/978-3-030-20081-7_14

    Book  Google Scholar 

  11. Vasilchikov, V.V., Sredstva parallelnogo programmirovaniya dlya vychislitelnykh sistem s dinamicheskoy balansirovkoy zagruzki (Means of Parallel Programming for Computational Systems with Dynamic Load Balancing), Yaroslavl: Yaroslavl. Gos. Univ., 2001.

  12. Vasilchikov, V.V., Communication module for organizing the fully directed connection of computers in a local network using .NET Framework, RF Certificate of State Registration 2013619925, 2013.

  13. Vasilchikov, V.V., Library for supporting recursive-parallel programming for .NET Framework, RF Certificate of State Registration 2013619926, 2013.

  14. Vasilchikov, V.V., On the recursive-parallel programming for the. NET framework, Autom. Control Comput. Sci., 2014, vol. 48, no. 7, pp. 575–580. https://doi.org/10.3103/s014641161407030x

    Article  Google Scholar 

  15. 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. https://doi.org/10.3103/s0146411617070215

    Article  Google Scholar 

  16. 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. https://doi.org/10.3103/s014641161807026x

    Article  MathSciNet  Google Scholar 

  17. Vasilchikov, V.V., Parallel algorithm for solving the graph isomorphism problem, Autom. Control Comput. Sci., 2021, vol. 55, no. 7, pp. 617–622. https://doi.org/10.3103/S0146411621070166

    Article  Google Scholar 

  18. Foggia, P., Sansone, C., and Vento, M., A database of graphs for isomorphism and sub-graph isomorphism benchmarkin, 2001. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.6803&rep=rep1&type=pdf.

Download references

Funding

This study was supported by the VIP-016 program.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to V. V. Vasilchikov.

Ethics declarations

The author of this work declares that he has no conflicts of interest.

Additional information

Translated by S. Avodkova

Publisher’s Note.

Allerton Press remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vasilchikov, V.V. Recursive-Parallel Algorithm for Solving the Graph-Subgraph Isomorphism Problem. Aut. Control Comp. Sci. 57, 672–682 (2023). https://doi.org/10.3103/S0146411623070155

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.3103/S0146411623070155

Keywords:

Navigation