  We introduce the concept of Semantic Neutral Drift (SND) for genetic
programming (GP), where we exploit equivalence laws to design semantics
preserving mutations guaranteed to preserve individuals' fitness scores. A
number of digital circuit benchmark problems have been implemented with
rule-based graph programs and empirically evaluated, demonstrating quantitative
improvements in evolutionary performance. Analysis reveals that the benefits of
the designed SND reside in more complex processes than simple growth of
individuals, and that there are circumstances where it is beneficial to choose
otherwise detrimental parameters for a GP system if that facilitates the
inclusion of SND.
