Skip navigation
Pages 71-78
First published 30 July 2014

Reflective Grammatical Evolution

Christopher Timperley and Susan Stepney

Abstract (Excerpt)

Our long term goal is to develop an open-ended reflective software architecture to support open-ended evolution. Here we describe a preliminary experiment using reflection to make simple programs evolved via Grammatical Evolution robust to mutations that result in coding errors.

We use reflection in the domain of grammatical evolution (GE) to achieve a novel means of robustness by autonomously repairing damaged programs, improving continuity in the search and allowing programs to be evolved effectively using soft grammars. In most implementations of GE, individuals whose programs encounter errors are assigned the worst possible fitness; using the techniques described here, these individuals may be allowed to continue evolving.

We describe two different approaches to achieving robustness through reflection, and evaluate their effectiveness through a series of experiments carried out on benchmark regression problems. Results demonstrate a statistically significant improvement on the fitness of the best individual found during evolution.