Origins — joint distribution evolution
Minimal evolutionary simulation on a one-dimensional circular world: each organism maintains a full joint probability distribution over local neighborhood (X), internal energy (H), and action (O). Behavior is sampled from that joint; offspring inherit a mutated, renormalized copy. Food spawning, metabolic decay, and collision death provide selection — without hand-specified neural nets or an explicit fitness function beyond survival and reproduction.
Code & media
Summary
A long exploratory run (369,400 logged ticks of a 500,000-tick target, interrupted at ~74%) on a ring world of 1,000 cells supports the hypothesis that selection shapes the population-mean joint away from uniform: KL divergence rose from 0.003 at tick 0 to >0.5 by tick 500 and stayed elevated for 97.2% of the run (mean KL 0.416, final 0.420). Peak KL 1.103 coincided with a population bottleneck (min pop 8 at tick 148,100); the line recovered to 49 by run end (peak 99). Final joint entropy was 4.45 vs 6.79 for uniform on the 891-dimensional simplex; per-organism KL at the end averaged 2.34 with low variance across survivors. Mortality was dominated by collisions (99.95%) rather than starvation. Simple foraging heuristics only partially match conditional action slices — consistent with crowded-ring selection favoring movement patterns that reduce crowding. Full configuration, plots, and reproduction steps are in the repository README.
Key metrics
Final KL
0.420
Population-mean joint vs uniform (891-d simplex)
Max KL
1.1
Tick 148,100 — population bottleneck (min pop 8)
Mean KL
0.416
97.2% of run with KL > 0.3
Ticks logged
369,400
~74% of 500k target; run interrupted
Population
49 / 99 / 8
Final / peak / min over the run
Joint entropy
4.5
vs 6.79 uniform; per-org KL mean 2.34 at end
Births
639,137
638,849 collision deaths; 289 starvation (0.05%)
Mean H (final)
5.67
Median 6.0; metabolic state stable
Experiment data excludes raw stimuli and large prediction arrays.
Back to experiments