Restructure: descriptive tier and experiment names, paper/manuscript

- paper/pnas -> paper/manuscript (venue-neutral)
- configs/layer1 -> configs/inheritance, src/knowledge -> src/inheritance
  (imported as `inheritance`), make layer1 -> make inheritance; layer2 alias dropped
- inheritance and trained-network bundles named after the manuscript figure
  they feed (fig2_grounding_sweep, figS3_rebaselining, ...), or descriptively
  where they feed none; configs keep their `experiment:` value so parquet
  hashes are unchanged, only output.dir moves
- figure scripts, SI figure sources, notebooks, REPRODUCING.md, README and the
  SI Methods/tables updated; make clean no longer deletes tracked manifests;
  reproduce.sh hashes the s{seed}/ layouts too

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
This commit is contained in:
Giorgio Gilestro 2026-09-13 17:00:40 +01:00
parent 84124de143
commit ab3dc10587
240 changed files with 477 additions and 476 deletions

View file

@ -0,0 +1,31 @@
# E7 — the advantage of sex: recombination adapts faster than clonal reproduction
**Claim tested.** The dynamic mechanism behind E8: *why* can a recombining society reach capability a
lone lineage cannot? Because recombination reassorts beneficial variants that arise in different
sub-lineages, while an asexual (clonal) lineage suffers **clonal interference** — the variants compete
and cannot combine.
**Setup.** A single population (distribution over `2^L` genotypes, `L=12`) adapts from **all-wrong**
toward the multi-locus optimum under the composed step: selection (fitness-proportional) + drift
(resample `n=150`) + mutation (per-locus flips, `μ=0.02`) + recombination. Two arms — **asexual**
(`recomb_rate=0`) vs **sexual** (`recomb_rate=1`). 20 replicates.
### Symbols
- **asexual/clonal** = offspring are whole-genotype copies (Layer-1's regime) · **sexual** = loci reassorted across the population each generation.
- **fitness** = number of correct loci (optimum = `L`) · **linkage disequilibrium |D|** = how far the loci are from statistical independence (correct alleles scattered across different genotypes).
### The two panels
1. **Advantage of sex.** Mean fitness over generations: the **sexual lineage (red) climbs faster**
than the asexual one (grey) through the adaptation phase (gen ~1035). *Honest scope:* both plateau
near the optimum by gen ~40 in this tractable regime — this is a **speed** advantage, not a
permanent gap (the single-population Muller's ratchet is subtle to force; E8 carries the headline).
2. **Mechanism.** Linkage disequilibrium over generations: the asexual lineage spikes to `|D|≈0.04`
during adaptation (beneficial alleles held apart, scattered across genotypes), while the sexual
lineage stays at `|D|≈0` — it *assembles* them. The LD gap is exactly why sexual adapts faster.
### Takeaway
Recombination's advantage is real and classical: it combines good ideas that arose independently,
which clonal reproduction cannot. This is the population-level reason a single evolving model lineage
degrades or stalls where a recombining **society** climbs — and it grounds the E8 vertical result in
the evolution-of-sex theory. **Falsifier (not triggered):** if the sexual lineage adapted no faster
than the asexual one (and kept the same LD), recombination would do no work.

View file

@ -0,0 +1,14 @@
{
"experiment": "E7",
"master_seed": 20260705,
"git_commit": "871bc39ec6628f82aed75d007fdf675880eebc97",
"python": "3.14.5",
"libraries": {
"numpy": "2.5.0",
"scipy": "1.18.0",
"pandas": "3.0.3",
"pyarrow": "24.0.0"
},
"rows": 4840,
"results_sha256": "4836cd7045ad5419554e7edc65e4e12b23877a551f38969d65e09a4f77715faa"
}

View file

@ -0,0 +1,23 @@
experiment: E7
seed: 20260705
n_replicates: 20
source_config:
experiment: E7
kind: genotype_lineage
seed: 20260705
n_replicates: 20
genotype:
L: 12
n: 150
mu: 0.02
base: 1.3
recomb_rate: 0.0
init: wrong
generations: 120
sweep:
- param: genotype.recomb_rate
values:
- 0.0
- 1.0
output:
dir: results/sexual_vs_asexual_lineage

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB