Horizon-Dependent Error Tubes for Recurrent Rollouts
Implementation & benchmark of arXiv:2608.08921 — Horizon-Dependent Tube MPC for Spacecraft Rendezvous on Elliptical Orbits with Conditional Robust Constraint Satisfaction
Source paper: Horizon-Dependent Tube MPC for Spacecraft Rendezvous on Elliptical Orbits with Conditional Robust Constraint Satisfaction arXiv:2608.08921 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Wrap an RNN, neural state-space model, or recurrent world model with an element-wise uncertainty tube that is propagated separately at every future step. Use the resulting tube to tighten output constraints or penalize predictions whose uncertainty reaches unsafe regions, avoiding the excessive conservatism of a single worst-case bound shared by all horizons.
Formulas
Mathematical statement
Let the nominal recurrent dynamics be $h_{j+1}=f_\theta(h_j,u_j)$ and let $\hat h_j$ be the nominal rollout. Linearize the perturbed rollout with respect to hidden-state error $e_j=h_j-\hat h_j$: $e_{j+1}\approx A_j e_j+w_j$, where $A_j=\partial f_\theta/\partial h$ evaluated at $(\hat h_j,u_j)$ and $w_j$ is an additive bound containing observation noise, model error, quantization error, and linearization residuals. For element-wise absolute bounds $\bar e_j\ge |e_j|$, propagate $\bar e_{j+1}=|A_j|\bar e_j+\bar w_j$ with $\bar e_0$ equal to the initial-state error bound. If $|A_j|\le M$ element-wise and the nonnegative matrix $M$ satisfies $\rho(M)<1$, then the tube is bounded by $\bar e_\infty\le(I-M)^{-1}\bar w$, where $\rho$ is spectral radius. For an output $y_j=g_\theta(h_j)$ with element-wise Jacobian bound $G_j$, tighten a constraint $y_j\in[y_{\min},y_{\max}]$ to $g_\theta(\hat h_j)\in[y_{\min}+G_j\bar e_j,y_{\max}-G_j\bar e_j]$.
Implementation notes
1. Integration point: apply this wrapper to a GRU, vanilla RNN, or diagonal/low-rank SSM used for multi-step forecasting or world-model rollouts. Keep the network's nominal hidden state and add a parallel nonnegative vector ebar; do not sample trajectories during the first implementation. At each rollout step, compute or upper-bound the hidden Jacobian $A_j$. For a GRU, use automatic differentiation followed by interval or absolute-value bounds; for a diagonal SSM, use the exact diagonal transition magnitudes. Estimate $\bar w_j$ from a held-out residual quantile, sensor-noise specification, or injected quantization noise. 2. Pseudocode: initialize h=encoder(x0), ebar=initial_error; for j in range(H), compute h_next=f_theta(h,u[j]), compute A_abs=abs(jacobian(f_theta,h)) or a conservative bound, set ebar=A_abs@ebar+wbar[j], compute output margin margin=G_abs@ebar, and either reject or tighten unsafe predictions or add lambda*relu(margin-|constraint slack|)^2 to the loss. Estimate a uniform certificate matrix $M$ by taking element-wise maxima of $|A_j|$ over training rollouts, or use a blockwise local $M$. 3. From the paper, the required mechanism is the element-wise recursion and Perron–Frobenius condition; Jacobian bounds and disturbance quantiles are empirical estimates. 4. First cheap experiment: train a small GRU on noisy sine-wave or Lorenz forecasting and compare ordinary rollout training with tube-regularized training at horizons 1--100. Scale recurrent gain by a factor $\alpha$ and measure $\rho(M)$. The quantitative prediction is a sharp transition near $\rho(M)=1$: for $\rho(M)<1$, median propagated error should plateau at approximately $(I-M)^{-1}\bar w$; for $\rho(M)>1$, it should grow exponentially with slope close to $\log\rho(M)$, and the measured long-horizon violation rate should increase sharply across this boundary.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
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 element-wise error-tube propagator and verified its core math numerically. The predicted boundary alpha=1/rho(B)=1.28205 was observed: rho=0.99 remained bounded over the finite horizon, rho=1.01 grew, and measured log-growth at rho=1.05/1.20 was 0.04930/0.18232 versus predictions 0.04879/0.18232. Below the boundary, the propagated tube converged to (I-A)^(-1)w with 0.2% relative error at rho=0.95; near-boundary (1-rho)*plateau stayed 0.0247--0.0282. In the time-varying comparison, a single worst-case matrix produced a final tube 1.78x larger than local horizon-dependent propagation. Random bounded disturbances had zero bound violations. This is a clear toy mechanism win, not evidence of improved trained-RNN forecasting.
- Agent confidence
- 9/10
- Baseline
- Shared element-wise worst-case matrix: final tube sum 0.25160; mean shared/local ratio 1.575; final ratio 1.777.
- Idea
- Horizon-dependent local recursion: final tube sum 0.14158. Boundary predicted alpha=1.28205 and observed between rho=0.99 bounded and rho=1.01 growing; growth slope at rho=1.05: observed 0.04930 vs predicted 0.04879, at rho=1.20: 0.18232 vs 0.18232; plateau relative error at rho=0.95: 0.00204; max random bound violation: 0.0.
Limitations: Only a deterministic 2D linear positive-system toy was tested; no GRU/SSM training, learned Jacobian estimation, noisy sine/Lorenz forecasting, constraint-violation rate, FLOPs, or GPU experiment was evaluated. The exact rho=1 case was assessed over a finite horizon, so divergence is inferred from continued growth rather than an infinite-time computation.
How to run: python3 tube_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.08921)
Ahead of the baseline (−11.7%) but not statistically significant (p=0.1998, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0005
- Idea mean
- 0.0005
- Effect (Δ)
- -0.0001 (−11.7%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.1998 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±19.9%
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 4 configs
Only the registered built-in dynamics track was tested. The GRU Jacobian estimate is a practical row-sum proxy rather than an exact autodiff/interval bound; the MVP did not test longer-horizon forecasting, explicit output constraint tightening, or violation-rate reduction. The auxiliary signature probe used CPU after a shared-GPU cuDNN allocation failure, while benchmark training retained the harness fallback.
How to run: python3 stage2_tube_bench.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
Built and evaluated the horizon-dependent error-tube regularized GRU on the registered built-in dynamics track. The idea improved mean test MSE from 0.00052839 to 0.00046642, but the paired permutation test was not significant (p=0.19985), so the required benchmark verdict is no significant win. The trained-model mechanism signature was quantitatively confirmed, with observed/predicted hidden-change ratio 1.582.
- Baseline
- 8-seed mean test MSE 0.0005283926293; tuned lr=0.006, weight_decay=0
- Idea
- 8-seed mean test MSE 0.0004664150802; matched GRU tube penalty, best shared lr=0.006, weight_decay=0; delta=-0.0000619775492, p=0.19985
Benchmark result
Ahead of the baseline (−11.7%) but not statistically significant (p=0.1998, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0005
- Idea mean
- 0.0005
- Effect (Δ)
- -0.0001 (−11.7%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.1998 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±19.9%
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 4 configs
Only the registered built-in dynamics track was tested. The GRU Jacobian estimate is a practical row-sum proxy rather than an exact autodiff/interval bound; the MVP did not test longer-horizon forecasting, explicit output constraint tightening, or violation-rate reduction. The auxiliary signature probe used CPU after a shared-GPU cuDNN allocation failure, while benchmark training retained the harness fallback.
How to run: python3 stage2_tube_bench.py
Artifacts
- bench_report.json 2.8 KB View Raw
- report.md 1.9 KB View
- report_bench_2026-09-01T101555.md 4.7 KB View
- results.json 3.6 KB View Raw
- stage2_tube_bench.py 6.5 KB View Raw
- tube_experiment.py 4.7 KB View Raw