Fixed development and experimental node-model search
The public evolution interface searches coordinates for one fixed neural design. Use
BrainlessLab.Evolution.RunConfig inside an EvolutionPlan to declare the search strategy,
budget, random seed, measure, direction, initialisation, and strategy options.
Any registered node that declares a reviewed Evolution.NodeDesignSpec can use this
operation. The built-in designs cover FalandaysParams, StructuredCompartmental, and
DenseCompartmental. The Falandays design searches seven bounded coordinates and keeps
online plasticity enabled; learn_on is not a coordinate.
Each design fixes its parameter schema during a search. Evolution does not add nodes, alter topology, change body components, or change receptor and effector ports.
Search strategies
One typed search-strategy registry provides:
:sepcmafor one scalar objective and one selected model;:nsga2for an ordered Pareto set;:cmamefor an ordered quality-diversity archive.
Every run uses explicit seeded normal initialisation. For example:
run = BrainlessLab.Evolution.RunConfig(; strategy=:sepcma, iterations=2, search_seed=0x2a, measure=:normalized_score, direction=:maximise, initialisation=BrainlessLab.Evolution.NormalInitialisation( centre=:zero, scale=0.25, ), options=(population=4, reducer=:minimum,),)search_seed controls search randomness. Evaluation targets retain their own declared root
seeds. These streams answer different questions and must remain separate.
SepCMA writes the stable model role selected. NSGA-II and CMA-ME do not choose an implicit
champion. They write ordered model IDs such as pareto-0001 and cell-0001. A later
operation must name the model that it evaluates.
Records and continuation
An evolution operation writes the standard full record, including the submitted and resolved plans, realised seeds, authoritative tables, model artifacts, provenance, and checksums. It also records a continuation point at each completed generation.
If execution stops, Evolution.resume validates the record and continues the same
directory from the last complete generation. It reruns incomplete generation work. A
successful record contains DONE and contains neither INCOMPLETE nor FAILED.
Evolution.model_reference(record_directory, model_id) returns a portable reference to one
recorded model. Attach that reference to a new EvaluationTarget, then use a
BenchmarkPlan for frozen evaluation.
Follow these purpose-led paths:
- Evolve a structured CTRNN creates a small SepCMA plan.
- Inspect and resume evolution reads and continues its record.
- Benchmark an evolved CTRNN evaluates the saved model.
Evidence boundary
The feature is integrated experimental software. This readiness statement is not scientific evidence.
One search run does not measure search variance or establish optimality. A selected model remains development output until a later, frozen protocol evaluates it with suitable comparisons and independent randomised blocks. Task performance does not establish cognition, biological fidelity, or general capability.