MachineSex/src/knowledge
Giorgio Gilestro f5f68f5249 E14: mating systems — monogamy vs promiscuity (mate-pool breadth)
A new analytic experiment on an orthogonal evolution-of-sex axis: not the
recombination RATE (E9) but the population's mating STRUCTURE. Agents on a
ring recombine with a second parent drawn from a window of breadth b
(b->0 monogamous/isolation-by-distance, b=1 promiscuous/panmictic), under
local selection, swept against NK ruggedness K.

Finding: the optimal mate-pool breadth SHRINKS as skills get more
entangled. Wide/promiscuous merging wins the champion on additive
landscapes (K<=3, b=0.6), but on rugged ones (K>=6) it prematurely
converges to a worse champion and an intermediate breadth (b~0.35) wins;
pure monogamy over-fragments. Throughout, promiscuity monotonically lifts
the population MEAN but destroys diversity and parallel exploration. The
design rule extends E9: merge widely for additive skills, keep
island-structured sub-populations for entangled ones — a merging-native
axis the panmixia-assuming literature lacks.

- src/knowledge/mating_system.py + experiment.py dispatch (kind: mating_system)
- configs/layer1/E14.yaml (breadth x K sweep, 20 reps, bitwise-reproducible)
- figures/plot_E14.py; results/E14/ (figure, README, manifest, resolved config)
- tests/test_mating_system.py (+5, 147 green); make layer1 wired
- folded into both papers (full + accessible) as the third §5 result

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 12:38:50 +01:00
..
__init__.py Layer 1 core: Wright-Fisher knowledge-transmission model with E1-E2 2026-07-04 18:10:18 +02:00
analysis.py Layer 1 complete: E3-E6 + E2 analysis add-ons 2026-07-04 18:54:42 +02:00
config.py knowledge: learning kernel — model the estimator bias, not just sampling 2026-07-05 10:23:33 +01:00
dynamic_society.py society: the dynamic Lamarckian society — the vertical claim (E11 / C3) 2026-07-05 12:34:01 +01:00
experiment.py E14: mating systems — monogamy vs promiscuity (mate-pool breadth) 2026-07-09 12:38:50 +01:00
genotype.py society: make the sexual-transmission model rigorous (E9 epistasis, E10 directed sex) 2026-07-05 11:13:37 +01:00
genotype_lineage.py society: multi-locus recombination frame — the vertical claim (E7/E8) 2026-07-05 10:51:41 +01:00
kernel.py knowledge: learning kernel — model the estimator bias, not just sampling 2026-07-05 10:23:33 +01:00
lineage.py knowledge: learning kernel — model the estimator bias, not just sampling 2026-07-05 10:23:33 +01:00
mating_system.py E14: mating systems — monogamy vs promiscuity (mate-pool breadth) 2026-07-09 12:38:50 +01:00
metrics.py Layer 1 complete: E3-E6 + E2 analysis add-ons 2026-07-04 18:54:42 +02:00
seeding.py Layer 1 core: Wright-Fisher knowledge-transmission model with E1-E2 2026-07-04 18:10:18 +02:00
society.py society: make the sexual-transmission model rigorous (E9 epistasis, E10 directed sex) 2026-07-05 11:13:37 +01:00
speciation.py E12: model speciation — the merge-compatibility limit of the sexual society 2026-07-08 22:40:02 +01:00
step.py knowledge: learning kernel — model the estimator bias, not just sampling 2026-07-05 10:23:33 +01:00
teachers.py Layer 1 core: Wright-Fisher knowledge-transmission model with E1-E2 2026-07-04 18:10:18 +02:00
truth.py Layer 1 core: Wright-Fisher knowledge-transmission model with E1-E2 2026-07-04 18:10:18 +02:00