Chemical Space Exploration: How Genetic Algorithms Find the Needle in the Haystack

We attempt to explain why search algorithms can find molecules with particular properties in an enormous chemical space (ca 1060 molecules) by considering only a tiny subset (typically 103−6 molecules). Using a very simple example, we show that the number of potential paths that the search algorithms can follow to the target is equally vast. Thus, the probability of randomly finding a molecule that is on one of these paths is quite high and from here a search algorithm can follow the path to the target molecule. A path is defined as a series of molecules that have some non-zero quantifiable similarity (score) with the target molecule and that are increasingly similar to the target molecule. The minimum path length from any point in chemical space to the target corresponds is on the order of 100 steps, where a step is the change of and atom- or bond-type. Thus, a perfect search algorithm should be able to locate a particular molecule in chemical space by screening on the order of 100s of molecules, provided the score changes incrementally. We show that the actual number for a genetic search algorithm is between 100 and several millions, and depending on the target property and its dependence on molecular changes, the molecular representation, and the number of solutions to the search problem.