Genetic algorithms work by crossing over linear strings of data, such as the letters shown here. Similar to genetic algorithms, genetic programming crosses over tree structures. Genetic graphs manipulate molecules with two atoms represented as vertices, and the bond in between as an edge. The GA causes either mutation, crossover, or both. Mutation is the random changing of individual genetic symbols.
Crossover is analogous to sexual reproduction, but it is a much cruder version.
The GA randomly cuts the string of two different individuals in two, as seen in Figure 2. The half strings then switch so that there are two progeny, each with half from the parent. In addition to GAs, there are different genetic programs that operate on data in a tree format, and genetic graphs, which are based on graph theory. Figures 3 and 4 illustrate the use of genetic programs and genetic graphs on molecules. Globis and colleagues at the National Aeronautics and Space Administration have tested this system against a set of already known compounds, including cholesterol, morphine, and diazepam.