In order to run GAs on more complex chemical spaces, the challenge is to implement efficient genetic operators that act directly on molecule graphs. As in most GA applications, we consider a mutation operator M : X → X that transforms a single candidate into a closely related variant, thus supporting local fine-tuning. Complementarily, crossover operators C : X × X → X are meant to "interpolate" between a pair of parents, allowing the recombination of favorable features of both parents in a large "jump" in chemical space. The use of GAs in chemical space exploration, therefore, requires mutation and recombination operators that ensure that offspring are again plausible molecules. A wide variety of representations have been used to represent molecules in evolutionary algorithms, including binary strings, fragments, SMILES, and of course also graphs. Molecular graphs, albeit not formally defined in strict mathematical sense, are a very restricted class compared to labeled graphs in general. This is, of course, a direct consequence of the valence rules of chemistry and the fact that molecules are embedded in 3D space such that all the bond lengths are determined by bond order and the incident atoms. In particular, the structural formulae of real molecules are planar graphs, except for a small set of exceptional cases that have been synthesized mostly as curiosities .