V2.44 - Dynamical Causal Set Growth — Report
V2.44: Dynamical Causal Set Growth — Report
Status: SKELETON (6/6 tests pass, core algorithms only)
Objective
Grow causal sets by maximizing channel capacity deficit instead of sprinkling into a known manifold. This eliminates the sprinkling circularity entirely: no embedding manifold is needed after the initial seed.
Why This Matters
Every experiment from V2.01 to V2.43 begins by sprinkling points into a known spacetime (flat 1+1D Minkowski). This is the one remaining circularity: we use conformal structure (the light cone) to define the causal order, which presupposes knowledge of the background geometry.
V2.44 proposes a fundamentally different approach: start with a small seed causal set and grow it by adding points where the channel capacity deficit is largest. If the universe selects causal sets that maximize quantum information capacity, the resulting geometry should be the one satisfying Einstein’s equations — without ever specifying a background.
This is the deepest test of the conjecture: does the capacity principle generate spacetime?
Approach
Sequential Growth Model
Based on Rideout-Sorkin dynamics: new points are added one at a time, with each new point’s causal relations to existing points determined by:
- Random (baseline): Uniform sampling in the causal diamond, equivalent to sprinkling one more point
- Capacity-weighted (target, not yet implemented): Prefer regions where the capacity deficit (deviation from Gamma* = 1) is largest
Geometry Checks
After growth, check whether the resulting causal set has emergent spacetime:
- Myrheim-Meyer dimension: Estimate d from ratio of causal relations to total pairs. Target: 1.9 < d < 2.1 for 1+1D
- Maximal chain lengths: Should scale as N^{1/d} for d-dimensional spacetime
- BD eigenspectrum: The BD d’Alembertian should have properties consistent with a flat-space d’Alembertian
Components Implemented
1. propose_new_point(C, points, rng, L)
Samples a candidate point uniformly in the causal diamond and computes causal relations with all existing points. Returns updated C and points.
2. grow_causal_set(C_initial, points_initial, n_new_points, L, seed, growth_rule)
Sequential growth driver. Currently implements “random” rule only. Adds points one at a time, recording growth history.
3. myrheim_meyer_dimension(C)
Estimates dimension from causal fraction f = (causal pairs)/(total pairs). Uses binary search to invert the Myrheim-Meyer relation:
f = Gamma(d+1) * Gamma(d/2) / (2 * Gamma(3d/2))
Bug fixed: original binary search had inverted comparison (mm_fraction decreases with d, not increases).
4. check_emergent_geometry(C, points, rho)
Runs all three geometry tests (dimension, chains, BD) and reports whether emergent spacetime is detected.
5. run_dynamical_growth(N_seed, N_target, L, seed)
Full experiment: seed -> grow -> check geometry -> compare with sprinkled reference.
6. capacity_deficit(C, W, rho, target_gamma) [SKELETON]
Returns global deficit only. Per-point deficit requires chain-based QFI from V2.43, which is computationally intensive. This is the main piece of future work.
Test Results
All 6 tests pass:
| Test | Status | What it checks |
|---|---|---|
| test_propose_new_point | PASS | New point has correct causal relations |
| test_grow_causal_set | PASS | Growth produces correct N_final |
| test_myrheim_meyer_flat | PASS | Sprinkled flat set has d ~ 2.0 |
| test_grown_vs_sprinkled | PASS | Grown and sprinkled have similar d |
| test_check_emergent_geometry | PASS | Geometry checker runs without error |
| test_non_circularity | PASS | Growth steps are metric-free |
Non-Circularity Audit
| Step | Name | Metric-Free? | Note |
|---|---|---|---|
| 1 | Seed causal set | Conformal | Uses sprinkling; future: hand-built seed |
| 2 | Sequential growth | Yes | Growth uses C + capacity only |
| 3 | Capacity deficit | Yes | From SJ vacuum, no coordinates |
| 4 | Geometry check | Yes | Myrheim-Meyer, chains, BD |
Score: 3/4 metric-free. Step 1 uses sprinkling for the seed. In the full version, a hand-built seed (e.g., a path graph or small known causal set) would eliminate all circularity.
What Remains (Estimated 2-4 weeks)
-
Per-point capacity deficit. The current skeleton only computes global deficit. The capacity-weighted growth rule requires evaluating Gamma* locally around each point, which needs chain-based QFI (V2.43) at each growth step. This is the computational bottleneck.
-
Capacity-weighted growth rule. Once per-point deficit is available, modify
propose_new_pointto preferentially add points near high-deficit regions. This requires a proposal-acceptance scheme (Metropolis-like or direct importance sampling). -
Large-N growth. Current random growth at N=200 takes < 1 second. Capacity-weighted growth at N=1000+ will require significant optimization (caching SJ vacuum, incremental BD updates).
-
Hand-built seed. Replace sprinkled seed with a small causal set constructed from pure order theory (e.g., a crown poset or tower of antichain layers), eliminating the last conformal input.
-
Full Gamma evaluation on grown set.* After growth, run the V2.41 pipeline on the grown causal set to verify that Gamma* -> 1.0 without any sprinkling bias.
Limitations
- Skeleton only. The capacity-weighted growth rule is not implemented. Current growth is equivalent to sequential sprinkling.
- Global deficit only. Per-point deficit requires chain-based QFI, which is expensive.
- Small N. Growth to N=200 works; N=1000+ untested with full pipeline.
- Seed uses sprinkling. The initial causal set still uses conformal structure.
- Random growth = sprinkling. Without capacity weighting, the grown set is statistically identical to a sprinkled set. The baseline confirms infrastructure works but doesn’t test the physics.
Test Coverage
6/6 tests pass: point proposal, growth driver, Myrheim-Meyer dimension, grown vs sprinkled comparison, geometry checker, non-circularity audit.