Using Canonical Codes to Efficiently Solve the Benzenoid Generation Problem with Constraint Programming - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2023

Using Canonical Codes to Efficiently Solve the Benzenoid Generation Problem with Constraint Programming

Résumé

The Benzenoid Generation Problem (BGP) aims at generating all benzenoid molecules that satisfy some given properties. This problem has important applications in chemistry, and Carissan et al (2021) have shown us that Constraint Programming (CP) is well suited for modelling this problem because properties defined by chemists are easy to express by means of constraints. Benzenoids are described by hexagon graphs and a key point for an efficient enumeration of these graphs is to be invariant to rotations and symmetries. In this paper, we introduce canonical codes that uniquely characterise hexagon graphs while being invariant to rotations and symmetries. We show that these codes may be defined by means of constraints. We also introduce a global constraint for ensuring that codes are canonical, and a global constraint for ensuring that a pattern is included in a code. We experimentally compare our new CP model with the CP-based approach of Carissan et al (2021), and we show that it has better scale-up properties.
Fichier principal
Vignette du fichier
main.pdf (692.93 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Licence : CC BY - Paternité

Dates et versions

hal-04156847 , version 1 (09-07-2023)

Licence

Paternité

Identifiants

Citer

Xiao Peng, Christine Solnon. Using Canonical Codes to Efficiently Solve the Benzenoid Generation Problem with Constraint Programming. CP 2023 - 29th International Conference on Principles and Practice of Constraint Programming, Aug 2023, Toronto (CA), Canada. ⟨10.4230/LIPIcs.CP.2023.17⟩. ⟨hal-04156847⟩
20 Consultations
17 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More