Skip to main content

Darwin/Baldwin Trial Log

Thirteen 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. The thirteenth ports that same architecture's reward-divergence question into the project's richer flagship ecology, and sharpens the answer: the divergence isn't just an imperfect proxy, it's statistically indistinguishable from drift.

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.

Modules that closed without a usable result — a null, a rejection, or a run stopped before it could produce a signal — have been moved out of the main repository into PredPreyGrass-archive, where each keeps its full code, history, and own RESULTS.md. Links for those trials below point there.

Trial-by-trial ledger​

#ModuleTrait testedVerdictNote
1eco_evolutionary_cadenceMovement-frequency ("speed") genomeRejectedPredators extinct in 30/30 sampled seeds — the mechanic itself, not tuning, structurally prevented predator sustainability.
2eco_evolutionary_investment (R1–R3)Offspring-investment fractionPausedR1's early drift signal (both species) was never checked against a neutral-drift control before an unrelated checkpoint-resume bug stalled the run.
3eco_evolutionary_metabolic_rateSub-linear food→energy efficiencyNullFull 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.
4eco_evolutionary_investment (R4–R7), resumedOffspring-investment fractionNullR6 (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).
5eco_evolutionary_cooperationCooperation rateNull (pilot only)Paused after a pilot-level null rather than fully replicated.
6eco_evolutionary_investment, ~2x populationOffspring-investment fraction at larger populationInconclusivePredator: no signal. Prey: the strongest possible n=3 directional separation, not decisive on its own — the first hint that population size matters.
7eco_evolutionary_metabolic_codeCORRECT/WRONG/PLASTIC combinatorial genome, modeled on Hinton & Nowlan (1987)NullReversed 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 rewardSparse winsSparse 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.
8eco_evolutionary_nuptial_giftObligate male nuptial-gift donation rateDramatic effect, replication stopped early0 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.
9eco_evolutionary_cultural_plasticityDual-inheritance social-learning propensityNullFlat across all 3 real seeds (plasticity stayed within ~1 founder-std of its starting value); stopped before the neutral-control replication.
10eco_evolutionary_cultural_plasticity_seasonalSame trait, cyclical target dialect (Rogers'-Paradox follow-up)NullTested whether a changing environment — rather than Trial 9's static local-majority game — gives social learning a real fitness advantage, per Rogers (1988). The completed seed (1000/1000 iterations) showed the same flat result as Trial 9, consistent with Rogers' Paradox explaining both nulls; closed without further seeds.
11eco_evolutionary_metabolic_rate_positive_controlDeliberately extreme (16x) efficiency gradientWeak signal, predator onlyRules 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.
12eco_evolutionary_erl_baldwinPer-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. A separate follow-on analysis on this same architecture confirms Singh, Lewis, Barto & Sorg (2010)'s Optimal Reward Problem at n=30 — see What's next.
13eco_evolutionary_erl_flagshipTrial 12's proximate-vs-ultimate reward question, ported to the richer flagship ecologyResolved — divergence confirmed, and sharper than Trial 12's versionKey message: caution beats recklessness, decisively, once they actually have to compete — and beats the project's own literal fitness signal too — a reward that makes prey reckless around predators looks fine in isolation (more total offspring, deeper lineages, from benefiting off its own predation losses' freed-up food) but is excluded outright, within ~27 generations, once it competes against a cautious strategy for the same resources, and the cautious strategy even beats flagship's own literal "+10 on reproduction" reward 27/30 times. One precision worth stating plainly: the cautious strategy was hand-designed by a human, not evolved — this trial's own evolutionary process does not reliably discover it on its own, so this shows a good reward has real power once supplied, not that evolution here is what supplies it; there's no single abstract "optimal reward" for evolution to converge on here, because a strategy's value isn't fixed in isolation (it resolves only once the actual competition is run), and because this trial's own search doesn't reliably find a good answer even when one demonstrably exists. Only prey get an evolved reward genome; predators went through three diagnosed-in-sequence designs (frozen PPO checkpoint — didn't transfer, root-caused via action-distribution entropy; rule-based hunter — worked but unstable; centralized online-learning policy, the current default, with two reward-design bugs found and fixed along the way). Two systematic calibration sweeps and a real shared-code RNG bug fix (flagship's own spawn-fallback was silently non-reproducible by seed) preceded three independent n=15/n=30 batches at increasing generational depth (up to mean 222 generations), each showing real divergence from random init but a different "winning" reward channel each time. Resolved with the project's Hunt (2006)/Lande (1976) drift-vs-selection model-fitting tool applied to per-generation eval_weights: across 30 seeds at mean 439 generations, Stasis is rejected 0/30 (genomes always move) but directional selection (GRW) is not reliably favored over drift (URW) for any channel, and — decisively — even where GRW wins, the sign of its trend is a near-coin-flip across independent seeds (43-57% positive, every channel). No channel shows the sign-consistency real selection would produce. Conclusion: for this feature set, there is no optimal reward function evolution converges on — the process generating the weights is statistically indistinguishable from neutral drift, not selection honing an imperfect-but-real proxy. A follow-up positive control found no fitness difference between extreme, deliberately opposed fixed reward vectors, and an initial small-sample (n=5) behavioral check found no significant behavioral difference either — but this second finding turned out to be a false negative: a properly powered, paired recheck (n=30) found the reward genome DOES measurably reach behavior, even at the architecture's default learning rate (p=0.0155), growing to a large, highly significant effect as learning rate increases (p < 0.0001 at 5-20x). See What's next for the corrected picture and what's still open.
Display 1: Every trial so far, with the trait it tested and its verdict.
Nature and Nurture Combined Beat Either Alone
Per-seed survival time across all 500 runs of the comparative study — ERL (evolution + learning combined), L (learning alone), E (evolution alone), F (neither — no learning, no evolutionary variation), B (luck alone, random behavior); n=100 seeds each.
Display 2: Per-seed survival time (log scale) for all 500 Trial 12 runs, grouped by condition ERL, L, E, F, B — ERL clusters at the 1,000,000-step ceiling, while the other four conditions spread across a long tail of much earlier extinctions
Display 2: Every one of the 500 runs behind Trial 12's ledger row, not just its medians — nature and nurture combined (ERL) piling up at the step ceiling, versus either alone (L, E), neither (F), or pure luck (B) spread across a much shorter, longer-tailed distribution.

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​

  • 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: single-seed comparison complete, a real but unreplicated speedup. 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. The baseline-vs-drive-conditioned comparison (seed 42, both arms 1000 PPO iterations, identical reward and config otherwise) is now run: drive-conditioning gave a +6.0% higher pooled return over the full run (episode-count-weighted, not a naive per-iteration mean), with a large transient edge early in training (+76% in the first 25 iterations) settling to a persistent +3-9% band that does not decay to zero. The effect is disproportionately a predator one — predator births explain ~71% of the full-run gap and essentially all of the back-half gap — consistent with the module's own prediction that the two energy-threshold drives (information the raw pixel observation cannot otherwise contain) should matter more than the three density-sum drives a CNN could plausibly approximate on its own. This is one seed per arm, explicitly flagged as a documented single-run observation rather than a validated effect; a --drive-set energy_only ablation (to isolate which drive group is doing the work) and seeds 43/44 are implemented and ready but not yet run. 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. Full write-up: drive_conditioned_environment/README.md.
  • Proximate-vs-ultimate reward — confirmed at n=30, not a single seed's fluke. Trial 12's per-agent genome already gives each agent an evolved, lifetime-fixed "evaluation network" (its reward function) separate from a live, RL-adjusted "action network" — exactly the split Singh, Lewis, Barto & Sorg (2010) formalize as the "Optimal Reward Problem" (see Where Do Rewards Come From?): evolution optimizes a reward for fitness, but the reward it finds need not resemble fitness itself. One seed alone gave a dramatic but equivocal signal — a second seed showed the same direction with a much weaker magnitude — so 27 more seeds were run, all completing the full 1,000,000-step budget. Pooled across all 30 (161.1M logged agent lifetimes), the pattern holds: evolution consistently weights health_norm/energy_norm roughly 2.5–3× more heavily than any other observation channel, despite neither one correlating meaningfully with realized offspring count on its own — the same qualitative pattern as the paper's own Hungry-Thirsty result, now with real replication behind it. Code and full numbers: eco_evolutionary_erl_baldwin's analyze_proximate_reward.py, and RESULTS.md §17.
  • Trial 13 — the same reward-divergence question, in the richer flagship ecology — is resolved, and sharpens Trial 12's own finding. eco_evolutionary_erl_flagship ports Trial 12's genome/REINFORCE architecture onto the project's flagship predator/prey/grass ecology instead of the small abstract World AL rebuild. Getting to a meaningful test took real, diagnosed engineering work rather than a direct port: three predator designs were tried in sequence (a frozen PPO checkpoint didn't transfer to genome-prey's unusual movement statistics — root-caused via direct entropy measurement, not assumed; a rule-based hunter fixed that but couldn't adapt; the current centralized, online-learning shared predator policy fixed both, after two real reward-design bugs were found and corrected). Two systematic calibration sweeps and a real shared-flagship-code RNG bug fix (the spawn-position fallback was silently non-reproducible by seed) preceded three independent batches pushing generational depth up to a mean of 222 generations — each showed real divergence of eval_weights from random init, but a different reward channel "led" each time, with every individual channel's correlation to realized fitness staying near zero throughout. Applying the project's existing Hunt (2006)/Lande (1976) drift-vs-selection model-fitting tool (model_selection.py) to per-generation eval_weights trajectories resolved this: across 30 independent seeds at mean 439 generations, Stasis is rejected for every seed and channel (genomes are never static), but directional selection (GRW) is not reliably favored over pure drift (URW), and critically, even where GRW wins in a given seed, the sign of its fitted trend is a near-coin-flip across independent seeds (43-57% positive) — the signature of drift routinely looking directional over any one finite window, not of real selection, which would show seeds agreeing on direction. Conclusion: for this feature set, there is no optimal reward function evolution converges on — a sharper result than Trial 12's, which showed only that the specific weights evolution lands on don't correlate with fitness. Checked, not assumed, that 439-generation mean depth is actually enough: a power simulation using the real generation-depth/sample-size/drift-noise structure found a universal selection pressure as small as 10-20% of the natural drift step would already show up as 85-100% cross-seed sign agreement, far above the ~50% observed — the null result is well-powered, not an artifact of too little data. It leaves one distinct possibility open: a founder-contingent landscape where different populations converge on different local optima rather than none existing at all. Pushed one step further, prompted by the user finding a pure drift verdict unsatisfying relative to how humans clearly do have an internal reward system: a positive-control check ran 5 hand-picked, extreme, fixed reward vectors — including one deliberately rewarded for approaching predators and avoiding food — with evolution switched off entirely (no mutation), n=10 seeds each. Zero significant fitness differences anywhere, even between the two most opposed vectors (p=0.91). A direct behavioral measurement (which direction a prey's chosen action points relative to a visible predator/food at decision time — a Codex review caught and fixed two real bugs in an earlier version that measured realized post-step distance instead: survivorship bias from excluding agents that died that step, and confounding with the predator's own simultaneous movement) found no significant behavioral difference at n=5 seeds (p=0.45-0.996) — read at the time as "behavior itself never differentiates by reward genome." This was an overclaim, corrected the same day: testing whether a stronger learning rate would fix the (mis-diagnosed) problem, a properly paired significance test (Wilcoxon signed-rank on matched seeds, Holm-corrected across learning rates tested — a Codex review caught the first version used the wrong, unpaired test) found that n=5 can never pass correction regardless of true effect size, so the earlier null was itself underpowered, not genuine. Rescaled to n=30: the DEFAULT learning rate already shows a real, significant behavioral difference (37.1% vs. 37.9% of actions pointing toward a visible predator, p=0.0155), growing sharply with learning rate (29.6% vs. 41.5% at 20x, p < 0.0001). The reward genome does reach behavior, even at baseline — the effect just starts small enough to need n=30 and a matched-pair test to detect reliably. Answered, at matching rigor (n=30, paired Wilcoxon + Holm correction): at baseline LR, still no significant fitness difference (p=0.13-0.89). At 20x LR, fitness moves decisively but not as a simple "good genome wins" — anti_adaptive produces 53% MORE total offspring and 2.5x deeper lineages (544 vs. 214 generations) than avoider, while dying 38% faster and ending with a 10% smaller standing population. Confirmed directly from lineage data: higher predation mortality culls the population faster, relieving food competition and letting survivors reproduce more often — density-release dynamics, not measurement noise. Whether reward genome "wins" depends on which fitness currency is used (population size vs. reproductive throughput), an ambiguity that plausibly helps explain why the Hunt test found no clean directional selection signal in the first place. Pushed one step further still: does a REAL, competing, evolving population maintain both strategies at once, rather than one driving the other extinct? The comparison above used two segregated single-genotype populations. A new check ran real evolution (mutation on, neutral random init, ~260 mean generations, n=10 seeds) and tested whether the population's predator-proximity reward weight becomes and stays bimodal, via a null-calibrated Gaussian-mixture/BIC comparison (Codex-reviewed, same false-positive lesson as the learning-rate test above). Partially confirmed, more modestly than hoped: the population does maintain real, non-noise internal structure rather than collapsing to one point, but the separation between the two detected clusters stays small and does not grow over the run — nowhere near the dramatic split between the two fitness-consequential strategies found above. Likely reason: that earlier result depended on each strategy monopolizing an entire segregated population's resource release from its own predation losses; a rare mutant of one strategy inside a population dominated by the other doesn't get that same benefit — whether a polymorphism is evolutionarily stable depends on rare-strategy fitness, not performance in isolation, and at this depth, no. Tested that different question directly: seed the split already-established (50/50 founders), does it then stay? No, decisively — across n=10 seeds, every live agent in 9/10 seeds ended up on avoider's side and every live agent in the remaining seed on anti_adaptive's, at every checkpoint, with zero intermediate values across 100 checkpoint-seed combinations. Resolves to complete exclusion within ~27 generations and never reverses. Verified not a founder-count artifact — avoider won even starting as a clear founder minority (7/24 vs. 17/24) in one seed. avoider has a real, substantial edge once both strategies compete for the same resources: anti_adaptive's earlier density-release advantage depended on monopolizing an entire population's own predation losses, a benefit a less-predated, competing avoider population captures instead. Closing picture: the reward genome is real and moves fitness, but a trade-off between two strategies isn't automatically a stable coexistence — one wins, for an identifiable ecological reason invisible from segregated comparisons alone. Does that mean the project's own original reward design (flagship's literal "+10 on reproduction," the fitness criterion itself, no proxy) can't be beaten? No — tested the same way (mixed competition, n=30) and avoider beats it decisively: 27/30 seeds, p=0.000008, winning both population share and total offspring. A genome can't literally represent "+10 on reproduction" (that event isn't an observed feature), so the faithful test bypasses the genome entirely and feeds the environment's own reproduction signal directly into the learning update. It still loses, because this module's one-step learning rule (not REINFORCE in general, which handles sparse reward fine via full-trajectory returns) gets almost nothing to learn from between rare reproduction events. This completes a real algorithm × reward-density 2×2, not two single-algorithm studies stitched together (a confound the user flagged directly): sparse wins under PPO+GAE (the project's separate reward-density finding), dense/shaped wins under this module's one-step rule. Reward density's effect isn't context-free — it depends on whether the learner can do multi-step credit assignment. Worth being explicit: both "dense" rewards compared here were hand-designed by a human, not evolved or discovered by either system's own optimization process — PPO has no mechanism to search over rewards at all, and this module's own mutation/selection over eval_weights was tested directly and found not to discover a reward like avoider on its own. The comparison shows a good dense reward has real power once supplied, not that evolution here is what supplies it. Final follow-up: could a genuinely stronger inner-lifetime learner let evolution discover something like avoider on its own? Built a pooled, genome-conditioned shared prey policy (mirroring the predator's already-proven design, informed directly by an existing Wang2019 replication's diagnosed bottleneck: too little RL training per genotype). Getting it stable took three sequential, directly-debugged fixes (a bilinear feature-genome interaction term, calibrated weight-init scale, and batched rather than sequential updates). A first n=10 pass looked like a ~20% rate of seeds reaching genome separations never seen under the old architecture — rescaled to n=30 (this investigation's repeated lesson: don't trust a small-sample rate), the true SUSTAINED rate is 3/30 (10.0%, Wilson 95% CI 3.5-25.6%) — real and reproducible, just rarer than first thought. 73% of seeds stayed within the old architecture's own ceiling. Training volume was a real bottleneck — fixing it reproducibly unlocks new territory — but it's a rare, not a reliable, unlock, pointing toward founder-effect/early-stochastic-luck as the remaining constraint rather than a systematic pathway. Scope caveat, raised directly by the user: this isn't a clean test of "more individual training volume helps." Every other result in this trial family depends on each new individual starting from a fresh, never-learned copy of its genome's weights each generation — Darwinian, not Lamarckian, deliberately. The pooled policy breaks that: its shared network is never reset, so competence accumulates across the whole run's history rather than within one individual's lifetime — closer to population-level cultural/social learning than to "each generation learns alone." Individual genome-driven behavioral diversity survives this, but the ~10% finding is really a test of whether a partly-cultural learning mechanism helps, not whether more individual training volume does. Final check: population-size scaling — the cheapest, most theoretically motivated lever left (larger populations should weaken genetic drift) — showed no evidence of helping either. Scaled grid area, grass, and founders together (density unchanged, ~4x carrying capacity); using the same strict criterion as the n=30 baseline, n=10 seeds gave 0/10 sustained large separations vs. the baseline's 3/30 — the point estimate went down, not up, though the small sample doesn't distinguish this confidently either way. The single most promising remaining lever, tested directly, did not pan out. A small, consistent minority of populations finding real divergence while the majority don't, under every architecture and scale tried, looks like founder-effect/early-stochastic-luck rather than a bottleneck this investigation found an accessible fix for. Full diagnostic history: eco_evolutionary_erl_flagship/README.md.

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.
  • Singh, S., Lewis, R. L., Barto, A. G., & Sorg, J. (2010). "Intrinsically Motivated Reinforcement Learning: An Evolutionary Perspective." IEEE Transactions on Autonomous Mental Development, 2(2), 70–82.
  • 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.md trial log this page summarizes.