Part of the Experiential Reality project — experimental validation of BLD (Boundary/Link/Dimension) theory.
Testing whether B/L/D structural mismatch predicts ELBO gaps in variational inference better than simple parameter count.
When approximating a posterior p(z|x) with a variational distribution q(z), the ELBO gap depends on the type of structural mismatch, not just parameter count:
| Mismatch Type | B/L/D Primitive | Prediction |
|---|---|---|
| Wrong modality | Boundary | Severe gap |
| Wrong correlation | Link | Moderate gap |
Core claim: Boundary mismatches hurt more than link mismatches, even when the variational family has similar or fewer parameters.
A mixture of two correlated 2D Gaussians:
- Boundary structure: Bimodal (2 modes at [-2,-2] and [2,2])
- Link structure: Strong correlation (rho=0.8) within each mode
| Family | Boundary | Link | Params | Expected Gap |
|---|---|---|---|---|
| Mixture Full-Cov | Correct | Correct | ~11 | Small |
| Single Full-Cov | Wrong | Correct | ~5 | Large |
| Mixture Diagonal | Correct | Wrong | ~9 | Medium |
| Single Diagonal | Wrong | Wrong | ~4 | Largest |
Single Full-Cov (~5 params) vs Mixture Diagonal (~9 params)
- Single Full-Cov has wrong boundary (unimodal) but correct links (correlated)
- Mixture Diagonal has correct boundary (bimodal) but wrong links (uncorrelated)
B/L/D predicts: Single Full-Cov has larger gap despite fewer parameters.
cd ~/src/bld-vi-experiment
pip install -e .python -m src.experimentThis runs 10 trials with different random seeds and outputs:
- Results table to console
- JSON results to
results/experiment_results.json
Open the Jupyter notebook for visualizations:
jupyter notebook notebooks/analysis.ipynbThe experiment reveals that B/L/D theory IS supported when properly understood:
| Separation | Correlation | B-gap | L-gap | Ratio | Winner |
|---|---|---|---|---|---|
| 1.0 | 0.3 | 0.03 | 0.04 | 0.71 | Link worse |
| 1.0 | 0.9 | 0.01 | 0.71 | 0.02 | Link worse |
| 3.0 | 0.3 | 0.65 | 0.05 | 12.3 | Boundary worse |
| 3.0 | 0.9 | 0.49 | 0.84 | 0.58 | Link worse |
| 6.0 | 0.3 | 1.98 | 0.05 | 37.4 | Boundary worse |
| 6.0 | 0.9 | 1.90 | 0.84 | 2.27 | Boundary worse |
The cost of structural mismatch is proportional to structure strength:
- Boundary mismatch cost ∝ mode_separation (how distinct the modes are)
- Link mismatch cost ∝ correlation (how strong within-mode dependencies are)
This means:
- When modes overlap (sep=1.0), boundary structure is weak → link mismatch dominates
- When modes are distinct (sep≥3.0) with weak correlation → boundary mismatch dominates
- When both structures are strong → the stronger one determines which mismatch is worse
The results support the B/L/D framework's core claim that cost emerges from alignment:
Cost(mismatch) = structure_strength × mismatch_penalty
The original hypothesis ("boundary always worse than link") was too simple. The refined understanding:
The cost of missing a structural primitive scales with how much of that structure exists in the target.
This is consistent with B/L/D's alignment theory: you can only pay a cost for structure that exists.
We achieved single-digit percentage errors with leave-one-out cross-validation:
B_gap = 0.060 × sep² / (1 + 0.22 × corr) [for sep ≥ 1.5]
L_gap = 0.488 × (-log(1 - corr²))
Leave-One-Out Validation Errors:
| Model | Mean Error | Max Error | Status |
|---|---|---|---|
| Boundary (sep ≥ 1.5) | 9.2% | 22.8% | ✅ PASS |
| Link | 7.3% | 20.7% | ✅ PASS |
Physical interpretation:
- Boundary model:
sep²captures KL divergence between modes; correlation attenuates the cost (correlated data is easier to interpolate across modes) - Link model:
-log(1 - corr²)is the Fisher information for correlation parameter; diverges as correlation → 1 - sep ≥ 1.5 constraint: Below this threshold, modes overlap significantly and boundary structure effectively doesn't exist
Testing on different distribution types confirms the decomposition is orthogonal:
| Distribution | B Structure | L Structure | B Cost | L Cost |
|---|---|---|---|---|
| Pure Boundary (sep=5, corr=0) | Strong | None | 1.58 | 0.00 |
| High Corr Single (corr=0.95) | None | Strong | 0.00 | 0.80 |
| 3-Mode Mixture | Strong | Medium | 0.45 | 0.19 |
Key result: Costs are independent and additive:
Total_gap ≈ B_cost + L_cost
Where each cost is 0 if that structure doesn't exist in the target.
Testing across dimensions (2D, 4D, 6D, 8D) with fixed sep=3.0, corr=0.6:
| Dim | B_cost | L_cost | # Correlations |
|---|---|---|---|
| 2 | 0.56 | 0.23 | 1 |
| 4 | 0.66 | 0.89 | 6 |
| 6 | 0.74 | 1.58 | 15 |
| 8 | 0.81 | 2.34 | 28 |
Scaling laws:
B_cost = 0.04 × dim + 0.49 (R² = 0.99) # Nearly constant
L_cost = 0.039 × dim² (R² = 0.95) # Quadratic
Interpretation:
- Boundary × Dimension: Weak interaction. Distinguishing 2 modes doesn't depend on how many dimensions you have.
- Link × Dimension: Quadratic interaction. Each pair of dimensions contributes a pairwise correlation (dim² pairs).
This confirms Dimension as an independent primitive that acts as a multiplier with different effects on B and L.
Testing the "diagonal Gaussian" (missing both B and L) reveals costs are not additive:
| Sep | Corr | B | L | B+L | Actual Both | Interaction |
|---|---|---|---|---|---|---|
| 1.5 | 0.2 | 0.15 | 0.02 | 0.17 | 0.57 | +0.40 |
| 2.5 | 0.5 | 0.42 | 0.15 | 0.57 | 1.42 | +0.85 |
| 3.5 | 0.8 | 0.69 | 0.52 | 1.21 | 2.39 | +1.18 |
| 4.5 | 0.8 | 1.08 | 0.52 | 1.60 | 2.86 | +1.26 |
Best fit model (R² = 0.98):
Both = 1.60*B + 1.47*L + 0.09*B*L + 0.41
Interpretation: Each cost is ~2x amplified when both primitives are missing. B and L interact synergistically - a diagonal unimodal Gaussian has no way to compensate (can't use correlation to span modes, can't use modes to capture correlation).
| Test | Result | Implication |
|---|---|---|
| corr=0 | L_cost → 0 | ✅ No link structure = no link cost |
| sep=0 | B_cost → 0 | ✅ No boundary structure = no boundary cost |
| corr=-0.6 | L_cost same as +0.6 | ✅ Sign invariant (uses corr²) |
| 3-4 modes | B_cost increases sublinearly | Boundary complexity saturates |
| 90/10 weights | B_cost decreases | Unequal weights = weaker boundary |
| Both missing | ~2× amplification | B and L interact synergistically |
bld-vi-experiment/
├── README.md # This file
├── CLAUDE.md # Detailed experimental design
├── pyproject.toml # Dependencies
├── src/
│ ├── __init__.py
│ ├── posteriors.py # True posterior definition
│ ├── families.py # Variational family implementations
│ └── experiment.py # Main experiment runner
├── notebooks/
│ └── analysis.ipynb # Visualization notebook
└── results/
└── experiment_results.json
B/L/D supported if:
- ✅ Mismatch cost scales with structure strength (not just parameter count)
- ✅ Boundary mismatch dominates when mode separation is large
- ✅ Link mismatch dominates when correlation is strong relative to separation
- ✅ Results follow predictable pattern based on structure strength
Original hypothesis (too simple):
- "Boundary mismatch is always worse" - FALSE in general
- This only holds when boundary structure is stronger than link structure
Refined understanding (supported):
- Mismatch cost = f(structure_strength, mismatch_type)
- Which mismatch is worse depends on relative structure strengths
- information-geometry — Main BLD theory and documentation
- bld-circuits — Circuit validation experiments
- bld-thermodynamics-test — Thermodynamics validation
Drew Ditthardt
With contributions from Claude (Anthropic).