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
42
results/fig4_society_ablation/README.md
Normal file
42
results/fig4_society_ablation/README.md
Normal 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 + (1−g)·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 — E1–E6 (collapse/grounding/selection), the learning kernel, and
|
||||
E7–E10 (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.
|
||||
BIN
results/fig4_society_ablation/fig4_society_ablation.pdf
Normal file
BIN
results/fig4_society_ablation/fig4_society_ablation.pdf
Normal file
Binary file not shown.
BIN
results/fig4_society_ablation/fig4_society_ablation.png
Normal file
BIN
results/fig4_society_ablation/fig4_society_ablation.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 340 KiB |
14
results/fig4_society_ablation/manifest.json
Normal file
14
results/fig4_society_ablation/manifest.json
Normal 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"
|
||||
}
|
||||
37
results/fig4_society_ablation/resolved_config.yaml
Normal file
37
results/fig4_society_ablation/resolved_config.yaml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue