Evolutionary algorithms have an easily overlooked default assumption:what evolves is the candidate solutions, while the method that generates them stays fixed. In other words,traditional evolutionary algorithms usually keep the search method fixed, letting only the candidate solutions change across iterations—throughout the entire search, the solutions "move" while the rules stay "still." This page introduces a different perspective beyond that assumption: letting the solution method itself enter the process of search and improvement.
Default Paradigm: Locked Method, Evolving Solutions
In the traditional approach, the crossover method, mutation strategy, and hyperparameters are typically chosen once before the run begins and remain unchanged throughout the entire search. They directly determine how candidate solutions are generated and significantly affect solving outcomes: whether the task goes well or poorly, the method stays where it is.
- Solution layermoves: candidate solutions → evaluate → select → inherit, iteration after iteration.
- Method layerstays still: the mutation strategy, crossover method, and hyperparameters are preset and locked.
- Consequence: relying only on presets and manual tuning, the solution method itself never continuously evolves in response to task feedback. Improvement depends mainly on human experience and manual tuning, and the pace of tuning often cannot keep up with changing tasks.
Algorithm Evolution: Making the Method a Searchable Object
Algorithm evolution works by no longer treating the crossover method, mutation strategy, and hyperparameters as fixed configurations, but rather as objects that can beselected, evaluated, and replaced, subject alongside candidate solutions to the test of solving performance—that is, letting the solving algorithm itself enter the process of search and improvement, making the "method" an evolvable object as well. This adds a second feedback loop on top of the original solution-layer iteration—not only do solutions improve, the method improves too.
The two loops can be summed up in plain arrow notation:Method elements → generate candidate solutions → solving performance evaluation → keep or replace → method update; meanwhile, within the candidate solutions, the usual "generate → evaluate → select → inherit" iteration still runs. The former changes "how to search," while the latter changes "what was found."
