We used an open implementation of the GraphGA algorithm. All three models generate different embeddings, ε, of the molecular string representation SMILES, as well as individual embeddings for each spectrum. The reward function R, shown in Equation ( ), and used for scoring the candidates consists of two components: an embedding similarity component and a molecular formula component. We define W as the number of wrong atoms in a new molecule proposed by the GA and T as the total number of atoms in the molecular formula. By design, the molecular formula penalty is usually lower than the mean of cosine similarities. This allows the GA to operate in an exploratory mode, where constraints are placed on substructure similarities and not a concrete molecule.