sim08 β€” Density Cap

Open the interactive visualization β€” renders the grid heatmap (play/pause, step slider) and all metric charts from results.json.

One-line: Tests whether inhibiting deposition through a non-saturating channel (a hard density cap on the deposit action) consolidates the stigmergic structure where sim06/sim07's saturating-cue feedback fragmented it. Direct test of H11, the Saturating Channel Hypothesis.

The hypothesis under test

H11 says negative feedback delivered through the saturating pheromone cue field (p = base + gainΒ·Ο†/(1+Ο†), flat above Ο†β‰ˆ1) is self-defeating: it destroys the spatial contrast consolidation needs. Two prior attempts both fragmented (sim06 self-maintenance: 66–109 β†’ 219–297 components; sim07 transport: 57 β†’ 128 pillars), both acting through the cue. The refined prescription: act on the action (deposit probability) via a channel that does not saturate. sim08 tests the cheapest such channel β€” a density cap: a cell whose material β‰₯ DENSITY_CAP cannot receive deposits. The cap is a hard boolean gate on the action, so it stays discriminating however high the pheromone field climbs.

Biological basis: real termites use non-saturating geometric (curvature), humidity (threshold), and crowding (mechanical) channels β€” not a saturating cement pheromone, which no study has identified. See concepts/non-saturating-channels.md.

What it does

Reuses sim06's tested machinery (Field, Termites, field dynamics, metrics, crossing detector, morphology) unchanged. The only change is one clause in the deposit rule: eligible = cell_material < density_cap. Movement, reload, pickup, decay, diffusion, erosion, the detector, and all metrics are identical to sim06 β€” so the comparison is apples-to-apples. Four conditions:

  • baseline β€” sim06's saturating GrassΓ© rule, no cap, no maintenance.
  • self_maintenance β€” sim06's cue-based feedback (the condition that fragmented).
  • density_cap β€” GrassΓ© rule + non-saturating cap (the H11 test).
  • cap_plus_self_maintenance β€” cap + cue feedback (does the cap rescue the cue loop?).

Results

Condition comparison (default DENSITY_CAP=4.0)

conditioncellspillarsstabilityretentioncrossedcapped(total)
baseline11311010.8740.958no0
self_maintenance18762520.7750.980no0
density_cap1040770.8720.952no105,694
cap + self_maintenance18902620.7630.984no10,271

Density-cap sweep (cap strength β†’ morphology)

density_capcellspillarsstabilityretentioncrossedcompactnessmax_pheromone
1.5619520.7750.943no0.0632.50
2.0856580.8220.979no0.0863.28
2.5918630.8510.967no0.093β€”
3.0954670.8590.956no0.098β€”
4.01040770.8720.952no0.1044.66
6.01129830.8770.978no0.1135.95
8.01156750.8740.984no0.1165.78
∞ (no cap)11311010.8740.958no0.1138.01

Interpretation

Partial corroboration of H11, with a sharper boundary.

  1. The cap consolidates morphology, monotonically β€” H11's direction is confirmed. Pillars fall from 101 β†’ 52 as the cap tightens. The cap also suppresses the pheromone field (max pheromone 8.01 β†’ 2.50) β€” exactly the "de-saturating the channel" effect H11 predicts: a non-saturating action-gate prevents the cue field from being driven flat. This is the positive result.

  2. But the cap does NOT produce the crossing. Stability does not rise β€” it degrades slightly at the tightest cap (0.874 β†’ 0.775). The detector never fires. The cap reduces building volume (1131 β†’ 619 cells) without raising persistence.

  3. The binding constraint survives the cap. sim06's near-miss was criterion 1 (stability 0.849–0.893 vs 0.90). sim08's cap holds stability at 0.77–0.88 β€” still below 0.90. The cap corrects the fragmentation symptom (pillars) but not the persistence symptom (stability). Non-saturating inhibition is necessary-but- not-sufficient for the crossing.

  4. The cap does NOT rescue cue-based feedback. cap+self_maintenance (262 pillars, stability 0.763) is if anything worse than self_maintenance alone (252, 0.775). Adding the cap to the saturating-cue loop does not fix it β€” consistent with H11's claim that the cue channel, not the feedback energy, is the problem.

What this refines

  • H11 confirmed in direction, sharpened in sufficiency. Non-saturating inhibition consolidates where saturating-cue feedback fragments β€” the prescription was right. But a cap that only limits growth cannot reach the crossing, because the crossing also needs persistence (the structure holding its mass against erosion). A pure limiter reduces mass; it doesn't recruit maintenance.
  • The crossing needs a non-saturating channel that RECRUITS, not just one that LIMITS. The curvature channel (Calovi 2019) does both: it routes deposition to concavities (limits scatter) AND each deposit extends the concavity (recruits further building at the edge). The density cap only limits. Candidate next experiment: a curvature/deposition-edge rule that routes AND limits.
  • H7's prescription narrows again. sim06: positive feedback alone insufficient. sim07: scalar cue-transport insufficient. sim08: non-saturating limitation insufficient. The crossing needs a non-saturating channel that also feeds back positively into its own maintenance β€” geometry that recruits, not just caps.

Method notes

  • Determinism verified (seed 42; reruns identical).
  • The cap is a genuine positive control: selftest asserts a fully-capped grid yields zero deposits and the same grid uncapped yields deposits > 0.
  • Reuses sim06's detector, which is proven able to fire (sim06 selftest Part 5). A null here is therefore informative, not an unfalsifiable detector.
  • All metrics, the crossing detector, and morphology functions are inherited unchanged from sim06; only the deposit rule's eligibility clause differs.

Files

  • sim08.py β€” the simulation (imports sim06 for the reused machinery).
  • results.json β€” four conditions + summaries (committed).
  • visualize.html β€” interactive Canvas view of the conditions and the sweep.
  • output/sweep_density_cap.json β€” the cap-strength sweep data.