Skip to main content
Log in

Solving subgraph isomorphism problems with constraint programming

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

The subgraph isomorphism problem consists in deciding if there exists a copy of a pattern graph in a target graph. We introduce in this paper a global constraint and an associated filtering algorithm to solve this problem within the context of constraint programming. The main idea of the filtering algorithm is to label every node with respect to its relationships with other nodes of the graph, and to define a partial order on these labels in order to express compatibility of labels for subgraph isomorphism. This partial order over labels is used to filter domains. Labelings can also be strengthened by adding information from the labels of neighbors. Such a strengthening can be applied iteratively until a fixpoint is reached. Practical experiments illustrate that our new filtering approach is more effective on difficult instances of scale free graphs than state-of-the-art algorithms and other constraint programming approaches.

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.

Similar content being viewed by others

References

  1. Barabasi, A.-L. (2003). Linked: How everything is connected to everything else and what it means. New York: Plume.

    Google Scholar 

  2. Bessière, C., & Van Hentenryck, P. (2003). To be or not to be . . . a global constraint. In Proceedings of the 9th international conference on principles and practice of constraint programming (CP). LNCS (Vol. 2833, pp. 789–794). New York: Springer.

    Google Scholar 

  3. Conte, D., Foggia, P., Sansone, C., & Vento, M. (2004). Thirty years of graph matching in pattern recognition. IJPRAI, 18(3), 265–298.

    Google Scholar 

  4. Cordella, L., Foggia, P., Sansone, C., Tortella, F., & Vento, M. (1998). Graph matching: A fast algorithm and its evaluation. In ICPR ’98: Proceedings of the 14th international conference on pattern recognition (Vol. 2, p. 1582). Washington, DC: IEEE Computer Society.

    Google Scholar 

  5. Cordella, L., Foggia, P., Sansone, C., & Vento, M. (2001). An improved algorithm for matching large graphs. In 3rd IAPR-TC15 workshop on graph-based representations in pattern recognition (pp. 149–159). Cuen.

  6. Cordella, L. P., Foggia, P., Sansone, C., & Vento, M. (1999). Performance evaluation of the vf graph matching algorithm. In ICIAP ’99: Proceedings of the 10th international conference on image analysis and processing (p. 1172). Washington, DC: IEEE Computer Society.

    Chapter  Google Scholar 

  7. Cormen, T. H., Stein, C., Rivest, R. L., & Leiserson, C. E. (2001). Introduction to algorithms. New York: McGraw-Hill Higher Education.

    MATH  Google Scholar 

  8. Darga, P. T., Liffiton, M. H., Sakallah, K. A., & Markov, I. L. (2004). Exploiting structure in symmetry detection for cnf. In Proc. Design Automation Conference (DAC) (pp. 530–534). Piscataway: IEEE/ACM.

    Google Scholar 

  9. Deville, Y., Dooms, G., Zampelli, S., & Dupont, P. (2005). Cp(graph+map) for approximate graph matching. In 1st international workshop on constraint programming beyond finite integer domains, CP2005 (pp. 33–48).

  10. Dooms, G., Deville, Y., & Dupont, P. (2005). Cp(graph): Introducing a graph computation domain in constraint programming. In Principles and practice of constraint programming. Lecture Notes in Computer Science (Vol. 3709, pp. 211–225).

  11. Foggia, P., Sansone, C., & Vento, M.: A database of graphs for isomorphism and sub-graph isomorphism benchmarking. CoRR cs.PL/0105015.

  12. Fowler, G., Haralick, R., Gray, F. G., Feustel, C., & Grinstead, C. (1983). Efficient graph automorphism by vertex partitioning. Artificial Intelligence, 21, 245–269.

    Article  MATH  MathSciNet  Google Scholar 

  13. Garey, M., & Johnson, D. (1979). Computers and intractability. New York: Freeman.

    MATH  Google Scholar 

  14. Grochow, J. A., & Kellis, M. (2007). Network motif discovery using subgraph enumeration and symmetry-breaking. In T. P. Speed, & H. Huang (Eds.), RECOMB. Lecture Notes in Computer Science (Vol. 4453, pp. 92–106). New York: Springer.

    Google Scholar 

  15. Guo, J., Hueffner, F., & Moser, H. (2007). Feedback arc set in bipartite tournaments is np-complete. Information Processing Letters, 102(2–3), 62–65.

    Article  MATH  MathSciNet  Google Scholar 

  16. Hopcroft, J. E., & Karp, R. M. (1973). An \(\text{n}^{\mbox{5/2}}\) algorithm for maximum matchings in bipartite graphs. SIAM Journal on Computing, 2(4), 225–231.

    Article  MATH  MathSciNet  Google Scholar 

  17. Larrosa, J., & Valiente, G. (2002). Constraint satisfaction algorithms for graph pattern matching, Mathematical. Structures in Computer Science, 12(4), 403–422.

    MATH  MathSciNet  Google Scholar 

  18. McKay, B. D. (1981). Practical graph isomorphism. Congressus Numerantium, 30, 45–87.

    MathSciNet  Google Scholar 

  19. Régin, J. (1995). Développement d’outils algorithmiques pour l’intelligence artificielle. Application à la chimie organique, Ph.D. thesis.

  20. Regin, J.-C. (1994). A filtering algorithm for constraints of difference in CSPs. In Proc. 12th conf. American assoc. artificial intelligence. Amer. assoc. artificial intelligence (Vol. 1, pp. 362–367).

  21. Rudolf, M. (1998). Utilizing constraint satisfaction techniques for efficient graph pattern matching. In Theory and application of graph transformations. Lecture Notes in Computer Science (No. 1764, pp. 238–252). New York: Springer.

    Google Scholar 

  22. Sorlin, S., & Solnon, C. (2004). A global constraint for graph isomorphism problems. In 6th International conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR 2004). LNCS (Vol. 3011, pp. 287–301). New York: Springer-Verlag.

    Google Scholar 

  23. Sorlin, S., & Solnon, C. (2006). A new filtering algorithm for the graph isomorphism problem. In 3rd International workshop on constraint propagation and implementation. CP2006.

  24. Sorlin, S., & Solnon, C. (2008). A parametric filtering algorithm for the graph isomorphism problem. Constraints, 13(4), 518–537.

    Article  MATH  MathSciNet  Google Scholar 

  25. Ullmann, J. R. (1976). An algorithm for subgraph isomorphism. Journal of the ACM, 23(1), 31–42.

    Article  MathSciNet  Google Scholar 

  26. Valiente, G. (2002). Algorithms on trees and graphs. Berlin: Springer.

    MATH  Google Scholar 

  27. Zampelli, S. (2008). A constraint programming approcah to subgraph isomorphism. Ph.D. thesis, UCLouvain, Department of Computing Science & Engineering.

  28. Zampelli, S., Deville, Y., & Dupont, P. (2005). Approximate constrained subgraph matching. In Principles and practice of constraint programming. Lecture notes in computer science (Vol. 3709, pp. 832–836).

  29. Zampelli, S., Deville, Y., Solnon, C., Sorlin, S., & Dupont, P. (2007). Filtering for subgraph isomorphism. In Proc. 13th conf. of principles and practice of constraint programming. Lecture notes in computer science (pp. 728–742). New York: Springer.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christine Solnon.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zampelli, S., Deville, Y. & Solnon, C. Solving subgraph isomorphism problems with constraint programming. Constraints 15, 327–353 (2010). https://doi.org/10.1007/s10601-009-9074-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-009-9074-3

Keywords

Navigation