ASSEMBLY-WP-0006-T02: ground organism depreciation, robustness checks
- dO grounded at 0.20/yr (software, R&D capital, AI hardware evidence); investment/learning rescaled so the baseline organism path is unchanged - robustness.py: key readings hold for grounded dO and brackets on channel self-reinforcement and wealth conversion; P3 effect size grows at strong self-reinforcement - models/ParameterGrounding.md: register of grounded / bracketed / assumed / calibrated parameters, open grounding needs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 1494246@bnt-lap001 Assistant-Session: caf6de6f-f9e4-47ce-a584-49baa271fa4b
This commit is contained in:
parent
c03cf98756
commit
ee7b17da5e
12 changed files with 252 additions and 30 deletions
|
|
@ -2,12 +2,20 @@
|
|||
# Custodian Brief — assembly-economics
|
||||
|
||||
**Domain:** communication
|
||||
**Last synced:** 2026-10-12 05:38 UTC
|
||||
**Last synced:** 2026-10-12 06:24 UTC
|
||||
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
||||
|
||||
## Active Workstreams
|
||||
|
||||
*(none — repo may need first-session setup)*
|
||||
### GADM-0.4: durable capability, cohort agency, estimated parameters
|
||||
Progress: 1/6 done | workplan_id: `0016caec-fec5-5943-b565-a2c3d66b750f`
|
||||
|
||||
**Open tasks:**
|
||||
- · Ground key parameters `d4603db8`
|
||||
- · Global sensitivity on GADM-0.3 `c33dd30b`
|
||||
- · Equilibrium initialisation `16c2bb94`
|
||||
- · Agency per cohort `788c4143`
|
||||
- · Sectors and rival goods `a0a25ecb`
|
||||
|
||||
## Inbox Hygiene
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ cd simulations/gadm02 && python3 -B wealth.py # GADM-0.3 wealth vs. power
|
|||
cd simulations/gadm02 && python3 -B organism_grid.py # GADM-0.3 organism grid
|
||||
cd simulations/gadm02 && python3 -B life_cycle.py # GADM-0.3 cohorts
|
||||
cd simulations/gadm02 && python3 -B life_cycle.py --model gadm04 # GADM-0.4 durable capability
|
||||
cd simulations/gadm02 && python3 -B robustness.py # GADM-0.4 robustness of key readings
|
||||
```
|
||||
|
||||
Use `python3 -B` after quick edits; a stale bytecode cache once masked a change.
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
| workplan | ASSEMBLY-WP-0003 | finished | — | workplans/ASSEMBLY-WP-0003-seed-integration.md |
|
||||
| workplan | ASSEMBLY-WP-0004 | finished | — | workplans/ASSEMBLY-WP-0004-gadm-0.2-modeling.md |
|
||||
| workplan | ASSEMBLY-WP-0005 | finished | — | workplans/ASSEMBLY-WP-0005-gadm-0.3.md |
|
||||
| workplan | ASSEMBLY-WP-0006 | proposed | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
| workplan | ASSEMBLY-WP-0006 | active | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
| task | ASSEMBLY-WP-0001-T01 | done | — | workplans/ASSEMBLY-WP-0001-statehub-bootstrap.md |
|
||||
| task | ASSEMBLY-WP-0001-T02 | done | — | workplans/ASSEMBLY-WP-0001-statehub-bootstrap.md |
|
||||
| task | ASSEMBLY-WP-0001-T03 | done | — | workplans/ASSEMBLY-WP-0001-statehub-bootstrap.md |
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
| task | ASSEMBLY-WP-0005-T04 | done | — | workplans/ASSEMBLY-WP-0005-gadm-0.3.md |
|
||||
| task | ASSEMBLY-WP-0005-T05 | done | — | workplans/ASSEMBLY-WP-0005-gadm-0.3.md |
|
||||
| task | ASSEMBLY-WP-0005-T06 | done | — | workplans/ASSEMBLY-WP-0005-gadm-0.3.md |
|
||||
| task | ASSEMBLY-WP-0006-T01 | todo | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
| task | ASSEMBLY-WP-0006-T01 | done | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
| task | ASSEMBLY-WP-0006-T02 | todo | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
| task | ASSEMBLY-WP-0006-T03 | todo | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
| task | ASSEMBLY-WP-0006-T04 | todo | — | workplans/ASSEMBLY-WP-0006-gadm-0.4.md |
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ the code is the reference if the two ever disagree.
|
|||
# Generative Assembly Dynamics Model — GADM-0.4
|
||||
|
||||
**Status:** in development, exploratory. Implemented so far: durable human
|
||||
capability (§ 1, ASSEMBLY-WP-0006-T01).
|
||||
capability (§ 1, ASSEMBLY-WP-0006-T01), grounded organism depreciation and
|
||||
robustness checks (§ 2, T02).
|
||||
|
||||
GADM-0.4 builds on the GADM-0.3 cohort model (`GADM-0.3.md` § 5), which stays
|
||||
unchanged and reproducible in `gadm03c.py`. Time unit: one year.
|
||||
|
|
@ -49,6 +50,9 @@ identical to GADM-0.3 (unit-tested).
|
|||
|
||||
### 1.3 Results
|
||||
|
||||
Computed at T01, before `dO` was grounded (§ 2). The grounded values differ
|
||||
by at most 0.004.
|
||||
|
||||
| | GADM-0.3 cohorts | GADM-0.4 |
|
||||
|---|---|---|
|
||||
| Baseline VFAC (t = 100) | 0.323 | 0.323 |
|
||||
|
|
@ -83,9 +87,29 @@ Full tables: `simulations/gadm02/results/life_cycle_gadm04.md`.
|
|||
- `hform` was chosen so that baseline children's durable capability settles
|
||||
near 0.6. It has no empirical anchor yet (see T02).
|
||||
|
||||
---
|
||||
|
||||
## 2. Parameter grounding (T02)
|
||||
|
||||
Details and sources: `ParameterGrounding.md`.
|
||||
|
||||
- **Organism depreciation is grounded:** `dO` = 0.20 per year (evidence range
|
||||
0.15–0.35, from software, R&D-capital and AI-hardware depreciation), instead
|
||||
of 0.06. Investment, learning and seeding are rescaled (×3.33) so the
|
||||
baseline organism path is unchanged. The evidence changes the timescale;
|
||||
the level of organism capability remains ungrounded.
|
||||
- **The key readings are robust** to the grounded `dO` and to brackets on the
|
||||
ungrounded channel self-reinforcement (0.15–0.45) and wealth conversion
|
||||
(0.02–0.20). One exception: P3's effect size grows to −0.078 at strong
|
||||
self-reinforcement.
|
||||
- With grounded `dO`: baseline VFAC 0.325, generative regime 0.665. The life-cycle results
|
||||
are essentially unchanged: L3 half-time 17 years, final ΔH working age +0.032;
|
||||
L1 ΔH −0.028 (ageing, strong mentoring) against −0.038 (stable, none).
|
||||
|
||||
## Reproduce
|
||||
|
||||
```bash
|
||||
python3 -B -m unittest discover -s simulations/gadm02
|
||||
cd simulations/gadm02 && python3 -B life_cycle.py --model gadm04
|
||||
cd simulations/gadm02 && python3 -B robustness.py # T02 robustness checks
|
||||
```
|
||||
|
|
|
|||
76
models/ParameterGrounding.md
Normal file
76
models/ParameterGrounding.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
<!--
|
||||
Created 2026-10-12 under ASSEMBLY-WP-0006-T02. A register of how each key
|
||||
GADM parameter is justified. Update it whenever a parameter is grounded,
|
||||
bracketed or changed.
|
||||
-->
|
||||
|
||||
# Parameter Grounding Register
|
||||
|
||||
**Status:** v0.1. Most GADM parameters are still assumptions. This register
|
||||
says which ones have evidence behind them, which are bracketed by
|
||||
sensitivity analysis only, and which are open.
|
||||
|
||||
Status codes: **G** grounded in external evidence · **B** bracketed: not
|
||||
grounded, but key readings checked across a range · **A** assumed, not yet
|
||||
checked · **C** calibration choice (set to reproduce a target behaviour).
|
||||
|
||||
| Parameter | Meaning | Value | Status | Basis |
|
||||
|---|---|---|---|---|
|
||||
| time unit | one period | 1 year | C | WP-0005-T01; implied timescales checked in `GADM-0.2.md` § 3.4 |
|
||||
| `dO` | depreciation of organism capability | 0.20 (range 0.15–0.35) per year; GADM-0.2/0.3: 0.06 | **G** | Software depreciates geometrically over roughly 3–10 years (CBO-based summary); business R&D capital depreciation is generally above the traditional 15 % (Li & Hall 2020, *Review of Income and Wealth* 66(1)); economic life of AI GPUs is about 2–6 years. Organism capability combines all three. |
|
||||
| `aO`, `ell`, `oseed` | organism investment, learning with use, seeding | 0.50, 0.83, 0.033 (×3.33) | C | Rescaled with `dO` so the baseline organism path stays as before (0.46 at t = 25, 0.37 at t = 100). The **level** of organism capability is therefore still ungrounded. |
|
||||
| `aext` | attention extraction | 0.275; GADM-0.2: 0.12 | **G** (order of magnitude) | ATUS 2023: 5.2 h/day leisure, 2.7 h TV; social media about 2 h 20 min/day. Engagement media take about half of discretionary time (`GADM-0.3.md` § 4.1). |
|
||||
| `r_k` | channel self-reinforcement | 0.3 (0.4 discovery) | **B** | Not grounded. Readings checked for 0.15–0.45 (`results/robustness.md`). |
|
||||
| `k_w` | wealth → control conversion | 0.04 | **B** | Not grounded. Readings checked for 0.02–0.20. |
|
||||
| `birth`, ageing and death rates | demography | 1/45; 1/20, 1/45, 1/15; 1/8 | C | Gives a stationary structure of about 23 / 51 / 17 / 9 % at replacement fertility, plausible for an aged high-income society. |
|
||||
| `hform` | durable capability formation | 0.15 | C | Chosen so children's durable capability settles near 0.6. |
|
||||
| `v0`, `aK`, `n1` | experimentation, capacity build, entry | 2.5, 0.35, 0.30 | C | Keep the GADM-0.2 baseline from collapsing (`GADM-0.2.md` § 3.4). |
|
||||
| all other rates | — | see code | A | First guesses in the 0.03–0.3 per-year range. |
|
||||
|
||||
## Robustness of key readings (T02)
|
||||
|
||||
`simulations/gadm02/results/robustness.md`, GADM-0.4 with cohorts and
|
||||
durable capability. Channel counters are recalibrated for every variant.
|
||||
|
||||
| Reading | dO 0.06 → 0.20 | r 0.15 / 0.45 | k_w 0.02 / 0.20 |
|
||||
|---|---|---|---|
|
||||
| Generative regime best, automated capitalism worst | holds | holds | holds |
|
||||
| Scenario ranking (Spearman ρ vs. grounded) | 1.00 | 0.98 / 1.00 | 1.00 / 1.00 |
|
||||
| Generative regime has the lowest domination | holds | holds | holds |
|
||||
| Organism lever order lineage > membrane > attention | holds | holds | holds |
|
||||
| P3: full wealth tax lowers P by < 0.06 where membrane/lineage dominate | holds (−0.055) | holds (−0.035) / **fails (−0.078)** | holds |
|
||||
|
||||
Readings:
|
||||
|
||||
1. **Grounding `dO` changes almost nothing**, because the organism level was
|
||||
held fixed by rescaling. The GADM-0.2 Sobol result ("dO explains a third of
|
||||
baseline variance") really measures sensitivity to the **level** of
|
||||
organism capability, which `dO` sets together with investment and learning.
|
||||
That level is the next thing to ground, for example from AI-capital or
|
||||
task-automation shares.
|
||||
2. **The structural readings are robust** across the brackets for the two
|
||||
ungrounded power parameters.
|
||||
3. **P3 is robust in direction, but its size depends on r.** With strong
|
||||
self-reinforcement, market and political channels sit closer to their
|
||||
tipping points, so a wealth tax tips them down and becomes more effective
|
||||
(ΔP −0.078). Even then, total domination stays dominated by membrane and
|
||||
lineage control.
|
||||
|
||||
## Open grounding needs
|
||||
|
||||
1. The level of organism capability K_Ω (AI capital share, task-automation
|
||||
share).
|
||||
2. The channel self-reinforcement r_k (persistence of market leadership,
|
||||
platform tipping evidence).
|
||||
3. The wealth → influence conversion k_w (political-economy evidence on
|
||||
lobbying and influence).
|
||||
4. Durable capability formation `hform` and the ½ / ½ durable/current split
|
||||
(human-capital literature on the persistence of early education).
|
||||
|
||||
## Sources
|
||||
|
||||
- Li, W. C. Y. & Hall, B. H. (2020). Depreciation of Business R&D Capital. *Review of Income and Wealth* 66(1): 161–180. https://www.bea.gov/research/papers/2016/depreciation-business-rd-capital
|
||||
- BEA, Estimation of Software in the US National Accounts. https://www.bea.gov/sites/default/files/2018-05/Estimation-of-Software-in-the-US-National-Accounts.pdf
|
||||
- Software depreciation schedule (CBO-based summary). https://www.route-fifty.com/digital-government/2002/05/by-the-numbers/286193/
|
||||
- AI GPU economic life: https://siliconangle.com/2025/11/22/resetting-gpu-depreciation-ai-factories-bend-dont-break-useful-life-assumptions/ ; https://drops.mts.now/ai-capex/wiki/economics/gpu-depreciation/
|
||||
- BLS American Time Use Survey. https://www.bls.gov/news.release/PDF/atus.pdf
|
||||
|
|
@ -12,7 +12,8 @@ exploratory: they generate hypotheses and are not established results.
|
|||
| [GADM-CLD.md](GADM-CLD.md) | v0.1 | causal-loop diagram, loops, signed link table (ASSEMBLY-WP-0004-T01/T02) |
|
||||
| [GADM-0.2.md](GADM-0.2.md) | GADM-0.2 | extensions decision, equations, scenario and sensitivity findings (ASSEMBLY-WP-0004) |
|
||||
| [GADM-0.3.md](GADM-0.3.md) | GADM-0.3 | power channels (P1/P2) wealth separated from power (P3), attention recalibration, organism grid, life-cycle cohorts (ASSEMBLY-WP-0005) |
|
||||
| [GADM-0.4.md](GADM-0.4.md) | in development | durable human capability (ASSEMBLY-WP-0006-T01) |
|
||||
| [GADM-0.4.md](GADM-0.4.md) | in development | durable human capability, grounded organism depreciation (ASSEMBLY-WP-0006) |
|
||||
| [ParameterGrounding.md](ParameterGrounding.md) | v0.1 | which parameters are grounded, bracketed, assumed or calibrated |
|
||||
| [GADM-0.3-Candidates.md](GADM-0.3-Candidates.md) | outline | life-cycle and power extensions, deferred items (ASSEMBLY-WP-0004-T08) |
|
||||
|
||||
## Conventions
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ model version it implements.
|
|||
| `gadm02/` | GADM-0.2 (`models/GADM-0.2.md`) | `run_scenarios.py`, `sensitivity.py`, `gsa.py`, `test_gadm02.py` |
|
||||
| `gadm02/gadm03.py` | GADM-0.3: power channels, wealth, attention (`models/GADM-0.3.md`) | `power_channels.py`, `wealth.py`, `organism_grid.py`, `test_gadm03.py` |
|
||||
| `gadm02/gadm03c.py` | GADM-0.3 with life-cycle cohorts (`models/GADM-0.3.md` § 5) | `life_cycle.py`, `test_gadm03c.py` |
|
||||
| `gadm02/gadm04.py` | GADM-0.4 (in development): durable capability (`models/GADM-0.4.md`) | `life_cycle.py --model gadm04`, `test_gadm04.py` |
|
||||
| `gadm02/gadm04.py` | GADM-0.4 (in development): durable capability (`models/GADM-0.4.md`) | `life_cycle.py --model gadm04`, `robustness.py`, `test_gadm04.py` |
|
||||
|
||||
Python 3.10+, standard library only. Use `python3 -B` after quick edits: a stale
|
||||
bytecode cache can mask same-size changes made within the same second.
|
||||
|
|
|
|||
|
|
@ -44,6 +44,11 @@ PARAMS.update({
|
|||
"dDd": 0.04, # very old
|
||||
"ll": 0.005, # lifelong durable formation for working-age adults
|
||||
"lbl": 1.0, # strength of "learning begets learning" (0 = off)
|
||||
# T02 grounding: organism capability depreciates like software / R&D / AI
|
||||
# hardware (geometric 0.15-0.35 per year), not 0.06. Investment, learning and
|
||||
# seeding are rescaled by 3.33 so the baseline organism path stays as before
|
||||
# (K_Omega ~0.46 at t=25, ~0.37 at t=100): evidence changes the timescale.
|
||||
"dO": 0.20, "aO": 0.50, "ell": 0.83, "oseed": 0.033,
|
||||
})
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ t = 100 years. Ageing demography: births at 75 % of replacement.
|
|||
|
||||
| Demography | T_g (tg) | seniors + very old (share, t=100) | H (t=0) | H (t=100) | ΔH |
|
||||
|---|---|---|---|---|---|
|
||||
| stable | 0.00 | 0.26 | 0.502 | 0.463 | -0.039 |
|
||||
| stable | 0.05 | 0.26 | 0.502 | 0.469 | -0.034 |
|
||||
| stable | 0.15 | 0.26 | 0.502 | 0.479 | -0.023 |
|
||||
| ageing | 0.00 | 0.29 | 0.502 | 0.456 | -0.047 |
|
||||
| ageing | 0.05 | 0.29 | 0.502 | 0.462 | -0.041 |
|
||||
| ageing | 0.15 | 0.29 | 0.502 | 0.473 | -0.029 |
|
||||
| stable | 0.00 | 0.26 | 0.502 | 0.464 | -0.038 |
|
||||
| stable | 0.05 | 0.26 | 0.502 | 0.470 | -0.033 |
|
||||
| stable | 0.15 | 0.26 | 0.502 | 0.480 | -0.022 |
|
||||
| ageing | 0.00 | 0.29 | 0.502 | 0.457 | -0.046 |
|
||||
| ageing | 0.05 | 0.29 | 0.502 | 0.463 | -0.040 |
|
||||
| ageing | 0.15 | 0.29 | 0.502 | 0.474 | -0.028 |
|
||||
|
||||
## L2: care load and attention
|
||||
|
||||
|
|
@ -21,14 +21,14 @@ initial cohort attention is not at its own equilibrium).
|
|||
|
||||
| Demography | care_sen (seniors' care share) | cp | A working age | A seniors | care load per working-age person | per senior |
|
||||
|---|---|---|---|---|---|---|
|
||||
| stable | 0.1 | 0.00 | 0.399 | 0.438 | 0.0432 | 0.0144 |
|
||||
| stable | 0.1 | 0.15 | 0.441 | 0.465 | 0.0238 | 0.0079 |
|
||||
| stable | 0.3 | 0.00 | 0.417 | 0.395 | 0.0336 | 0.0432 |
|
||||
| stable | 0.3 | 0.15 | 0.452 | 0.439 | 0.0185 | 0.0238 |
|
||||
| ageing | 0.1 | 0.00 | 0.402 | 0.443 | 0.0407 | 0.0128 |
|
||||
| ageing | 0.1 | 0.15 | 0.443 | 0.467 | 0.0224 | 0.0070 |
|
||||
| ageing | 0.3 | 0.00 | 0.420 | 0.403 | 0.0317 | 0.0383 |
|
||||
| ageing | 0.3 | 0.15 | 0.454 | 0.444 | 0.0174 | 0.0210 |
|
||||
| stable | 0.1 | 0.00 | 0.402 | 0.442 | 0.0432 | 0.0144 |
|
||||
| stable | 0.1 | 0.15 | 0.444 | 0.469 | 0.0238 | 0.0079 |
|
||||
| stable | 0.3 | 0.00 | 0.420 | 0.398 | 0.0336 | 0.0432 |
|
||||
| stable | 0.3 | 0.15 | 0.456 | 0.442 | 0.0185 | 0.0238 |
|
||||
| ageing | 0.1 | 0.00 | 0.405 | 0.447 | 0.0407 | 0.0128 |
|
||||
| ageing | 0.1 | 0.15 | 0.446 | 0.472 | 0.0224 | 0.0070 |
|
||||
| ageing | 0.3 | 0.00 | 0.423 | 0.406 | 0.0317 | 0.0383 |
|
||||
| ageing | 0.3 | 0.15 | 0.458 | 0.448 | 0.0174 | 0.0210 |
|
||||
|
||||
## L3: lag from education to working-age capability
|
||||
|
||||
|
|
@ -37,15 +37,15 @@ Run difference: education intensity 1.5 vs. 1.0, everything else equal.
|
|||
| t | ΔH children | ΔH working age | ΔH aggregate |
|
||||
|---|---|---|---|
|
||||
| 0 | +0.000 | +0.000 | +0.000 |
|
||||
| 5 | +0.071 | +0.004 | +0.018 |
|
||||
| 5 | +0.070 | +0.004 | +0.018 |
|
||||
| 10 | +0.085 | +0.010 | +0.025 |
|
||||
| 15 | +0.084 | +0.015 | +0.027 |
|
||||
| 20 | +0.081 | +0.018 | +0.029 |
|
||||
| 25 | +0.080 | +0.020 | +0.030 |
|
||||
| 30 | +0.079 | +0.022 | +0.032 |
|
||||
| 40 | +0.079 | +0.025 | +0.034 |
|
||||
| 50 | +0.079 | +0.027 | +0.036 |
|
||||
| 75 | +0.080 | +0.030 | +0.039 |
|
||||
| 15 | +0.085 | +0.015 | +0.028 |
|
||||
| 20 | +0.083 | +0.018 | +0.029 |
|
||||
| 25 | +0.081 | +0.021 | +0.031 |
|
||||
| 30 | +0.080 | +0.023 | +0.032 |
|
||||
| 40 | +0.080 | +0.026 | +0.034 |
|
||||
| 50 | +0.080 | +0.028 | +0.036 |
|
||||
| 75 | +0.080 | +0.031 | +0.039 |
|
||||
| 100 | +0.081 | +0.032 | +0.040 |
|
||||
|
||||
Half of the final effect is reached after 3 years for children and 17 years for working-age capability.
|
||||
|
|
|
|||
16
simulations/gadm02/results/robustness.md
Normal file
16
simulations/gadm02/results/robustness.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# GADM-0.4-dev: robustness of key readings
|
||||
|
||||
Generated by `simulations/gadm02/robustness.py`. t = 100 years.
|
||||
Readings checked: (1) scenario VFAC ranking (Spearman ρ against the grounded
|
||||
variant), (2) generative regime lowest P, (3) organism lever order on the
|
||||
baseline background, (4) P3: full wealth tax lowers P by < 0.06 in the
|
||||
membrane/lineage-dominated case.
|
||||
|
||||
| Variant | best scenario | worst scenario | ρ ranking | generative P | lineage / membrane / attention effect | lever order holds | P3 ΔP | P3 holds |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| old dO = 0.06 | Generative regime (0.660) | Automated capitalism (0.264) | 1.00 | 0.11 (lowest) | +0.127 / +0.086 / +0.031 | yes | -0.055 | yes |
|
||||
| grounded dO = 0.20 | Generative regime (0.665) | Automated capitalism (0.263) | 1.00 | 0.10 (lowest) | +0.123 / +0.084 / +0.032 | yes | -0.055 | yes |
|
||||
| grounded, r = 0.15 | Generative regime (0.653) | Automated capitalism (0.284) | 0.98 | 0.15 (lowest) | +0.115 / +0.063 / +0.032 | yes | -0.035 | yes |
|
||||
| grounded, r = 0.45 | Generative regime (0.671) | Automated capitalism (0.255) | 1.00 | 0.08 (lowest) | +0.126 / +0.094 / +0.033 | yes | -0.078 | no |
|
||||
| grounded, k_w = 0.02 | Generative regime (0.665) | Automated capitalism (0.261) | 1.00 | 0.10 (lowest) | +0.120 / +0.082 / +0.032 | yes | -0.038 | yes |
|
||||
| grounded, k_w = 0.20 | Generative regime (0.663) | Automated capitalism (0.273) | 1.00 | 0.11 (lowest) | +0.126 / +0.082 / +0.032 | yes | -0.046 | yes |
|
||||
91
simulations/gadm02/robustness.py
Normal file
91
simulations/gadm02/robustness.py
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
"""Robustness of key GADM readings to grounded and bracketed parameters (T02).
|
||||
|
||||
Variants: GADM-0.4 with the old organism depreciation (dO = 0.06), with the
|
||||
grounded value (dO = 0.20, rescaled), and the grounded value with brackets on
|
||||
the ungrounded channel self-reinforcement r and wealth conversion k_w. Channel
|
||||
counters are recalibrated for every variant so each starts in equilibrium.
|
||||
|
||||
Usage: python3 -B simulations/gadm02/robustness.py
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import itertools
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
sys.dont_write_bytecode = True
|
||||
|
||||
import gadm03 as g3 # noqa: E402
|
||||
import gadm04 as g # noqa: E402
|
||||
from scenarios import load_all # noqa: E402
|
||||
|
||||
OUT = Path(__file__).resolve().parent / "results"
|
||||
R_KEYS = ("r_m", "r_i", "r_mem", "r_lin", "r_pol")
|
||||
OLD_DO = {"dO": 0.06, "aO": 0.15, "ell": 0.25, "oseed": 0.01}
|
||||
|
||||
|
||||
def variant(extra: dict) -> dict:
|
||||
return {**extra, **g3.calibrate(extra)}
|
||||
|
||||
|
||||
VARIANTS = [
|
||||
("old dO = 0.06", variant(OLD_DO)),
|
||||
("grounded dO = 0.20", variant({})),
|
||||
("grounded, r = 0.15", variant({**{k: 0.15 for k in R_KEYS}, "r_d": 0.2})),
|
||||
("grounded, r = 0.45", variant({**{k: 0.45 for k in R_KEYS}, "r_d": 0.6})),
|
||||
("grounded, k_w = 0.02", variant({"k_w": 0.02})),
|
||||
("grounded, k_w = 0.20", variant({"k_w": 0.20})),
|
||||
]
|
||||
GRID = {"lineage": ({"L": 0.1, "lin_open": 0.1}, {"L": 0.8, "lin_open": 0.8}),
|
||||
"membrane": ({"m": 0.2}, {"m": 0.8}),
|
||||
"attention": ({"x_att": 0.9}, {"x_att": 0.2})}
|
||||
|
||||
|
||||
def main() -> None:
|
||||
OUT.mkdir(exist_ok=True)
|
||||
scs = load_all()
|
||||
names = list(scs)
|
||||
ref_rank = None
|
||||
lines = [f"# {g.MODEL_VERSION}: robustness of key readings", "",
|
||||
"Generated by `simulations/gadm02/robustness.py`. t = 100 years.",
|
||||
"Readings checked: (1) scenario VFAC ranking (Spearman ρ against the grounded",
|
||||
"variant), (2) generative regime lowest P, (3) organism lever order on the",
|
||||
"baseline background, (4) P3: full wealth tax lowers P by < 0.06 in the",
|
||||
"membrane/lineage-dominated case.", "",
|
||||
"| Variant | best scenario | worst scenario | ρ ranking | generative P | lineage / membrane / attention effect | lever order holds | P3 ΔP | P3 holds |",
|
||||
"|---|---|---|---|---|---|---|---|---|"]
|
||||
rows = []
|
||||
for label, prm in VARIANTS:
|
||||
res = {n: g.simulate({**scs[n]["params"], **prm}, scs[n]["init"])[-1] for n in names}
|
||||
order = sorted(names, key=lambda n: -res[n]["VFAC"])
|
||||
rank = {n: i for i, n in enumerate(order)}
|
||||
rows.append((label, prm, res, order, rank))
|
||||
ref_rank = rows[1][4]
|
||||
k = len(names)
|
||||
for label, prm, res, order, rank in rows:
|
||||
rho = 1 - 6 * sum((rank[n] - ref_rank[n]) ** 2 for n in names) / (k * (k * k - 1))
|
||||
gen_lowest = min(names, key=lambda n: res[n]["P"]) == "generative_regime"
|
||||
base = scs["baseline"]
|
||||
out = {}
|
||||
for lv in itertools.product((0, 1), repeat=3):
|
||||
p = {**base["params"], **prm}
|
||||
for ax, l in zip(GRID, lv):
|
||||
p.update(GRID[ax][l])
|
||||
out[lv] = g.simulate(p, base["init"])[-1]["VFAC"]
|
||||
eff = [sum((1 if lv[i] else -1) * v for lv, v in out.items()) / 4 for i in range(3)]
|
||||
order_ok = eff[0] > eff[1] > eff[2] > 0
|
||||
mem = scs["generative_concentrated_lineages"]
|
||||
p0 = g.simulate({**mem["params"], **prm, "wtax": 0.0}, mem["init"])[-1]["P"]
|
||||
p1 = g.simulate({**mem["params"], **prm, "wtax": 1.0}, mem["init"])[-1]["P"]
|
||||
lines.append(f"| {label} | {scs[order[0]]['title']} ({res[order[0]]['VFAC']:.3f}) | "
|
||||
f"{scs[order[-1]]['title']} ({res[order[-1]]['VFAC']:.3f}) | {rho:.2f} | "
|
||||
f"{res['generative_regime']['P']:.2f}{' (lowest)' if gen_lowest else ''} | "
|
||||
f"{eff[0]:+.3f} / {eff[1]:+.3f} / {eff[2]:+.3f} | {'yes' if order_ok else 'no'} | "
|
||||
f"{p1 - p0:+.3f} | {'yes' if p0 - p1 < 0.06 else 'no'} |")
|
||||
(OUT / "robustness.md").write_text("\n".join(lines) + "\n")
|
||||
print("\n".join(lines))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -38,7 +38,7 @@ education-formed component next to the current one, then re-test L3.
|
|||
|
||||
```task
|
||||
id: ASSEMBLY-WP-0006-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "d4603db8-b302-5f86-ac75-649f82b6a43e"
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue