Equation-addressable equilibrium layer
Implementation & benchmark of arXiv:2608.19831 — Causal Reasoning with Bipartite Graphical Causal Models
Source paper: Causal Reasoning with Bipartite Graphical Causal Models arXiv:2608.19831 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Build a recurrent or implicit neural layer from a bipartite graph containing variable nodes and equation or mechanism nodes, rather than a directed graph containing only variables. The forward pass solves all mechanism residuals simultaneously, while an intervention replaces one selected equation and fixes its target variable; this distinguishes interventions that impose the same value through different mechanisms. The resulting module is suitable for equilibrium world models, differentiable simulators, and RL environments with mechanism-level interventions.
Formulas
Mathematical statement
The paper represents a system using a bipartite graph G=(V,F,E), where V is the set of variable nodes, F is the set of equation nodes, and (v,f)∈E means that variable X_v occurs in equation f. A hard intervention is written do(f_j:X_v=ξ), meaning that the particular equation f_j is replaced while variable X_v is fixed to ξ. The equilibrium example uses f_1: 0=X_S-X_D, f_2: 0=βX_P+X_{U_S}-X_S, and f_3: 0=αX_P+X_{U_D}-X_D, with β>0>α. The graph's partial orientation maps an edge v--f to v→f when v is not equivalent to f and to an undirected edge v--f when v∼f; the undirected relation represents variables and equations belonging to the same endogenous cluster caused by feedback. A perfect matching M pairs each equation with one variable, for example M={f_1--X_S,f_2--X_P,f_3--X_D}, and identifies a square jointly solvable block. We use these objects to parameterize an implicit neural system F_θ(z,x)=0, where z∈R^n are latent equilibrium variables, x are inputs, and F_{θ,j} is the residual produced by mechanism j. For do(f_j:X_v=ξ), replace F_{θ,j}(z,x)=0 by z_v-ξ=0 while retaining all other residual equations. The intervention is therefore mechanism-specific instead of the usual ambiguous operation of merely clamping z_v.
Implementation notes
Integrate this at the forward pass of an implicit layer, equilibrium recurrent block, or world-model transition module. Let the layer expose n latent state variables z and m mechanism residuals F_theta(z,x), with one small MLP per equation node receiving the variables adjacent to that equation in the bipartite graph. First construct the fixed bipartite adjacency from the model configuration. Optionally compute a maximum matching between equation nodes and variable nodes; use the matched variable as the nominal output of each residual and identify connected feedback components as jointly solved blocks. For an observational forward pass, initialize z from the previous time step or a learned initializer and run damped Newton or Broyden iterations: compute r=F_theta(z,x), solve (J+lambda I)Delta=-r with J=partial F_theta(z,x)/partial z, and set z<-z+eta Delta. For an intervention do(f_j:X_v=xi), replace residual component j by z_v-xi exactly as in the fourth formula, and solve the modified system. Backpropagate with implicit differentiation, solving J^T u=partial L/partial z rather than unrolling every iteration. The paper supplies the graph construction, matching, and intervention semantics; estimate J with autodiff and use empirical damping lambda and eta for numerical stability. The first experiment should use a 3- to 10-variable synthetic equilibrium system with known interventions, comparing a standard variable-clamping recurrent network, a DAG MLP, and this equation-addressable layer. Train observationally, then evaluate held-out mechanism interventions and equilibrium residual error. Success means lower intervention prediction error at equal parameter count, fewer solver iterations, and correct separation of two interventions that clamp the same variable to the same value through different equations.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Inconclusive
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built a readable equation-addressable equilibrium layer for the three-variable bipartite system, including maximum matching, damped Newton solving, and exact mechanism-specific residual replacement. Numerical checks reproduced the predicted Newton behavior, and two interventions that both fix S=0.8 produced identical S but different downstream P values. Across 80 fixed-seed cases, the mechanism solver had mean state error 3.42e-16 versus 1.616 for an observational variable-clamping baseline, so the claimed mechanism distinction was clearly observed in this toy system.
- Agent confidence
- 9/10
- Baseline
- Variable-only observational clamp: mean intervention state error 1.6163475739511235 over 80 cases
- Idea
- Equation replacement: mean intervention state error 3.4238284121931226e-16, mean target error 5.570630762230521e-17, mean 2 solver iterations, max residual 5.389157964038493e-16; same-value f2/f3 interventions differed in downstream P by 1.7747252747252749
Limitations: This is an exact linear, zero-parameter toy equilibrium rather than a learned neural residual layer; it does not test MLP parameterization, training, implicit differentiation, nonlinear solver robustness, wall-clock speed, or generalization to held-out interventions.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.19831)
No significant difference vs. the tuned baseline (+14.1%, p=0.1829, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0077
- Idea mean
- 0.0088
- Effect (Δ)
- 0.0011 (+14.1%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.1829 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the built-in dynamics track was tested; no custom track, implicit Newton/Jacobian solve, multi-step intervention dataset, wall-clock comparison, or larger-scale world-model evaluation was run. The idea model also had 11043 parameters versus 3601 for the baseline, so this result does not establish equal-parameter superiority.
How to run: python3 bench_experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
Implemented and ran the full 8-seed Stage-2 dynamics benchmark with a baseline sweep and a three-setting idea sweep over the same learning-rate union. The idea's best test MSE was 0.008810 versus baseline 0.007724, with paired delta +0.001086 and permutation p=0.1829, so there was no significant win. The trained-model mechanism signature was not confirmed because intervention target errors were approximately 0.444, although downstream separation was 0.275.
- Baseline
- Best lr=0.003; mean test MSE 0.007723776740022004; std 0.0016993505269699558.
- Idea
- Best lr=0.01, 8 solver steps, residual step size 0.2; mean test MSE 0.008810116676613688; std 0.0023181915418372715.
- Idea wins
- 3/8 paired seeds
- Mechanism signature
- map[confirmed:false trained_model_downstream_separation:0.2748295068740845 trained_model_target_error_f0:0.44350090622901917 trained_model_target_error_f1:0.44543659687042236]
- Paired delta
- 0.0010863399365916848 (idea minus baseline; higher is worse)
- Permutation p value
- 0.1829
Benchmark result
No significant difference vs. the tuned baseline (+14.1%, p=0.1829, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0077
- Idea mean
- 0.0088
- Effect (Δ)
- 0.0011 (+14.1%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.1829 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the built-in dynamics track was tested; no custom track, implicit Newton/Jacobian solve, multi-step intervention dataset, wall-clock comparison, or larger-scale world-model evaluation was run. The idea model also had 11043 parameters versus 3601 for the baseline, so this result does not establish equal-parameter superiority.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 7.2 KB View Raw
- bench_report.json 5.7 KB View Raw
- experiment.py 5.5 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-09-02T163910.md 4.2 KB View
- results.json 2.1 KB View Raw