A Parallel, Backjumping Subgraph Isomorphism Algorithm Using Supplemental Graphs

  • Ciaran McCreeshEmail author
  • Patrick Prosser
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9255)


The subgraph isomorphism problem involves finding a pattern graph inside a target graph. We present a new bit- and thread-parallel constraint-based search algorithm for the problem, and experiment on a wide range of standard benchmark instances to demonstrate its effectiveness. We introduce supplemental graphs, to create implied constraints. We use a new low-overhead, lazy variation of conflict directed backjumping which interacts safely with parallel search, and a counting-based all-different propagator which is better suited for large domains.


Constraint Satisfaction Problem Recursive Call Benchmark Instance Subgraph Isomorphism Target Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Audemard, G., Lecoutre, C., Samy-Modeliar, M., Goncalves, G., Porumbel, D.: Scoring-based neighborhood dominance for the subgraph isomorphism problem. In: O’Sullivan, B. (ed.) CP 2014. LNCS, vol. 8656, pp. 125–141. Springer, Heidelberg (2014). Google Scholar
  2. 2.
    Bessière, C., Régin, J.: MAC and combined heuristics: two reasons to forsake FC (and CBJ?) on hard problems. In: Proceedings of the Second International Conference on Principles and Practice of Constraint Programming, Cambridge, Massachusetts, USA, August 19–22, 1996, pp. 61–75 (1996).
  3. 3.
    Bonnici, V., Giugno, R., Pulvirenti, A., Shasha, D., Ferro, A.: A subgraph isomorphism algorithm and its application to biochemical data. BMC Bioinformatics 14(Suppl 7), S13 (2013). CrossRefGoogle Scholar
  4. 4.
    de Bruin, A., Kindervater, G.A.P., Trienekens, H.W.J.M.: Asynchronous parallel branch and bound and anomalies. In: Ferreira, A., Rolim, J.D.P. (eds.) IRREGULAR 1995. LNCS, vol. 980, pp. 363–377. Springer, Heidelberg (1995). CrossRefGoogle Scholar
  5. 5.
    Chen, X., van Beek, P.: Conflict-directed backjumping revisited. J. Artif. Intell. Res. (JAIR) 14, 53–81 (2001). zbMATHGoogle Scholar
  6. 6.
    Chu, G., Schulte, C., Stuckey, P.J.: Confidence-based work stealing in parallel constraint programming. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 226–241. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  7. 7.
    Coffman, T., Greenblatt, S., Marcus, S.: Graph-based technologies for intelligence analysis. Commun. ACM 47(3), 45–47 (2004). CrossRefGoogle Scholar
  8. 8.
    Conrad, J., Mathew, J.: A backjumping search algorithm for a distributed memory multicomputer. In: International Conference on Parallel Processing, ICPP 1994, vol. 3, pp. 243–246, August 1994Google Scholar
  9. 9.
    Conte, D., Foggia, P., Sansone, C., Vento, M.: Thirty years of graph matching in pattern recognition. International Journal of Pattern Recognition and Artificial Intelligence 18(03), 265–298 (2004). CrossRefGoogle Scholar
  10. 10.
    Cope, M., Gent, I.P., Hammond, K.: Parallel heuristic search in Haskell. In: Selected Papers from the 2nd Scottish Functional Programming Workshop (SFP00), University of St Andrews, Scotland, July 26–28, 2000, pp. 65–76 (2000)Google Scholar
  11. 11.
    Cordella, L.P., Foggia, P., Sansone, C., Vento, M.: A (sub)graph isomorphism algorithm for matching large graphs. IEEE Trans. Pattern Anal. Mach. Intell. 26(10), 1367–1372 (2004). CrossRefGoogle Scholar
  12. 12.
    Damiand, G., Solnon, C., de la Higuera, C., Janodet, J.C., Samuel, É.: Polynomial algorithms for subisomorphism of \(n\)D open combinatorial maps. Computer Vision and Image Understanding 115(7), 996–1010 (2011)., special issue on Graph-Based Representations in Computer VisionCrossRefGoogle Scholar
  13. 13.
    Geelen, P.A.: Dual viewpoint heuristics for binary constraint satisfaction problems. In: ECAI, pp. 31–35 (1992)Google Scholar
  14. 14.
    Gent, I.P., Miguel, I., Moore, N.C.A.: Lazy explanations for constraint propagators. In: Carro, M., Peña, R. (eds.) PADL 2010. LNCS, vol. 5937, pp. 217–233. Springer, Heidelberg (2010). CrossRefGoogle Scholar
  15. 15.
    Gent, I.P., Miguel, I., Nightingale, P.: Generalised arc consistency for the alldifferent constraint: An empirical survey. Artificial Intelligence 172(18), 1973–2000 (2008)., special Review IssuezbMATHMathSciNetCrossRefGoogle Scholar
  16. 16.
    Giugno, R., Bonnici, V., Bombieri, N., Pulvirenti, A., Ferro, A., Shasha, D.: Grapes: A software for parallel searching on biological graphs targeting multi-core architectures. PLoS ONE 8(10), e76911 (2013)
  17. 17.
    Habbas, Z., Herrmann, F., Merel, P.P., Singer, D.: Load balancing strategies for parallel forward search algorithm with conflict based backjumping. In: Proceedings of the 1997 International Conference on Parallel and Distributed Systems, pp. 376–381, December 1997Google Scholar
  18. 18.
    Harvey, W.D., Ginsberg, M.L.: Limited discrepancy search. In: IJCAI (1), pp. 607–615. Morgan Kaufmann, San Francisco (1995)Google Scholar
  19. 19.
    Kessel, P.V., Quimper, C.: Filtering algorithms based on the word-RAM model. In: Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, July 22–26, 2012, Toronto, Ontario, Canada. (2012).
  20. 20.
    Larrosa, J., Valiente, G.: Constraint satisfaction algorithms for graph pattern matching. Mathematical Structures in Computer Science 12(4), 403–422 (2002). zbMATHMathSciNetCrossRefGoogle Scholar
  21. 21.
    Lobachev, O.: Parallel computation skeletons with premature termination property. In: Schrijvers, T., Thiemann, P. (eds.) FLOPS 2012. LNCS, vol. 7294, pp. 197–212. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  22. 22.
    MacIntyre, E., Prosser, P., Smith, B.M., Walsh, T.: Random constraint satisfaction: theory meets practice. In: Maher, M.J., Puget, J.-F. (eds.) CP 1998. LNCS, vol. 1520, p. 325. Springer, Heidelberg (1998). CrossRefGoogle Scholar
  23. 23.
    Malitsky, Y.: Instance-Specific Algorithm Configuration. Springer (2014).
  24. 24.
    McCreesh, C., Prosser, P.: The shape of the search tree for the maximum clique problem and the implications for parallel branch and bound. ACM Trans. Parallel Comput. 2(1), 8:1–8:27 (2015). CrossRefGoogle Scholar
  25. 25.
    McGregor, J.J.: Relational consistency algorithms and their application in finding subgraph and graph isomorphisms. Inf. Sci. 19(3), 229–250 (1979).–9 zbMATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    Prosser, P.: Domain filtering can degrade intelligent backtracking search. In: Proceedings of the 13th International Joint Conference on Artifical Intelligence, IJCAI 1993 ,vol. 1, pp. 262–267. Morgan Kaufmann Publishers Inc., San Francisco (1993).
  27. 27.
    Prosser, P.: Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence 9, 268–299 (1993). CrossRefGoogle Scholar
  28. 28.
    Puget, J.: A fast algorithm for the bound consistency of alldiff constraints. In: Proceedings of the Fifteenth National Conference on Artificial Intelligence and Tenth Innovative Applications of Artificial Intelligence Conference, AAAI 1998, IAAI 1998, July 26–30, 1998, Madison, Wisconsin, USA, pp. 359–366 (1998).
  29. 29.
    Quimper, C.-G., Walsh, T.: The all different and global cardinality constraints on set, multiset and tuple variables. In: Hnich, B., Carlsson, M., Fages, F., Rossi, F. (eds.) CSCLP 2005. LNCS (LNAI), vol. 3978, pp. 1–13. Springer, Heidelberg (2006). CrossRefGoogle Scholar
  30. 30.
    Régin, J.: A filtering algorithm for constraints of difference in CSPs. In: Proceedings of the 12th National Conference on Artificial Intelligence, Seattle, WA, USA, July 31– August 4, 1994, vol. 1, pp. 362–367 (1994).
  31. 31.
    Régin, J.C.: Développement d’outils algorithmiques pour l’Intelligence Artificielle. Application à la chimie organique. Ph.D. thesis, Université Montpellier 2 (1995)Google Scholar
  32. 32.
    San Segundo, P., Rodriguez-Losada, D., Galan, R., Matia, F., Jimenez, A.: Exploiting CPU bit parallel operations to improve efficiency in search. In: 19th IEEE International Conference on Tools with Artificial Intelligence, ICTAI 2007, vol. 1, pp. 53–59, October 2007Google Scholar
  33. 33.
    Sevegnani, M., Calder, M.: Bigraphs with sharing. Theoretical Computer Science 577, 43–73 (2015). zbMATHMathSciNetCrossRefGoogle Scholar
  34. 34.
    Slater, N., Itzchack, R., Louzoun, Y.: Mid size cliques are more common in real world networks than triangles. Network Science 2, 387–402 (2014). CrossRefGoogle Scholar
  35. 35.
    Smith, B.M., Grant, S.A.: Modelling exceptionally hard constraint satisfaction problems. In: Smolka, G. (ed.) CP 1997. LNCS, vol. 1330, pp. 182–195. Springer, Heidelberg (1997). CrossRefGoogle Scholar
  36. 36.
    Solnon, C.: Alldifferent-based filtering for subgraph isomorphism. Artif. Intell. 174(12–13), 850–864 (2010). zbMATHMathSciNetCrossRefGoogle Scholar
  37. 37.
    Solnon, C., Damiand, G., de la Higuera, C., Janodet, J.C.: On the complexity of submap isomorphism and maximum common submap problems. Pattern Recognition 48(2), 302–316 (2015). CrossRefGoogle Scholar
  38. 38.
    Trienekens, H.W.: Parallel Branch and Bound Algorithms. Ph.D. thesis, Erasmus University Rotterdam (1990)Google Scholar
  39. 39.
    Ullmann, J.R.: An algorithm for subgraph isomorphism. Journal of the ACM (JACM) 23(1), 31–42 (1976)MathSciNetCrossRefGoogle Scholar
  40. 40.
    Ullmann, J.R.: Bit-vector algorithms for binary constraint satisfaction and subgraph isomorphism. J. Exp. Algorithmics 15, 1.6:1.1–1.6:1.64 (2011). Google Scholar
  41. 41.
    Zampelli, S., Deville, Y., Solnon, C.: Solving subgraph isomorphism problems with constraint programming. Constraints 15(3), 327–353 (2010). zbMATHMathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.University of GlasgowGlasgowScotland

Personalised recommendations