Evolution versus learning

Two things in this world can change an organism's behaviour, and they are not the same thing. One operates across generations and is inherited. One operates within a single life and is not. Keeping them apart is the difference between describing this simulation accurately and overselling it.

Implementation Ruleset pre-genesis-candidate-v2

The two timescales

Evolution across generations compared with plasticity within one life The upper track shows three generations, each inheriting a mutated copy of its parent's weights and genome. The lower track shows one organism's life, in which acquired weights start at zero, change every tick, and are discarded at death rather than passed on. Across generations inherited, mutated, selected g0 mutated copy g1 mutated copy g2 mutated copy g3 W_genetic + genome Within one life acquired, never inherited birth W_plastic = 0 death discarded changes every tick
The two tracks never join. Nothing on the lower track reaches the upper one. An organism's acquired weights are set to zero at its birth and are not copied at its offspring's.

What is what

The complete list. Every row is a real array in el.population.Population.
StateInheritedChanges in lifeWhat it is
Physical genome
genome, 19 genes
Yes, mutatedNo Body size, speed, metabolism, sensing range, reproduction thresholds, colour
Neural genome
W_genetic, 2,081 numbers
Yes, mutatedNo Every connection weight, plus the leak, exploration and learning scalars
Acquired weights
W_plastic, 2,072 numbers
NoYes, every tick The running total of this organism's own lifetime adjustments
Eligibility traces
elig_trace
NoYes, every tick Which connections were recently co-active, so a later reward can find them
Recurrent state
h_recurrent, 24 numbers
NoYes, every tick Short-term memory. No learning rule touches it: it simply carries and fades

A worked example

Take any organism you can see in the live world. Its 2,081 neural parameters are a copy of its parent's, with roughly 104 of them perturbed slightly at the moment it was born. Those numbers will not change again for the rest of its life. If it reproduces, they will be copied and perturbed again.

Its acquired weights were all exactly zero at that same moment. They have been changing every tick since, driven by its own physiological ups and downs weighted by four of its own genes. If it lives long enough for them to accumulate, its behaviour genuinely differs from what its inherited weights alone would produce, and the live panel will show you the size of that difference. When it dies, those numbers are gone. Its offspring start from zero, exactly as it did.

Its recurrent state was also zero at birth, and is neither of these things. It is not inherited and it is not learned. It is just what the organism was doing a moment ago, fading at a rate its genome sets.

Why the distinction is worth this much care

"The organisms learn" is a much stronger and much more interesting claim than "the organisms evolve", and it is the one a reader is most likely to take away from a simulation that contains a learning rule. So it is worth being precise about what has and has not been shown.

Observed result

Evolution across generations has been demonstrated causally: the same world run twice per seed with only mutation toggled moved the predicted gene in the predicted direction in 8 of 8 seeds, and could not move at all in the control. See RN-003.

Observed result

Learning within a life has not been demonstrated behaviourally. Two pre-registered tests at two world scales found no detectable population-level effect. A separate measurement shows the mechanism does move an individual's outputs by a small, real amount. See RN-002.

So: this world demonstrably evolves. Whether it also learns, in any sense that shows up in behaviour, is an open question this project has tested twice and not answered in the affirmative.