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:
parent
84124de143
commit
ab3dc10587
240 changed files with 477 additions and 476 deletions
34
results/figS10_rugged_landscapes/README.md
Normal file
34
results/figS10_rugged_landscapes/README.md
Normal 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.
|
||||
BIN
results/figS10_rugged_landscapes/figS10_rugged_landscapes.pdf
Normal file
BIN
results/figS10_rugged_landscapes/figS10_rugged_landscapes.pdf
Normal file
Binary file not shown.
BIN
results/figS10_rugged_landscapes/figS10_rugged_landscapes.png
Normal file
BIN
results/figS10_rugged_landscapes/figS10_rugged_landscapes.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 154 KiB |
14
results/figS10_rugged_landscapes/manifest.json
Normal file
14
results/figS10_rugged_landscapes/manifest.json
Normal 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"
|
||||
}
|
||||
30
results/figS10_rugged_landscapes/resolved_config.yaml
Normal file
30
results/figS10_rugged_landscapes/resolved_config.yaml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue