An experimental evaluation of refinement techniques for the subgraph isomorphism backtracking algorithms

Jurij Mihelič 1  and Uroš Čibej 2
  • 1 Faculty of Computer and Information Science, University of Ljubljana, Večna pot 113, Ljubljana, 1000, Slovenia
  • 2 Faculty of Computer and Information Science, University of Ljubljana, Večna pot 113, Ljubljana, 1000, Slovenia

Abstract

In this paper, we study a well-known computationally hard problem, called the subgraph isomorphism problem where the goal is for a given pattern and target graphs to determine whether the pattern is a subgraph of the target graph. Numerous algorithms for solving the problem exist in the literature and most of them are based on the backtracking approach. Since straightforward backtracking is usually slow, many algorithmic refinement techniques are used in practical algorithms. The main goal of this paper is to study such refinement techniques and to determine their ability to speed up backtracking algorithms. To do this we use a methodology of experimental algorithmics. We perform an experimental evaluation of the techniques and their combinations and, hence, demonstrate their usefulness in practice.

If the inline PDF is not rendering correctly, you can download the PDF file here.

  • [1] Dimitris K Agrafiotis, Victor S Lobanov, Maxim Shemanarev, Dmitrii N Rassokhin, Sergei Izrailev, Edward P Jaeger, Simson Alex, and Michael Farnum. Efficient Substructure Searching of Large Chemical Libraries: The ABCD Chemical Cartridge. J. Chem. Inf. Model., 2011.

  • [2] John M Barnard. Substructure searching methods: Old and new. J. Chemical Information and Computer Sciences, 33(4):532–538, 1993.

  • [3] Wenfei Fan. Graph pattern matching revised for social network analysis. In Proc. 15th International Conference on Database Theory - ICDT ’12, page 8. ACM Press, March 2012.

  • [4] Jianzhuang Liu and Yong Tsui Lee. Graph-based method for face identification from a single 2D line drawing. IEEE Trans. Pattern Analysis and Machine Intelligence, 23(10):1106–1119, 2001.

  • [5] Catherine C. McGeoch. A guide to experimental algorithmics. Cambridge University Press, New York, NY, USA, 1st edition, 2012.

  • [6] Matthias Muller-Hannemann and Stefan Schirra, editors. Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice. Springer-Verlag, Berlin, Heidelberg, 2010.

  • [7] Stéphane Zampelli. A Constraint Programming Approach to Subgraph Isomorphism. PhD thesis, Université catholique de Lou-vain, Belgium.

  • [8] Uroš Čibej and Jurij Mihelič. Improvements to Ullmann’s algorithm for the subgraph isomorphism problem. International Journal of Pattern Recognition and Artificial Intelligence, 29(07):1550025, 2015.

  • [9] Julian R. Ullmann. An algorithm for subgraph isomorphism. Journal of the ACM, 23(1):31–42, January 1976.

  • [10] Vincenzo Carletti, Pasquale Foggia, Antonio Greco, Mario Vento, and Vincenzo Vigilante. Vf3-light: A lightweight subgraph isomorphism algorithm and its experimental evaluation. Pattern Recognition Letters, 125:591 – 596, 2019.

  • [11] Vincenzo Carletti, Pasquale Foggia, Alessia Saggese, and Mario Vento. Introducing vf3: A new algorithm for subgraph isomorphism. In Pasquale Foggia, Cheng-Lin Liu, and Mario Vento, editors, Graph-Based Representations in Pattern Recognition, pages 128–139, Cham, 2017. Springer International Publishing.

  • [12] Luigi P. Cordella, Pasquale Foggia, Carlo Sansone, and Mario Vento. A (sub)graph isomorphism algorithm for matching large graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(10):1367–1372, Oct 2004.

  • [13] Vincenzo Bonnici, Rosalba Giugno, Alfredo Pulvirenti, Dennis Shasha, and Alfredo Ferro. A subgraph isomorphism algorithm and its application to biochemical data. BMC bioinformatics, 14(7), 2013.

  • [14] Ciaran McCreesh and Patrick Prosser. A parallel, backjumping subgraph isomorphism algorithm using supplemental graphs. In Gilles Pesant, editor, Principles and Practice of Constraint Programming, pages 295–312, Cham, 2015. Springer International Publishing.

  • [15] Julian R. Ullmann. Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphism. Journal of Experimental Algorithmics, 15:1.6:1.1–1.6:1.64, February 2011.

  • [16] Christine Solnon. AllDifferent-based filtering for subgraph isomorphism. Artificial Intelligence, 174(12-13):850–864, August 2010.

  • [17] Junhu Wang, Xuguang Rena, Shikha Anirbana, and Xin-Wen Wub. Correct filtering for subgraph isomorphism search in compressed vertex-labeled graphs. Information Sciences, 482:363–373, 2019.

  • [18] S. Sun and Q. Luo. Subgraph matching with effective matching order and indexing. IEEE Transactions on Knowledge and Data Engineering, 2020.

  • [19] Vincenzo Carletti, Pasquale Foggia, Pierluigi Ritrovato, Mario Vento, and Vincenzo Vigilante. A parallel algorithm for subgraph isomorphism. In Donatello Conte, Jean-Yves Ramel, and Pasquale Foggia, editors, Graph-Based Representations in Pattern Recognition, pages 141–151, Cham, 2019. Springer International Publishing.

  • [20] Shun Imai and Akihiro Inokuchi. Efficient supergraph search using graph coding. IEICE Transactions on Information and Systems, E103.D:130–141, 2020.

  • [21] Bernard M. E. Moret. Towards a discipline of experimental algorithmics. Data structures, near neighbor searches, and methodology: fifth and sixth DIMACS implementation challenges, 59:197–213, 2002.

  • [22] Christine Solnon. Experimental evaluation of subgraph isomorphism solvers. In Donatello Conte, Jean-Yves Ramel, and Pasquale Foggia, editors, Graph-Based Representations in Pattern Recognition, pages 1–13, Cham, 2019. Springer International Publishing.

  • [23] Massimo De Santo, Pasquale Foggia, Carlo Sansone, and Mario Vento. A large database of graphs and its use for benchmarking graph isomorphism algorithms. Pattern Recogn. Lett., 24(8):1067–1079, May 2003.

  • [24] Donatello Conte, Pasquale Foggia, Carlo Sansone, and Mario Vento. Thirty years of graph matching in pattern recognition. International Journal of Pattern Recognition and Artificial Intelligence, 2004.

  • [25] Uroš Čibej and Jurij Mihelič. Search strategies for subgraph isomorphism algorithms. In Prosenjit Gupta and Christos Zaroliagis, editors, Applied Algorithms, pages 77–88, Cham, 2014. Springer International Publishing.

  • [26] Luka Fürst, Uroš Čibej, and Jurij Mihelič. Maximum exploratory equivalence in trees. In 2015 Federated Conference on Computer Science and Information Systems, FedCSIS 2015, Łódź, Poland, September 13-16, 2015, pages 507–518, 2015.

  • [27] Jurij Mihelič, Luka Fürst, and Uroš Čibej. Exploratory equivalence in graphs: Definition and algorithms. In 2014 Federated Conference on Computer Science and Information Systems, Fedcsis 2014, Warsaw, Poland, September 7-10, 2014, pages 447–456, 2014.

  • [28] Uroš Čibej, Luka Fürst, and Jurij Mihelič. A symmetry-breaking node equivalence for pruning the search space in backtracking algorithms. Symmetry, 11(10), 2019.

OPEN ACCESS

Journal + Issues

Search