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
68
results/figS13_mating_breadth/README.md
Normal file
68
results/figS13_mating_breadth/README.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# E14 — Mating systems: monogamy vs promiscuity (mate-pool breadth)
|
||||
|
||||
**Claim tested.** The society experiments (E8–E11) assumed **panmixia** — every offspring recombined
|
||||
from parents sampled across the whole population. Biology's mating systems instead span a continuum
|
||||
from **monogamy** (mating within a narrow, local circle) to **promiscuity** (mates drawn freely from
|
||||
everyone), and population genetics says the choice matters: wide gene flow spreads a good allele fast
|
||||
but **homogenises** the population, while restricted gene flow (population structure / *isolation by
|
||||
distance*) keeps demes distinct so several fitness peaks can be explored in parallel (Wright's shifting
|
||||
balance). E14 asks how the best mating system depends on how **entangled** the skills are.
|
||||
|
||||
**Setup.** A finite population of `N=48` genotypes (`L=12` biallelic loci) evolves on a Kauffman **NK**
|
||||
landscape (ruggedness `K`). Agents sit on a **ring**; an offspring's second parent is drawn from a
|
||||
window of half-width `≈ breadth·N/2` around the focal parent, so **mate-pool breadth** `b` is a single
|
||||
scalar: `b→0` = monogamous / structured (local mating), `b=1` = promiscuous / panmictic. Selection is
|
||||
**local** — an offspring replaces the incumbent at its own ring position only if strictly fitter — so
|
||||
restricted mating can actually sustain distinct demes instead of being washed out. Sweep `b ∈ {0.03,
|
||||
0.08, 0.17, 0.35, 0.6, 1.0}` × `K ∈ {0, 3, 6, 10}`, 60 generations, 20 replicates, `μ=0.003`,
|
||||
crossover rate 0.5. Bitwise-reproducible from the master seed.
|
||||
|
||||
### Results — the best breadth shrinks as the landscape gets more rugged
|
||||
`best_fitness / global_opt` (the *champion*), mean over 20 reps; **bold = best breadth at that K**:
|
||||
|
||||
| K \ breadth | 0.03 | 0.08 | 0.17 | 0.35 | 0.60 | 1.00 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| **0** (additive) | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
|
||||
| **3** (mild) | 0.995 | 0.993 | 0.997 | 0.993 | **0.9997** | 0.993 |
|
||||
| **6** (rugged) | 0.986 | 0.972 | 0.983 | **0.989** | 0.984 | 0.982 |
|
||||
| **10** (very rugged) | 0.961 | 0.968 | 0.967 | **0.980** | 0.964 | 0.965 |
|
||||
|
||||
- **K=0** saturates: an additive (single-peak) landscape is solved by everyone regardless of mating, so
|
||||
the champion metric can't discriminate (it only shows up in diversity, below).
|
||||
- **K=3**: the optimum is at **wide** breadth (`b=0.6`) — near-promiscuous mating maximises the champion
|
||||
when the landscape is mild.
|
||||
- **K=6, K=10**: the optimum moves to an **intermediate** breadth (`b=0.35`), and *full promiscuity*
|
||||
falls below it. Wide mating **prematurely converges** on rugged landscapes; pure monogamy
|
||||
over-fragments (too little gene flow to combine complementary basins). The best of both is
|
||||
intermediate structure — the mating-system image of E9's "optimal recombination rate shrinks with
|
||||
ruggedness."
|
||||
|
||||
### Results — the diversity/mean tension that drives it
|
||||
Two monotone effects, opposite in sign, at **every** K (mean over reps at K=10):
|
||||
|
||||
| breadth | 0.03 | 0.08 | 0.17 | 0.35 | 0.60 | 1.00 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| mean fitness / opt | 0.890 | 0.914 | 0.926 | 0.941 | 0.941 | 0.943 |
|
||||
| diversity (pairwise Hamming) | 0.441 | 0.413 | 0.384 | 0.346 | 0.265 | 0.282 |
|
||||
| distinct local optima occupied | 11.0 | 8.6 | 7.4 | 7.3 | 7.2 | 6.9 |
|
||||
|
||||
- **Mean fitness** rises monotonically with breadth: panmixia lifts the *typical* individual toward a
|
||||
good consensus fastest.
|
||||
- **Diversity** and **occupied peaks** fall monotonically with breadth: promiscuity **homogenises**;
|
||||
monogamy preserves the standing variation (and the parallel exploration of distinct basins) — most
|
||||
strongly on rugged landscapes.
|
||||
|
||||
So promiscuity maximises the *typical* model and destroys diversity; on a rugged landscape the *best*
|
||||
model needs that preserved diversity, so an intermediate breadth wins the champion even though the wide
|
||||
breadth still wins the mean. (Panel A = champion, Panel B = mean, Panel C = diversity.)
|
||||
|
||||
### Positioning
|
||||
This is the population-**structure** axis the model-merging literature does not have. Merging/soup work
|
||||
implicitly assumes panmixia (fuse everything, or route among a flat pool); E14 says the *breadth* of who
|
||||
merges with whom is itself a design knob, and its optimum is set by the entanglement of the skills:
|
||||
**merge widely when skills are additive; keep sub-populations (structured / island merging) when skills
|
||||
are rugged and diversity must be preserved to explore and later combine basins.** It complements E9
|
||||
(recombination *rate*) and E11 (diversity is load-bearing) on a new, orthogonal axis. **Falsifier (not
|
||||
triggered):** the best breadth independent of `K` (no crossover), or promiscuity best at every
|
||||
ruggedness — instead the optimal breadth shifts from `0.6` (K=3) to `0.35` (K≥6), and diversity is
|
||||
monotonically lost to breadth throughout.
|
||||
BIN
results/figS13_mating_breadth/figS13_mating_breadth.pdf
Normal file
BIN
results/figS13_mating_breadth/figS13_mating_breadth.pdf
Normal file
Binary file not shown.
BIN
results/figS13_mating_breadth/figS13_mating_breadth.png
Normal file
BIN
results/figS13_mating_breadth/figS13_mating_breadth.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
14
results/figS13_mating_breadth/manifest.json
Normal file
14
results/figS13_mating_breadth/manifest.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"experiment": "E14",
|
||||
"master_seed": 20260709,
|
||||
"git_commit": "9fea375ff89f2b88a4deb5881894087555558863",
|
||||
"python": "3.14.5",
|
||||
"libraries": {
|
||||
"numpy": "2.5.0",
|
||||
"scipy": "1.18.0",
|
||||
"pandas": "3.0.3",
|
||||
"pyarrow": "24.0.0"
|
||||
},
|
||||
"rows": 29280,
|
||||
"results_sha256": "5766302157f44c0f27228f361b43c06b0651697a7dcc38848eb1d94d0502faa6"
|
||||
}
|
||||
33
results/figS13_mating_breadth/resolved_config.yaml
Normal file
33
results/figS13_mating_breadth/resolved_config.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
experiment: E14
|
||||
seed: 20260709
|
||||
n_replicates: 20
|
||||
source_config:
|
||||
experiment: E14
|
||||
kind: mating_system
|
||||
seed: 20260709
|
||||
n_replicates: 20
|
||||
mating:
|
||||
L: 12
|
||||
N: 48
|
||||
breadth: 1.0
|
||||
K: 0
|
||||
recomb_rate: 0.5
|
||||
mu: 0.003
|
||||
generations: 60
|
||||
sweep:
|
||||
- param: mating.K
|
||||
values:
|
||||
- 0
|
||||
- 3
|
||||
- 6
|
||||
- 10
|
||||
- param: mating.breadth
|
||||
values:
|
||||
- 0.03
|
||||
- 0.08
|
||||
- 0.17
|
||||
- 0.35
|
||||
- 0.6
|
||||
- 1.0
|
||||
output:
|
||||
dir: results/figS13_mating_breadth
|
||||
Loading…
Add table
Add a link
Reference in a new issue