4 research outputs found
Semantically-based crossover in genetic programming: application to real-valued symbolic regression
We investigate the effects of semantically-based crossover operators in genetic programming, applied to real-valued symbolic regression problems. We propose two new relations derived from the semantic distance between subtrees, known as semantic equivalence and semantic similarity. These relations are used to guide variants of the crossover operator, resulting in two new crossover operators—semantics aware crossover (SAC) and semantic similarity-based crossover (SSC). SAC, was introduced and previously studied, is added here for the purpose of comparison and analysis. SSC extends SAC by more closely controlling the semantic distance between subtrees to which crossover may be applied. The new operators were tested on some real-valued symbolic regression problems and compared with standard crossover (SC), context aware crossover (CAC), Soft Brood Selection (SBS), and No Same Mate (NSM) selection. The experimental results show on the problems examined that, with computational effort measured by the number of function node evaluations, only SSC and SBS were significantly better than SC, and SSC was often better than SBS. Further experiments were also conducted to analyse the perfomance sensitivity to the parameter settings for SSC. This analysis leads to a conclusion that SSC is more constructive and has higher locality than SAC, NSM and SC; we believe these are the main reasons for the improved performance of SSC
An improved representation for evolving programs
A representation has been developed that addresses some of the issues
with other Genetic Program representations while maintaining their advantages.
This combines the easy reproduction of the linear representation with the inherita-
ble characteristics of the tree representation by using fixed-length blocks of genes
representing single program statements. This means that each block of genes will
always map to the same statement in the parent and child unless it is mutated,
irrespective of changes to the surrounding blocks. This method is compared to the
variable length gene blocks used by other representations with a clear improvement
in the similarity between parent and child. In addition, a set of list evaluation and
manipulation functions was evolved as an application of the new Genetic Program
components. These functions have the common feature that they all need to be 100%
correct to be useful. Traditional Genetic Programming problems have mainly been
optimization or approximation problems. The list results are good but do highlight
the problem of scalability in that more complex functions lead to a dramatic increase
in the required evolution time