Self-Rewriting Differential Evolution with Operator Synthesis
ACM GECCO Companion 2026, pp. 389–392
A differential evolution method that evolves its mutation operators as short symbolic programs. Successful operators are written back into the algorithm’s source code and retained across restarts, allowing the search strategy itself to adapt. We evaluated the approach against standard differential evolution on five benchmark functions.
Summary (expand) for Self-Rewriting Differential Evolution with Operator Synthesis
Abstract
Although evolving algorithms are based on principles of biological evolution, such as reproduction, mutation, and selection, they still obey the von Neumann principle "Program = algorithm + data". These algorithms remain rigid in the sense that their code does not change in computer memory during execution; their evolvability mainly concerns the data they process. In this paper, we introduce a novel variant of differential evolution that can adapt at the code level, overcoming this rigidity. In our proposed method, differential evolution mutation strategies are represented as short symbolic programs. Periodically, the system synthesizes new operators by mutating the top-performing operators through variable swaps, F-scaling, and the addition of difference terms. It merges these operators into a deduplicated library with a size cap and assigns credit based on empirical success using a softmax function. After each phase, the method rewrites its own program by serializing the evolved operator library and the best solution back into its source code and re-executing it, producing heritable, cumulative changes to the program itself. On canonical benchmarks, the optimizer discovers effective, previously absent operators and improves across phases, illustrating a practical path toward structural replication and self-adaptation.
