Abstract
Although graphs are widely used to encode and solve various computational problems, little research exists on constrained graph construction. The current research was carried out to shed light on the problem of generating graphs, where the construction process is guided by various structural restrictions, like vertex degrees, proximity among vertices, and imposed and forbidden patterns. The main contribution of this paper is an encoding of the constrained graph generation problem in terms of a constraint satisfaction problem (CSP). This approach is motivated by the flurry of efficient solution algorithms available within the constraint programming (CP) framework. The obtained encoding has given rise to the CP-MolGen program, a new open source program dedicated to the generation of molecular graphs with imposed and forbidden fragments. Experimental results on several real-world molecular graph generation instances have shown the effectiveness and efficiency of the proposed program, especially the benefits of forbidding cyclic patterns as induced subgraphs.
Similar content being viewed by others
Notes
1D, 13C, COSY, HMQC/HSQC, HMBC are a set of nuclear magnetic resonance spectroscopy (NMR) experimental methods which give information on correlations among atoms
References
Apt, K. (2007). Constraint Logic Programming Using ECLiPSe. Cambridge: Cambridge University Press.
Barvinok, A., & Hartigan, J. (2012). The number of graphs and a random graph with a given degree sequence. Random Structures &, Algorithms, 42(3), 301–348. https://doi.org/10.1002/rsa.20409.
Bayati, M., Montanari, A., Saberi, A. (2009). Generating random graphs with large girth. In: Proceedings of the Twentieth Annual ACM-SIAM Symposium on Discrete Algorithms (pp. 566–575). Society for Industrial and Applied Mathematics. https://doi.org/10.1137/1.9781611973068.63.
Bistarelli, S., Montanari, U., Rossi, F., Schiex, T., Verfaillie, G., Fargier, H. (1999). Semiring-based CSPs and Valued CSPs: Frameworks, properties, and comparison. Constraints, 4(3), 199–240. https://doi.org/10.1023/A:1026441215081.
Brown, K.N., Prosser, P., Beck, J.C., Wu, C.W. (2005). Exploring the use of constraint programming for enforcing connectivity during graph generation. In: 5Th Workshop on Modelling and Solving Problems with Constraints. ACM.
Corander, J., Janhunen, T., Rintanen, J., Nyman, H.J., Pensar, J. (2013). Learning chordal markov networks by constraint satisfaction, pp. 1349–1357. arXiv:1310.0927.
Dooms, G., Deville, Y., Dupont, P. (2005). Constrained metabolic network analysis: discovering pathways using CP(Graph). In: Workshop on Constraint Based Methods for Bioinformatics (pp. 29–35).
Dooms, G., Deville, Y., Dupont, P. (2005). CP(GRaph): Introducing a graph computation domain in constraint programming. In Proceedings of the 11th International Conference on Principles and Practice of Constraint Programming, CP05 (pp. 211–225). Berlin: Springer.
Elyashberg, M.E., Blinov, K.A., Williams, A.J., Molodtsov, S.G., Martin, G.E., Martirosian, E.R. (2004). Structure Elucidator: A versatile expert system for molecular structure elucidation from 1D and 2D NMR data and molecular fragments. Journal of Chemical Information and Computer Sciences, 44(3), 771–792. https://doi.org/10.1021/ci0341060.
Erdös, P. (1959). Graph theory and probability. Canadian Journal of Mathematics, 11, 34–38.
Fages, J.G. (2014). On the use of graphs within constraint-programming. Constraints, 20, 498–499. https://doi.org/10.1007/s10601-015-9223-9.
Frieze, A., & Karoński, M. (2016). Introduction to random graphs. Cambridge University Press.
G Tack, M.L., & Schulte, C. Gecode: generic constraint development environment. http://www.gecode.org/. Accessed: 2019-05-02.
Garey, M.R., & Johnson, D.S. (1990). Computers and Intractability; A Guide to the Theory of NP-completeness. New York: W. H. Freeman & Co.
Genio, C.I.D., Kim, H., Toroczkai, Z., Bassler, K.E. (2010). Efficient and exact sampling of simple graphs with given arbitrary degree sequence. PLoS ONE, 5 (4), e10012.
Genova, D., & Jonoska, N. (2012). Forbidding and enforcing on graphs. Theoretical Computer Science, 429, 108–117. https://doi.org/10.1016/j.tcs.2011.12.029.
Gent, I., Jefferson, C., Miguel, I. (2006). MINION: A fast, scalable, constraint solver. In: ECAI 2006: 17Th European Conference on Artificial Intelligence, Frontiers in Artificial Intelligence and Applications (pp. 98–102). IOS press.
Gent, I.P., Macintyre, E., Prosser, P., Smith, B.M., Walsh, T. (2001). Random constraint satisfaction: Flaws and structure. Constraints, 6(4), 345–372. https://doi.org/10.1023/A:1011454308633.
van der Hofstad, R. (2016). Random graphs and complex networks cambridge university press. https://doi.org/10.1017/9781316779422.
IBM: IBM ILOG Solver V6.7. https://www.ibm.com/analytics/cplex-cp-optimizer. Accessed: 2019-05-02.
Jaspars, M. (1999). Computer assisted structure elucidation of natural products using two-dimensional NMR spectroscopy. Natural Product Reports, 16(2), 241–248. https://doi.org/10.1039/a804433c.
Laburthe, F. (2000). CHOCO: Implementing A CP kernel. In: CP00 Post Conference Workshop on Techniques for Implementing Constraint Programming Systems (TRICS).
Lehmberg, O., Meusel, R., Bizer, C. (2014). Graph structure in the web: Aggregated by pay-level domain. In Proceedings of the 2014 ACM Conference on Web Science, WebSci’14. https://doi.org/10.1145/2615569.2615674 (pp. 119–128). New York: ACM.
Liebenau, A., & Wormald, N. (2017). Asymptotic enumeration of graphs by degree sequence, and the degree sequence of a random graph. arXiv:1702.08373.
MacKay, D.J.C. (2003). Information theory, inference and learning algorithms. Cambridge University Press.
Masui, H., & Hong, H. (2006). Spec2D: a structure elucidation system based on 1H NMR and h-H COSY spectra in organic chemistry. Journal of Chemical Information and Modeling, 46(2), 775–787. https://doi.org/10.1021/ci0502810.
Melançon, G., Dutour, I., Bousquet-Mélou, M. (2001). Random generation of directed acyclic graphs. In: Comb01, Euroconference on Combinatorics, Graph Theory and Applications, pp. 1–7. Spain.
Meringer, M., & Schymanski, E. (2013). Small molecule identification with MOLGEN and mass spectrometry. Metabolites, 3(2), 440–462. https://doi.org/10.3390/metabo3020440.
Mihail, M., & Vishnoi, N.K. (2003). On generating graphs with prescribed vertex degrees for complex network modeling. In: 3Rd Workshop on Approximation and Randomization Algorithms in Communication NEtworks.
Milo, R., Kashtan, N., Itzkovitz, S., Newman, M.E., Alon, U. (2003). On the uniform generation of random graphs with prescribed degree sequences. arXiv:cond-mat/0312028.
Nuzillard, J.M., Naanaa, W., Pimont, S. (1995). Applying the constraint satisfaction problem paradigm to structure generation. Journal of Chemical Information and Modeling, 35(6), 1068–1073. https://doi.org/10.1021/ci00028a018.
Nuzillard, J.M., & Plainchont, B. (2017). Tutorial for the structure elucidation of small molecules by means of the LSD software. Magnetic resonance in chemistry : MRC 56. https://doi.org/10.1002/mrc.4612.
Omrani, M.A., & Naanaa, W. (2016). A constrained molecular graph generation with imposed and forbidden fragments. In: Proceedings of the 9th Hellenic Conference on Artificial Intelligence - SETN16. ACM Press. https://doi.org/10.1145/2903220.2903234.
Peironcely, J.E., Rojas-Chertó, M., Fichera, D., Reijmers, T., Coulier, L., Faulon, J.L., Hankemeier, T. (2012). OMG: Open Molecule generator. Journal of Cheminformatics, 4(1), 21. https://doi.org/10.1186/1758-2946-4-21.
Reinelt, G. (1994). The Traveling Salesman: Computational Solutions for TSP Applications. Berlin: Springer.
Sarkar, D., Sarkar, U.K., Peng, G. (2007). Bandwidth requirement of links in a hierarchical caching network: a graph-based formulation, an algorithm and its performance evaluation. International Journal of Computers and Applications, 29(1), 70–78. https://doi.org/10.1080/1206212X.2007.11441834.
Steinbeck, C., Han, Y., Kuhn, S., Horlacher, O., Luttmann, E., Willighagen, E. (2003). The chemistry development kit (CDK): an open-source java library for chemo- and bioinformatics. Journal of Chemical Information and Computer Sciences, 43(2), 493–500. https://doi.org/10.1021/ci025584y.
Tsang, E. (2014). Foundations of constraint satisfaction. books on demand.
Williams, R. (2013). Faster all-pairs shortest paths via circuit complexity. CoRR arXiv:abs/1312.6680.
Zampelli, S., Deville, Y., Solnon, C. (2010). Solving subgraph isomorphism problems with constraint programming. Constraints, 15(3), 327–353. https://doi.org/10.1007/s10601-009-9074-3.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Omrani, M.A., Naanaa, W. Constraints for generating graphs with imposed and forbidden patterns: an application to molecular graphs. Constraints 25, 1–22 (2020). https://doi.org/10.1007/s10601-019-09305-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10601-019-09305-x