Darwin/Baldwin Trial Log
Twelve trials in PredPreyGrass test whether within-lifetime learning and between-generation genome selection can jointly produce a real, selection-driven Baldwin loop in a predator-prey ecology — not just sustainable coexistence, but a heritable trait that drifts because of selection rather than chance. The first ten share one architecture (a single PPO policy per species, genome as a side-channel scalar); the twelfth switches architecture entirely — and that switch is where the track's first clean, statistically decisive positive result came from.
Working definition. A trial counts as a working Darwin/Baldwin loop only if it clears all three criteria together: (1) sustainability — populations coexist without frequent mid-episode collapse; (2) coevolution — stable predator-prey coexistence, neither species chronically crashing or eliminating the other; (3) selection-driven drift — the evolving trait shows genuine directional change that survives a head-to-head statistical comparison against a neutral-drift control (mutation active, reproduction decoupled from the trait), not just an eyeballed trend in a genome-mean plot.
Key findings
- Trial 12 is the track's first clean positive result. A structurally different architecture — each agent with its own genome-initialized network and its own lifetime of local reinforcement learning, replicating Ackley & Littman (1991) rather than this codebase's usual shared-PPO-policy design — was run as a full 500-run comparative study (5 conditions × 100 seeds × 1,000,000-step ceiling, matching the original paper's own scale). Combined evolution-and-learning significantly outperformed evolution alone, learning alone, no adaptation, and pure random behavior: p < 0.00001 against all four (Mann-Whitney U, n = 100 per condition).
- Ten trials under the shared-policy architecture (1–10) came back null or inconclusive on selection-driven drift, across six differently-mechanised traits and two full statistical replications. Trial 12's result is consistent with those nulls having correctly diagnosed a structural limitation, rather than each trait individually being the wrong idea — see Two structural findings below.
- Sustainability and predator-prey coexistence — criteria 1 and 2 of 3 — are solved and stable across nearly every trait tried; it was specifically criterion 3 (selection-driven drift) that failed repeatedly under the shared-policy architecture.
- One trait (nuptial-gift donation rate) shows a dramatic real fitness landscape at its extremes — 0 vs. 34.5 reproduction events per 60 iterations at donation rate 0.0 vs. 1.0 — but replication stopped early after an intermediate founder value produced too few reproductions to test drift.
- A deliberately extreme positive-control trait (a 16x efficiency gradient), still under the shared-policy architecture, produced a weak but real predator-only signal, pointing at population size and mutation rate — not trait design or effect size — as a binding constraint on that architecture specifically.
Why this page exists
Two other tracks on this site — the Moran-model implementation of Nowak's five mechanisms and the abstract two-timescale simulations — each demonstrate a clean, replicated, positive result for their respective claims. This track took twelve trials to get there, and the path matters as much as the destination: ten trials under one architecture, spanning six differently-mechanised traits and two full statistical replications, came back null — not because the underlying theory was wrong, but because that architecture had no mechanism for an individual's genome to shape its own behavior directly. Trial 12 changed the architecture, not the trait, and produced the track's first statistically decisive result. This page logs that whole arc trial by trial, including the ten nulls that came before it — not smoothed over, because the nulls are what correctly pointed at the actual limitation.
All work described here lives under predpreygrass/evolutionary/ in the sibling PredPreyGrass repository. The authoritative, continuously-updated version of this log is that repository's own RESULTS.md — this page is a curated summary of it, not a replacement.
Trial-by-trial ledger
| # | Module | Trait tested | Verdict | Note |
|---|---|---|---|---|
| 1 | eco_evolutionary_cadence | Movement-frequency ("speed") genome | Rejected | Predators extinct in 30/30 sampled seeds — the mechanic itself, not tuning, structurally prevented predator sustainability. |
| 2 | eco_evolutionary_investment (R1–R3) | Offspring-investment fraction | Paused | R1's early drift signal (both species) was never checked against a neutral-drift control before an unrelated checkpoint-resume bug stalled the run. |
| 3 | eco_evolutionary_metabolic_rate | Sub-linear food→energy efficiency | Null | Full 3-seed real-vs-control replication (Mann-Whitney U), both species, at two gradient steepnesses; individual-level correlation also flat. This is where the trial series' rigorous replication methodology was built. |
| 4 | eco_evolutionary_investment (R4–R7), resumed | Offspring-investment fraction | Null | R6 (fixed-genome sweep) confirmed a real fitness gradient exists; R7, the actual selection test, found real-vs-control drift statistically indistinguishable (Mann-Whitney p = 0.5–0.65). |
| 5 | eco_evolutionary_cooperation | Cooperation rate | Null (pilot only) | Paused after a pilot-level null rather than fully replicated. |
| 6 | eco_evolutionary_investment, ~2x population | Offspring-investment fraction at larger population | Inconclusive | Predator: no signal. Prey: the strongest possible n=3 directional separation, not decisive on its own — the first hint that population size matters. |
| 7 | eco_evolutionary_metabolic_code | CORRECT/WRONG/PLASTIC combinatorial genome, modeled on Hinton & Nowlan (1987) | Null | Reversed on the headline metric in both species after full 3-seed replication — the cleanest null of the series; purpose-built to fix two structural gaps identified after Trial 3. |
| — | Reward-density comparison (5 project_reward_shaping modules) | Sparse vs. dense/shaped reward | Sparse wins | Sparse reward beat all four denser variants on reproduction rate, population balance, and extinction avoidance. Also surfaced and fixed two silent RLlib data-integrity bugs present in Trials 1–7 — see Two structural findings below. |
| 8 | eco_evolutionary_nuptial_gift | Obligate male nuptial-gift donation rate | Dramatic effect, replication stopped early | 0 vs. 34.5 reproduction events/60 iterations at donation rate 0.0 vs. 1.0 — the sharpest fitness landscape of any trait tried. But an intermediate founder value (0.5) produced only 18.6 reproduction events over a full 1000-iteration run, too few to test drift; stopped by explicit decision rather than completed. |
| 9 | eco_evolutionary_cultural_plasticity | Dual-inheritance social-learning propensity | Null | Flat across all 3 real seeds (plasticity stayed within ~1 founder-std of its starting value); stopped before the neutral-control replication. |
| 10 | eco_evolutionary_cultural_plasticity_seasonal | Same trait, cyclical target dialect (Rogers'-Paradox follow-up) | In progress | Tests whether a changing environment — rather than Trial 9's static local-majority game — gives social learning a real fitness advantage, per Rogers (1988). |
| 11 | eco_evolutionary_metabolic_rate_positive_control | Deliberately extreme (16x) efficiency gradient | Weak signal, predator only | Rules out "the pipeline can't detect selection at all." Rules out "effect size is the only bottleneck" — a 16x gradient should dominate fast if it were. Points at population size / mutation rate as the binding constraint instead. |
| 12 | eco_evolutionary_erl_baldwin | Per-agent genome-network architecture, replicating Ackley & Littman (1991) | Positive — ERL beats E, L, F, and B (p < 0.00001 each) | Full 500-run comparative study (5 conditions × 100 seeds × 1,000,000-step ceiling, matching the original paper's own scale) on a from-scratch rebuild of the paper's actual world mechanics. Combined evolution+learning's median survival time is the step ceiling itself (83% of runs reached it). Internal structure substantially reproduces the paper too — learning-alone significantly beats evolution-alone (p = 0.004); no-adaptation is statistically indistinguishable from luck (p = 0.97). One open discrepancy: evolution-alone significantly beats luck here (p = 0.0007), the reverse of the paper's own finding — candidate explanations recorded, not yet confirmed. |
Two structural findings that outlast any single trial
A shared-policy blind spot runs through Trials 1–10 — and bypassing it is what worked. Every one of those trials uses a single PPO policy shared across an entire species; the genome is a side-channel scalar the policy never observes directly. It can only ever act on genome differences indirectly, through population-level energy economics. Whether that architecture could support a detectable Baldwin signal at all was an open, untested hypothesis through Trial 11 (the extreme positive-control gradient) — Trial 12 tested it directly by removing the constraint entirely, giving each agent its own genome-initialized network, and got the track's first statistically decisive positive result. That doesn't retroactively prove the shared-policy architecture was the cause of every earlier null — many other things differ between Trial 12 and Trials 1–10 besides the policy architecture — but it's the strongest evidence yet that the architecture, not any individual trait's design, was the binding constraint. In the terms laid out in What Counts as Evolution in PredPreyGrass?, Trials 1–10 never leave the "ecology + learning + morphological evolution" tier no matter which trait is varied, because the policy itself stays shared; Trial 12 is the one trial that crosses into genuine behavioral (policy) evolution.
A silent identity-conflation bug touched Trials 1–7. While investigating reward density, two RLlib data-integrity bugs were found: a termination-reporting timing bug, and an agent-ID reuse bug that — combined with the first — silently stitched two unrelated individuals' trajectories into one fabricated episode roughly 75% of the time an agent was born. Both were fixed in three new base_environment_* reward-shaping modules and later in base_environment itself, but never verified or fixed in any eco_evolutionary_* module except eco_evolutionary_nuptial_gift, which had its own independent fix. Whether this materially affected Trials 1–7's null results is unconfirmed — but it is a real, previously-unknown confound in that history, not a hypothetical one.
Population size and mutation rate are the recurring suspect, not trait design. Trial 6 (larger population) and Trial 10 (extreme gradient) are two independent lines of evidence pointing the same direction: Trial 10's predator/prey split is the clearest version of this — predator reproduction is tightly bottlenecked on scarce, effortful catches, where a real efficiency advantage compounds visibly; prey reproduction runs on locally-abundant grass, where the same edge barely shows up. A trait's fitness leverage may be real and still be undetectable if too few individuals reproduce per generation for an advantage to compound into visible drift.
What's next
- Finish Trial 9's replication — seeds 43/44 plus the 3-seed neutral-control run — to get the real Rogers'-Paradox comparison rather than a single-seed read.
- Diagnose Trial 12's one open discrepancy — evolution-alone beats luck here, the paper found the reverse. Candidate explanations (a simpler action space, retuning side-effects on population/mutation balance, different world mechanics) are recorded but not distinguished; would need behavioral analysis of evolution-alone's evolved policies, not just survival-time statistics.
- Trial 12's deeper result is still untried: the paper's longitudinal single-population study — extending one successful run to millions of steps and reading genetic assimilation via functional-constraint analysis (does the action network become more mutation-constrained than the evaluation network over generations?) — wasn't attempted by the comparative study. Also open: recalibrating survival difficulty toward the paper's reported ~7–18% long-term-survival rate (currently 83% for ERL, versus the ranking, which already matches well), and implementing the paper's exact CRBP learning rule and bit-string genome encoding in place of the current REINFORCE/real-valued approximations.
- Isolate population size as its own single-variable pilot on the shared-policy architecture — the planned, not-yet-launched follow-up to Trial 10's mutation-rate isolation, since Trial 6 and Trial 10 both point at scale rather than trait design as that architecture's binding constraint. Worth doing even though Trial 12 succeeded, since most of this project's other work still uses the shared-policy design.
- Drive-conditioned observations, partially built. A separate, non-evolutionary module —
drive_conditioned_environment— hands the PPO policy pre-computed, biologically-interpretable pressure signals (hunger_pressure,reproductive_readiness,prey_opportunity,predator_danger_pressure,grass_opportunity) as extra observation channels, instead of making it re-derive those from raw pixels. It is implemented and numerically verified, but the baseline-vs-drive-conditioned comparison that would show whether it actually helps has not been run yet. The further, evolutionary extension this was originally designed for — evolving which drive channels are enabled, or how strongly each is scaled, as a heritable trait the shared policy can then condition on — has not been started. That extension would target the shared-policy blind spot above directly, without requiring Trial 11's full per-agent rebuild.
Summary
All three of the site's tracks now have a clean, replicated positive result — but this one took twelve trials and an architecture change to get there, and that path is the actual finding worth remembering. The Moran-model implementation of Nowak's five mechanisms and the abstract two-timescale ring-network simulations each got there quickly, inside their original design. PredPreyGrass did not — ten trials spanning six differently-mechanised traits and two independent full statistical replications, all under one shared-policy architecture, came back null or inconclusive. The eventual positive result (Trial 12, p < 0.00001 against every degraded condition) came only after abandoning that architecture for a per-agent one, not from tuning any further trait within it.
This is consistent with the site's own methodology, not a contradiction of it. The landing page frames a deliberate trade-off between minimal generative models (few assumptions, easier to prove something clean) and behaviorally-anchored models (richer, harder to prove anything about in isolation). The Moran and ring-network models sit firmly in the first category — small state spaces, few free parameters, results provable in tens of seeds. PredPreyGrass sits in the second — full ecological energy economics, satiation dynamics, population dynamics all entangled at once. What actually unlocked a clean result wasn't abandoning that ecological richness — Trial 12 keeps it, just with a different agent architecture — it was removing the one piece of minimal-model-style tractability the shared-policy design was missing: a direct, individual channel from genome to behavior, rather than genome only ever acting indirectly through population-level energy economics.
The ten prior nulls were not wasted motion — they correctly pointed at the actual limitation. The clearest piece of standing evidence for this, from before Trial 12: Trial 10's deliberately overwhelming 16x fitness gradient, still under the shared-policy architecture, produced only a weak, predator-only signal rather than failing completely or succeeding cleanly. That's exactly the signature of a real but structurally bottlenecked effect, not a nonexistent one — and Trial 12 is the confirmation: remove the bottleneck, and the same underlying claim (nature and nurture combined beat either alone) becomes not just detectable but overwhelming.
The Baldwin effect itself was never in question — see The Baldwin Effect and its worked example for the theoretical case, and Interaction Evolved-Learned Cooperation for why the abstract simulation suite already confirmed it in a simpler setting. What was open, and is now resolved for this ecological implementation specifically, is narrower: whether a genome needs a direct behavioral channel — not just an indirect, population-level economic one — for the effect to become statistically visible at reachable population sizes. It does. Genuinely open questions that remain: whether the shared-policy architecture used everywhere else in this project can be given a similar direct channel (see What's next), and the handful of Trial 12-specific gaps (a calibration and one directional discrepancy against the original paper) documented in the ledger above.
References
- Baldwin, J. M. (1896). "A New Factor in Evolution." The American Naturalist, 30(354), 441–451.
- Hinton, G. E., & Nowlan, S. J. (1987). "How Learning Can Guide Evolution." Complex Systems, 1, 495–502.
- Ackley, D., & Littman, M. (1991). "Interactions between learning and evolution." In Artificial Life II, 487–509.
- Ng, A. Y., Harada, D., & Russell, S. (1999). "Policy Invariance Under Reward Transformations: Theory and Application to Reward Shaping." Proceedings of the 16th International Conference on Machine Learning (ICML).
- Wolpert, D. H., & Tumer, K. (1999). "An Introduction to Collective Intelligence." NASA Ames Research Center Technical Report.
- Rogers, A. R. (1988). "Does biology constrain culture?" American Anthropologist, 90(4), 819–831.
- Boyd, R., & Richerson, P. J. (1995). "Why does culture increase human adaptability?" Ethology and Sociobiology, 16(2), 125–143.
- Enquist, M., Eriksson, K., & Ghirlanda, S. (2007). "Critical Social Learning: A Solution to Rogers's Paradox of Nonadaptive Culture." American Anthropologist, 109(4), 727–734.
- Foerster, J., Farquhar, G., Afouras, T., Nardelli, N., & Whiteson, S. (2018). "Counterfactual Multi-Agent Policy Gradients." Proceedings of the AAAI Conference on Artificial Intelligence, 32(1).
- PredPreyGrass repository — canonical code and the live
evolutionary/RESULTS.mdtrial log this page summarizes.
