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,34 @@
# E9 — landscape robustness: when recombination helps, and the outbreeding-depression risk
**Claim tested.** E8 showed sexual recombination assembling super-parent offspring — but on an
*additive* landscape, where recombination trivially helps. The honest, credibility-critical question
(the classic "why sex?" problem): does the benefit survive **epistasis**, or does merging entangled
models break them?
**Setup.** Parents are **local optima** ("trained models") of a **Kauffman NK landscape** (`L=12`),
whose ruggedness `K` (epistatic interactions per locus) is swept together with the **recombination
rate**. `K=0` is additive/smooth; larger `K` is rugged (co-adapted allele blocks, many local optima).
Fitness ∈ [0,1]. 24 replicate landscapes; 200 offspring per point.
### Symbols
- **NK landscape** — tunable-ruggedness fitness landscape; `K` = epistasis (0 = additive, high = rugged).
- **recombination rate** — per-gap crossover probability (0 = clonal / copy a parent; 0.5 = free recombination, loci independent).
- **outbreeding depression** — offspring *less* fit than parents because recombination broke co-adapted allele blocks.
### The two panels
1. **The risk.** Mean offspring fitness *minus* best parent, vs recombination rate, one curve per
ruggedness `K`. On the additive landscape (`K=0`) it's flat at 0; as `K` grows the curves plunge
**negative**, and deeper the higher the recombination rate — **outbreeding depression, worse the
more entangled the skills and the more you mix** (`K=8`, free recombination: ≈ 0.23).
2. **With selection, an optimal rate re-emerges.** Best-of-brood fitness (offspring selection) vs
rate per `K`, with parents dotted. On rugged landscapes a **nonzero intermediate recombination
rate** is best — enough mixing to find new combinations, not so much that it shatters good blocks.
### Takeaway
Recombination is not a free lunch. **Merge freely when skills are complementary/additive; merge
sparingly — and always *select* offspring — when they are entangled.** This is the celebrated
population-genetics result (recombination load / outbreeding depression) reproduced for AI model
merging, and it turns the sexual metaphor from a lucky demo into a law with a design rule. The rescue
— directed sex with offspring selection — is E10. **Falsifier (not triggered):** if recombination
rate had no effect, or free recombination never underperformed the parents on rugged landscapes, the
epistasis caveat would be moot.

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

View file

@ -0,0 +1,14 @@
{
"experiment": "E9",
"master_seed": 20260705,
"git_commit": "62c68d6c8c4090e62cf9ee17ac7b7d1eff7a6955",
"python": "3.14.5",
"libraries": {
"numpy": "2.5.0",
"scipy": "1.18.0",
"pandas": "3.0.3",
"pyarrow": "24.0.0"
},
"rows": 720,
"results_sha256": "73a737b333ee972ff1f878e18bf91b0aac58cb595c00c7b7fec3c18865971c4f"
}

View file

@ -0,0 +1,30 @@
experiment: E9
seed: 20260705
n_replicates: 24
source_config:
experiment: E9
kind: recomb_landscape
seed: 20260705
n_replicates: 24
society:
L: 12
n_parents: 6
pop: 200
sweep:
- param: K
values:
- 0
- 2
- 4
- 6
- 8
- param: rate
values:
- 0.0
- 0.05
- 0.1
- 0.2
- 0.35
- 0.5
output:
dir: results/figS10_rugged_landscapes