Code and data associated with "The evolution of sex for artificial intelligence - A population-genetic framework for multigenerational model populations". Gilestro, 2026
Find a file
Giorgio Gilestro f82d11ccce narrative: remove internal-deliberation ghosts from the diagnosis passages
The convergence paragraph rewritten as a natural literature entry: the
drift identification is stated as a fact of the field, made repeatedly
and independently (pre-deep-learning inference chains; LLM text
ecosystems; the first-extinction law; quantitative-genetic form), its
multiplicity presented as a property of the idea rather than a claim
about us; the pivot is positive (population genetics is a theory of what
maintains populations despite decay, and this paper develops that fuller
structure) instead of defensive ("what none of that parallel work
develops"). "We reached independently", "priority of publication", and
"convergence we take as support" removed from the abstract and the
Discussion ledger as well. Refs 22-25 renumbered to the new textual
(chronological) order; citation invariant re-verified (1..66). Lesson
recorded: internal strategic deliberations must not surface in
reader-facing prose — confident papers situate, they do not litigate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:03:28 +01:00
configs second review round: tempered claims, robust statistics, corrected technical statements 2026-09-06 17:55:46 +01:00
figures third review round: mathematical corrections + operator separation + headline calibration 2026-09-06 19:29:09 +01:00
hpc hard benchmark: the 7B "fusion wins / no headroom" results were saturation artefacts 2026-07-05 19:13:26 +01:00
paper narrative: remove internal-deliberation ghosts from the diagnosis passages 2026-09-07 10:03:28 +01:00
results third review round: mathematical corrections + operator separation + headline calibration 2026-09-06 19:29:09 +01:00
src second review round: tempered claims, robust statistics, corrected technical statements 2026-09-06 17:55:46 +01:00
tasks narrative: remove internal-deliberation ghosts from the diagnosis passages 2026-09-07 10:03:28 +01:00
tests epistasis_predicts: functional conflict, not weight geometry, predicts merge failure pre-merge 2026-09-06 17:19:46 +01:00
.gitignore neural: real-MNIST external-validity tier (collapse + grounding) 2026-07-05 09:19:36 +01:00
CLAUDE.md hard benchmark: the 7B "fusion wins / no headroom" results were saturation artefacts 2026-07-05 19:13:26 +01:00
Makefile Phase 3: LLM-tier speciation + multi-seed firm-up of the recombination claims 2026-09-06 15:39:15 +01:00
pyproject.toml llm: first real-LLM prototype — recombining specialist LLMs (C2/C4) 2026-07-05 15:48:02 +01:00
README.md paper: reframe the perspective paper around sexual reproduction (v4 -> v5) 2026-07-05 13:53:10 +01:00
uv.lock Layer 1.5: architecture-general neural existence proof 2026-07-04 21:02:49 +01:00

The Lamarckian Society — Layer 1 (analytical core)

A parametric population-genetics model of knowledge transmission across generations of learning agents. Knowledge transmission is modelled literally as a WrightFisher process (not by analogy): a model's knowledge is a distribution p_t over K discrete items; a fixed true distribution p* has a rare tail; each generational step is "sample from the parent (drift) + mix in fresh real samples (grounding/immigration) + refit." Model collapse is the loss of rare alleles under drift.

See paper/blueprint.md (the normative build spec), paper/the-lamarckian-society-v5.md (the perspective paper), and paper/results-summary.md (a summary of all results).

Reproduce

Environment is a uv venv built from the committed, hash-pinned uv.lock — that lockfile is the single source of truth for "it runs" (Layer 1 is pure NumPy/SciPy and bitwise-reproducible from a seed; no container needed).

# one-time: install uv (https://astral.sh/uv)
curl -LsSf https://astral.sh/uv/install.sh | sh

uv sync                 # build .venv from uv.lock
make test               # correctness + scientific-validation tests (the spine of trust)
make layer1             # run experiments E1E6
make figures            # regenerate figures from committed results

Layout

src/knowledge/   Layer 1 package (imported as `knowledge`)
configs/layer1/  one YAML per experiment (E1..E6)
figures/         plot_EX.py — read results.parquet only
tests/           test_correctness.py + test_scientific_validation.py (analytic checks)
paper/           blueprint.md, perspective paper, figure_manifest.md
results/         written artifacts (gitignored; hashes tracked in manifest.json)