E12: model speciation — the merge-compatibility limit of the sexual society
New analytic result for the evolution-of-sex paper: how far can two lineages diverge before recombination (model merging) stops working? Frames merge failure as biological reproductive isolation via Bateson-Dobzhansky-Muller incompatibilities. src/knowledge/speciation.py, kind: speciation, on the E7-E11 genotype machinery (pure seeded NumPy, bitwise-reproducible; no external simulator whose separate RNG would break that). - BDM construction (E12.yaml): ancestor + two lineages substituting disjoint loci (each parent adaptive, incompatibility-free), a fraction rho of cross-lineage pairs are BDMIs. Sweeping divergence d reproduces the predicted compatible -> outbreeding depression -> hybrid inviability curve; the isolation cliff moves to lower d as epistasis density rises (iso at d=20: 0.00/0.03/0.50 for rho 0.1/0.25/0.5); incompatibilities snowball ~ (d/2)^2 (Orr-Turelli). - NK variant (E12_nk.yaml): parents = hill-climbed local optima; the epistasis wedge — recombination gain flips 0 -> -0.13 and OD rate 0 -> 0.90 as ruggedness K rises. At matched divergence, mergeability is governed by epistasis, the axis no divergence-only ML merge predictor captures. plot_E12.py (3-panel), +7 tests (138 green), README with honest positioning (concedes the empirical phenomenon to Pari 2024 / Zhou 2026 + permutation artefacts to Git Re-Basin; claims the predictive theory + the epistasis wedge). Wired into make layer1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
ae1779a9a8
commit
db9452c9d4
14 changed files with 470 additions and 1 deletions
28
configs/layer1/E12.yaml
Normal file
28
configs/layer1/E12.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
experiment: E12
|
||||
kind: speciation
|
||||
seed: 12
|
||||
n_replicates: 15
|
||||
|
||||
# E12 — MODEL SPECIATION / reproductive isolation (the merge-compatibility limit of the sexual society).
|
||||
# The Bateson-Dobzhansky-Muller construction: an ancestor; two lineages each substitute a DISJOINT set
|
||||
# of loci (each parent adaptive, neither carrying an incompatibility); a fraction `rho` of cross-lineage
|
||||
# locus pairs are incompatibilities (penalty `s`) that only bite when a recombinant inherits BOTH derived
|
||||
# alleles. Sweeping the divergence d (total substitutions) gives the predicted signature
|
||||
# COMPATIBLE -> OUTBREEDING DEPRESSION -> HYBRID INVIABILITY, arriving earlier the denser the epistasis
|
||||
# (rho), with the Orr-Turelli snowball (# incompatibilities ~ (d/2)^2, so fitness falls super-linearly).
|
||||
# A merged model is a single recombinant (F2-like: hybrid breakdown / recombination load), so this maps
|
||||
# to postzygotic isolation, not F1 vigour. Falsifier: no outbreeding-depression/isolation progression as
|
||||
# d and rho grow. Pure seeded NumPy on the E7-E11 genotype machinery (bitwise-reproducible).
|
||||
|
||||
speciation:
|
||||
landscape: bdm
|
||||
L: 20
|
||||
rho: [0.1, 0.25, 0.5] # epistasis DENSITY: fraction of cross-lineage locus pairs that are BDMIs
|
||||
divergences: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
|
||||
s: 1.0 # incompatibility penalty per realised BDMI
|
||||
beta: 1.0 # additive benefit per derived (adaptive) allele — makes parents fit
|
||||
recomb_rate: 0.5 # free recombination (each locus ~ independent parent)
|
||||
n_offspring: 500
|
||||
|
||||
output:
|
||||
dir: results/E12
|
||||
Loading…
Add table
Add a link
Reference in a new issue