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.
Similar content being viewed by others
References
Barabasi, A.-L. (2003). Linked: How everything is connected to everything else and what it means. New York: Plume.
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.
Conte, D., Foggia, P., Sansone, C., & Vento, M. (2004). Thirty years of graph matching in pattern recognition. IJPRAI, 18(3), 265–298.
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.
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.
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.
Cormen, T. H., Stein, C., Rivest, R. L., & Leiserson, C. E. (2001). Introduction to algorithms. New York: McGraw-Hill Higher Education.
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.
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).
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).
Foggia, P., Sansone, C., & Vento, M.: A database of graphs for isomorphism and sub-graph isomorphism benchmarking. CoRR cs.PL/0105015.
Fowler, G., Haralick, R., Gray, F. G., Feustel, C., & Grinstead, C. (1983). Efficient graph automorphism by vertex partitioning. Artificial Intelligence, 21, 245–269.
Garey, M., & Johnson, D. (1979). Computers and intractability. New York: Freeman.
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.
Guo, J., Hueffner, F., & Moser, H. (2007). Feedback arc set in bipartite tournaments is np-complete. Information Processing Letters, 102(2–3), 62–65.
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.
Larrosa, J., & Valiente, G. (2002). Constraint satisfaction algorithms for graph pattern matching, Mathematical. Structures in Computer Science, 12(4), 403–422.
McKay, B. D. (1981). Practical graph isomorphism. Congressus Numerantium, 30, 45–87.
Régin, J. (1995). Développement d’outils algorithmiques pour l’intelligence artificielle. Application à la chimie organique, Ph.D. thesis.
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).
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.
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.
Sorlin, S., & Solnon, C. (2006). A new filtering algorithm for the graph isomorphism problem. In 3rd International workshop on constraint propagation and implementation. CP2006.
Sorlin, S., & Solnon, C. (2008). A parametric filtering algorithm for the graph isomorphism problem. Constraints, 13(4), 518–537.
Ullmann, J. R. (1976). An algorithm for subgraph isomorphism. Journal of the ACM, 23(1), 31–42.
Valiente, G. (2002). Algorithms on trees and graphs. Berlin: Springer.
Zampelli, S. (2008). A constraint programming approcah to subgraph isomorphism. Ph.D. thesis, UCLouvain, Department of Computing Science & Engineering.
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).
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.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10601-009-9074-3