A learned gene editor: can a model mutate NEAT better than chance?
A useful connection and a useless one enter baseline NEAT with exactly the same chance of being chosen. Once add-node — the structural mutation that splits an existing link with a new node — or add-connection — the mutation that wires two existing nodes together — is triggered, baseline NEAT samples uniformly from that operator’s legal candidates. A promising edit can disappear on the same roll as a dead end.
Fitness already decides which genomes survive. The previous decision record put learning inside genome evaluation; this experiment puts a much smaller learner one step earlier, at the mutation decision itself. The first AI build log remains the evolution-only reference point, and the baseline this experiment would modify runs in the Skyline Run AI lab.
No companion run has happened. Every experimental number below is a chosen value, not a measurement. I am fixing the comparison before its result exists.
I own and build this site and the AI Maker Lab channel — this is a build log, not an independent review.
The wager: can past edits beat a fair draw?
Can a model trained on past parent–child outcomes choose better structural mutations than uniform sampling without replacing the rest of NEAT?
The representation stays NEAT. Speciation — grouping similar genomes so newcomers compete only with their own kind — still protects structural novelty. Crossover still aligns genes by innovation number, a global ID that marks when a gene first appeared so two genomes can be aligned. Only two choices change: which enabled connection to split for an add-node mutation, and which legal node pair to connect for an add-connection mutation.
Weight mutation stays random. That scope edge is deliberate: changing structural and weight mutation together would make any difference impossible to attribute to structural-edit selection.
Prior work makes the idea plausible, not proven
Lehman, Stanley, and colleagues’ “Evolution through Large Models” shows that a learned model can serve as a mutation operator. ELM placed language-model diff proposals inside MAP-Elites — a method that keeps the best solution in each cell of a behaviour grid instead of one global best — and fine-tuned the diff model on offspring accepted into the map. That loop let evolutionary history improve later proposals. It established this pattern for Python programs and Sodarace artifacts; it does not establish that an LLM, or any learned editor, can rank discrete NEAT graph edits.
Romera-Paredes and colleagues’ FunSearch shows that model-proposed program mutations can support a real mathematical discovery. FunSearch paired a pretrained language model with an evaluator and found cap-set constructions beyond the previously best-known ones. It established that generated programs plus hard evaluation can produce substantive search results; it does not show that the model learned from this experiment’s NEAT mutations or that a small scorer can outperform uniform choice.
Lange and colleagues’ “Discovering Evolution Strategies via Meta-Black-Box Optimization” is the closest precedent for learning an operator without a language model. Their meta-learned, self-attention-based search strategy generalized beyond its training problems and optimization settings. It established that an evolution strategy’s update rule can itself be learned; it does not identify useful NEAT edits. That narrower precedent is why this experiment chooses a small neural scorer rather than a language model.
Hansen and Ostermeier’s CMA work makes adaptation of a mutation distribution an old idea, not a new one. Covariance matrix adaptation uses selected search steps to adapt the distribution of later continuous mutations. It established self-adaptation for a continuous normal mutation distribution; it does not solve the discrete choice between graph edits. This experiment changes that choice while leaving NEAT’s weight mutation alone.
Real and colleagues’ “Regularized Evolution for Image Classifier Architecture Search” is the caution against assuming that a learned controller must win. In their controlled architecture-search comparison, regularized evolution reached results comparable to the learned reinforcement-learning controller lineage introduced by Zoph and Le, while remaining a simple search method. That work established that plain evolutionary search can match a more learned proposal mechanism in a different architecture space; it does not predict this comparison, which is why the null-result path is registered in advance.
Stanley and Miikkulainen’s NEAT supplies the representation that keeps edited genomes comparable and diversity protected. Innovation numbers align homologous genes during crossover, while speciation protects new structures long enough to be tested. Those mechanisms establish how variable-topology genomes can remain crossable and diverse; they do not establish that a trained scorer will choose better mutations.
Freeze the baseline before judging the editor
The experiment uses a chosen minimal feed-forward NEAT configuration. Every value in this design is fixed before the first run.
The chosen population is 150. The chosen compatibility coefficients are c1 = 1.0, c2 = 1.0, and c3 = 0.4, with a chosen compatibility threshold of 3.0. The chosen stagnation limit is 15 generations.
Each child receives at most a chosen 1 structural edit. That is a chosen deviation from canonical NEAT: allowing multiple structural edits in one birth would make credit assignment to a candidate ambiguous. The chosen add-node probability is 0.03, and the chosen add-connection probability is 0.05.
The chosen tasks are XOR with a cap of 200 generations and 3-bit parity with a cap of 400 generations. Each comparison arm receives a chosen 30 seeds per task. These are evaluation caps and sample sizes, not observed run lengths or outcomes.
The scorer sees structure, history, and performance
The scorer needs enough context to distinguish one legal edit from another, so each candidate becomes a chosen 13-feature vector:
- Edit structure: an edit-type flag; source depth; target depth; depth gap; source in-degree; source out-degree; target in-degree; target out-degree; and a shared-ancestor flag.
- Genome context: total node count; and enabled-connection count.
- Parent history and performance: parent fitness percentile within its species; and parent age.
For a split-connection candidate, source and target refer to that connection’s endpoints. Features that cannot apply are zero-filled by design.
The scorer is a chosen NumPy multilayer perceptron with shape 13 -> 32 tanh -> 1. Its imitation label is exactly child fitness > parent fitness. Collection labels include only asexual offspring cloned from one evaluated parent and then given one structural edit; the record says whether that child beat its parent. Crossover offspring remain in normal evolution but contribute no scorer-training record. This restriction makes the parent–child comparison unambiguous and prevents crossover from receiving mutation credit. The label remains a proxy for a useful edit, not a claim that it captures long-term evolutionary value.
Training data comes from 30 chosen uniform-random baseline collection runs per task (60 total). XOR and 3-bit parity each train a separate scorer. Within each task, the training and validation split is made by run, never by mutation record, so descendants and near-duplicate genomes from one run cannot leak across the split.
During evolution, the frozen network scores every legal candidate edit. Softmax temperature and epsilon control how much randomness remains in the choice: the chosen policy samples from a softmax over those scores at temperature 0.5, while a chosen epsilon of 0.2 falls back to uniform sampling.
Two failure modes shape that policy. Exploration collapse would let early preferences suppress edits whose value has not yet been observed; epsilon and NEAT speciation therefore stay in the loop. Distribution shift would move evolution into genomes unlike the baseline history; the scorer is therefore frozen throughout the comparison. An online re-training loop is deliberately out of scope for this first pass because it would change the operator while it is being judged.
Fresh seeds decide whether the editor wins
The random baseline and learned-editor arm receive matched evaluation budgets. Collection seeds and comparison seeds are disjoint, so no comparison run can reuse a seed that produced scorer training data.
The primary metric is evaluations-to-first-solve. Runs that do not solve are censored at the chosen task cap. The registered inference is a two-sided permutation test — shuffling the labels to see how often chance beats the result — over the difference of medians with a chosen 10 000 resamples. The scorer’s held-out AUC — area under the ROC curve, a ranking score where 0.5 is chance and 1 is perfect — is reported as a separate diagnostic of whether its ranking contains signal.
For each task, the directional success condition is a lower median evaluations-to-first-solve for the learned-editor arm. The two-sided permutation p-value described above is computed separately for each task. The two task p-values then receive a Holm correction, which tightens each threshold when many hypotheses are tested at once, at a familywise alpha — the maximum allowed chance of at least one false positive across the two tasks — of 0.05. Task-level evidence requires both the lower median and Holm-adjusted significance.
The protocol keeps each claim tied to the test that can support it:
| Task | Test | Pass criterion |
|---|---|---|
| XOR | Two-sided permutation test over the difference of median evaluations-to-first-solve | Lower learned-editor median and Holm-adjusted significance |
| 3-bit parity | Two-sided permutation test over the difference of median evaluations-to-first-solve | Lower learned-editor median and Holm-adjusted significance |
| General hypothesis | Results from both tasks | Both tasks meet the task-level condition |
The general hypothesis is supported only if both tasks meet that condition. Evidence on only one task is reported as task-specific, not general. If neither task meets the condition, the result is null; a reversal is a negative result.
Evidence for the editor requires beating the uniform baseline on fresh comparison seeds, not reproducing an advantage on the seeds that generated its training history. A high held-out AUC without a fresh-seed evolutionary advantage is not a win for the operator.
The result still has to earn its claim
Nothing is measured. No baseline collection run, scorer training run, or comparison run has happened, and this post claims no advantage for the editor.
The hand-crafted features may carry no useful signal, in which case held-out AUC may remain near 0.5. XOR may be too easy for either operator to separate itself within the chosen cap. The single-structural-edit rule also means the baseline is this specified NEAT variant, not the published canonical algorithm. A null result, a reversal, and an inconclusive comparison all remain valid outcomes under this protocol.
What is decided is the comparison, not its outcome. After the runs, I will post the held-out AUC, each arm’s median evaluations-to-first-solve on fresh comparison seeds, and both Holm-adjusted task p-values; until then, The memorization trap: when a champion learned one district is the cautionary reminder that a strong score can still hide the wrong lesson.
Sources
- Lehman, Joel; Gordon, Jonathan; Jain, Shawn; Ndousse, Kamal; Yeh, Cathy; Stanley, Kenneth O. “Evolution through Large Models.” arXiv:2206.08896, 2022. https://arxiv.org/abs/2206.08896. Accessed 2026-08-21.
- Romera-Paredes, Bernardino; Barekatain, Mohammadamin; Novikov, Alexander; Balog, Matej; Kumar, M. Pawan; Dupont, Emilien; Ruiz, Francisco J. R.; Ellenberg, Jordan S.; Wang, Pengming; Fawzi, Omar; Kohli, Pushmeet; Fawzi, Alhussein. “Mathematical Discoveries from Program Search with Large Language Models.” Nature, published online 2023; 625:468–475, 2024. https://doi.org/10.1038/s41586-023-06924-6. Accessed 2026-08-21.
- Lange, Robert Tjarko; Schaul, Tom; Chen, Yutian; Zahavy, Tom; Dallibard, Valentin; Lu, Chris; Singh, Satinder; Flennerhag, Sebastian. “Discovering Evolution Strategies via Meta-Black-Box Optimization.” arXiv:2211.11260, 2022. https://arxiv.org/abs/2211.11260. Accessed 2026-08-21.
- Hansen, Nikolaus; Ostermeier, Andreas. “Completely Derandomized Self-Adaptation in Evolution Strategies.” Evolutionary Computation 9(2):159–195, 2001. https://doi.org/10.1162/106365601750190398. Accessed 2026-08-21.
- Real, Esteban; Aggarwal, Alok; Huang, Yanping; Le, Quoc V. “Regularized Evolution for Image Classifier Architecture Search.” arXiv:1802.01548, 2018. https://arxiv.org/abs/1802.01548. Accessed 2026-08-21.
- Zoph, Barret; Le, Quoc V. “Neural Architecture Search with Reinforcement Learning.” arXiv:1611.01578, 2016. https://arxiv.org/abs/1611.01578. Accessed 2026-08-21.
- Stanley, Kenneth O.; Miikkulainen, Risto. “Evolving Neural Networks through Augmenting Topologies.” Evolutionary Computation 10(2):99–127, 2002. https://doi.org/10.1162/106365602320169811. Accessed 2026-08-21.
I own and build this site and the AI Maker Lab channel — this is a build log, not an independent review.