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:
Giorgio Gilestro 2026-09-13 17:00:40 +01:00
parent 84124de143
commit ab3dc10587
240 changed files with 477 additions and 476 deletions

View file

@ -0,0 +1,42 @@
# E11 — the dynamic Lamarckian society: the vertical claim (C3)
**Claim tested.** The culmination. Everything before was a *single operator*; the society's
load-bearing, un-preempted claim is that composing them makes **general capability climb over
generations while specialties are re-earned**, and that **every operator is necessary** — remove one
and it breaks. This is blueprint C3, the "vertical."
**Setup.** A finite population of `N=60` agents (genotypes of `L=12` biallelic loci) evolves on a
**rugged Kauffman NK landscape** (`K=8`) that *is* reality. Each generation composes: grounding,
**directed recombination (sex)**, **quality-diversity selection**, and mutation. Grounding is made
load-bearing by the **consensus-conformity (self-consumption)** mechanism — selection acts on
`g·true_fitness + (1g)·conformity`, where conformity = agreement with the population's own consensus,
so at `g=0` the society optimises fitting-the-crowd rather than reality. A 4-arm ablation, 12
replicate landscapes, 80 generations.
### Symbols
- **agent** = a model (a genotype); **reality** = the NK fitness landscape; **grounding `g`** = share of the selection signal that is real fitness vs conformity.
- **directed sex** = recombine many parents + keep the fittest offspring (E10). **quality-diversity** = select for capability *and* novelty, so specialties persist.
- **conformity true fitness** = how far the population's mutual agreement exceeds its real capability (the self-consumption "delusion" signature).
### The three panels (over generations)
1. **The vertical climb.** Best real capability: the **full society (green) climbs to the global
optimum** (≈0.78 of 0.79), while **no_grounding (red) collapses** to a fit-looking but poor
consensus (0.48). `no_sex` and `no_diversity` plateau *below* the full society.
2. **Specialties maintained.** Population diversity: the **full society explores longest** (diversity
decays slowly as it searches), while every ablation collapses diversity fast — `no_grounding`
almost immediately.
3. **Self-consumption signature.** Conformity minus true fitness: **largest for `no_grounding`** — the
population strongly *agrees* while being *wrong*, the signature of training on its own consensus.
### Takeaway — every operator is load-bearing
- **full** → climbs to the optimum with diversity maintained. **The vertical claim.**
- **no_grounding** → self-consumption collapse to an unfit consensus (train on the crowd → regress to a confident, wrong mean).
- **no_sex** → can't recombine complementary specialists to escape local optima → plateaus below full.
- **no_diversity (greedy)** → collapses diversity fastest, gets stuck at a *worse* local optimum.
This integrates the whole study — E1E6 (collapse/grounding/selection), the learning kernel, and
E7E10 (sexual transmission) — into one system, and shows the Lamarckian society needs **all** of
grounding + directed sex + diversity to climb without collapsing. On a rugged landscape you need
diversity to explore basins, sex to recombine them, and grounding to select on reality; remove any and
you fail differently. **Falsifier (not triggered):** if any ablation had matched the full society, or
the full society had failed to exceed every ablation, the integration claim would fail.

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

View file

@ -0,0 +1,14 @@
{
"experiment": "E11",
"master_seed": 20260705,
"git_commit": "48181a1c846f41e9254abe4b1d0f843d1df9667f",
"python": "3.14.5",
"libraries": {
"numpy": "2.5.0",
"scipy": "1.18.0",
"pandas": "3.0.3",
"pyarrow": "24.0.0"
},
"rows": 3888,
"results_sha256": "e8d2c3ecb5200578d16a977d147b6ee05ebf83e1a81d9287f6a740114ef3968a"
}

View file

@ -0,0 +1,37 @@
experiment: E11
seed: 20260705
n_replicates: 12
source_config:
experiment: E11
kind: dynamic_society
seed: 20260705
n_replicates: 12
society:
L: 12
K: 8
N: 60
g: 0.85
mu: 0.03
novelty: 0.5
n_off: 120
recomb_rate: 0.2
sex: true
select: qd
generations: 80
sweep:
- param: arm
values:
- name: full
set: {}
- name: no_grounding
set:
society.g: 0.0
- name: no_sex
set:
society.sex: false
- name: no_diversity
set:
society.select: greedy
society.novelty: 0.0
output:
dir: results/fig4_society_ablation