Portfolios of Subgraph Isomorphism Algorithms

  • Lars Kotthoff
  • Ciaran McCreeshEmail author
  • Christine Solnon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10079)


Subgraph isomorphism is a computationally challenging problem with important practical applications, for example in computer vision, biochemistry, and model checking. There are a number of state-of-the-art algorithms for solving the problem, each of which has its own performance characteristics. As with many other hard problems, the single best choice of algorithm overall is rarely the best algorithm on an instance-by-instance. We develop an algorithm selection approach which leverages novel features to characterise subgraph isomorphism problems and dynamically decides which algorithm to use on a per-instance basis. We demonstrate substantial performance improvements on a large set of hard benchmark problems. In addition, we show how algorithm selection models can be leveraged to gain new insights into what affects the performance of an algorithm.


  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). doi: 10.1007/978-3-319-10428-7_12. Google Scholar
  2. 2.
    Battiti, R., Mascia, F.: An algorithm portfolio for the sub-graph isomorphism problem. In: Stützle, T., Birattari, M., Hoos, H.H. (eds.) SLS 2007. LNCS, vol. 4638, pp. 106–120. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-74446-7_8 CrossRefGoogle Scholar
  3. 3.
    Bischl, B., Kerschke, P., Kotthoff, L., Lindauer, M.T., Malitsky, Y., Fréchette, A., Hoos, H.H., Hutter, F., Leyton-Brown, K., Tierney, K., Vanschoren, J.: ASlib: a benchmark library for algorithm selection. Artif. Intell. J. (2016, in press)Google Scholar
  4. 4.
    Cohen, W.W.: Fast effective rule induction. In: Twelfth International Conference on Machine Learning, pp. 115–123. Morgan Kaufmann (1995)Google Scholar
  5. 5.
    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
  6. 6.
    Damiand, G., Solnon, C., de la Higuera, C., Janodet, J.C., Samuel, E.: Polynomial algorithms for subisomorphism of nD open combinatorial maps. Comput. Vis. Image Underst. (CVIU) 115(7), 996–1010 (2011)CrossRefGoogle Scholar
  7. 7.
    De Santo, M., Foggia, P., Sansone, C., Vento, M.: A large database of graphs and its use for benchmarking graph isomorphism algorithms. Pattern Recogn. Lett. 24(8), 1067–1079 (2003).–2 CrossRefzbMATHGoogle Scholar
  8. 8.
    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). Google Scholar
  9. 9.
    Gomes, C.P., Selman, B.: Algorithm portfolios. Artif. Intell. 126(1–2), 43–62 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Huberman, B.A., Lukose, R.M., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)CrossRefGoogle Scholar
  11. 11.
    Kotthoff, L.: LLAMA: Leveraging learning to automatically manage algorithms. Technical report arXiv:1306.1031 June 2003
  12. 12.
    Kotthoff, L.: Algorithm selection for combinatorial search problems: a survey. AI Mag. 35(3), 48–60 (2014)Google Scholar
  13. 13.
    Kotthoff, L., Kerschke, P., Hoos, H., Trautmann, H.: Improving the state of the art in inexact TSP solving using per-instance algorithm selection. In: Dhaenens, C., Jourdan, L., Marmion, M.-E. (eds.) LION 2015. LNCS, vol. 8994, pp. 202–217. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-19084-6_18 CrossRefGoogle Scholar
  14. 14.
    Larrosa, J., Valiente, G.: Constraint satisfaction algorithms for graph pattern matching. Math. Struct. Compt. Sci. 12(4), 403–422 (2002)MathSciNetzbMATHGoogle Scholar
  15. 15.
    McCreesh, C., Prosser, P.: A parallel, backjumping subgraph isomorphism algorithm using supplemental graphs. In: Pesant, G. (ed.) CP 2015. LNCS, vol. 9255, pp. 295–312. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-23219-5_21. Google Scholar
  16. 16.
    McCreesh, C., Prosser, P., Trimble, J.: Heuristics and really hard instances for subgraph isomorphism problems. In: IJCAI (2016, to appear)Google Scholar
  17. 17.
    McGregor, J.J.: Relational consistency algorithms and their application in finding subgraph and graph isomorphisms. Inf. Sci. 19(3), 229–250 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Mohr, R., Henderson, T.: Arc and path consistency revisited. Artif. Intell. 28, 225–233 (1986)CrossRefGoogle Scholar
  19. 19.
    O’Mahony, E., Hebrard, E., Holland, A., Nugent, C., O’Sullivan, B.: Using case-based reasoning in an algorithm portfolio for constraint solving. In: Proceedings of the 19th Irish Conference on Artificial Intelligence and Cognitive Science, January 2008Google Scholar
  20. 20.
    Régin, J.C.: A filtering algorithm for constraints of difference in CSPs. In: Proceeding of the 12th Conference American Association Artificial Intelligence, vol. 1, pp. 362–367. American Association Artificial Intelligence (1994)Google Scholar
  21. 21.
    Rice, J.R.: The algorithm selection problem. Adv. Comput. 15, 65–118 (1976)CrossRefGoogle Scholar
  22. 22.
    Sabharwal, A., Samulowitz, H.: Insights into parallelism with intensive knowledge sharing. In: O’Sullivan, B. (ed.) CP 2014. LNCS, vol. 8656, pp. 655–671. Springer, Heidelberg (2014). doi: 10.1007/978-3-319-10428-7_48. Google Scholar
  23. 23.
    Seipp, J., Braun, M., Garimort, J., Helmert, M.: Learning portfolios of automatically tuned planners. In: ICAPS (2012)Google Scholar
  24. 24.
    Sevegnani, M., Calder, M.: Bigraphs with sharing. Theor. Comput. Sci. 577, 43–73 (2015). MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Solnon, C., Damiand, G., de la Higuera, C., Janodet, J.: On the complexity of submap isomorphism and maximum common submap problems. Pattern Recogn. 48(2), 302–316 (2015)CrossRefzbMATHGoogle Scholar
  26. 26.
    Solnon, C.: Alldifferent-based filtering for subgraph isomorphism. Artif. Intell. 174(12–13), 850–864 (2010). MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Ullmann, J.R.: An algorithm for subgraph isomorphism. J. ACM 23(1), 31–42 (1976)MathSciNetCrossRefGoogle Scholar
  28. 28.
    Xu, L., Hutter, F., Hoos, H.H., Leyton-Brown, K.: SATzilla: Portfolio-based algorithm selection for SAT. J. Artif. Intell. Res. (JAIR) 32, 565–606 (2008)zbMATHGoogle Scholar
  29. 29.
    Zampelli, S., Deville, Y., Solnon, C.: Solving subgraph isomorphism problems with constraint programming. Constraints 15(3), 327–353 (2010)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Lars Kotthoff
    • 1
  • Ciaran McCreesh
    • 2
    Email author
  • Christine Solnon
    • 3
  1. 1.University of British ColumbiaVancouverCanada
  2. 2.University of GlasgowGlasgowScotland
  3. 3.INSA-Lyon, LIRIS, UMR5205VilleurbanneFrance

Personalised recommendations