{
 "artifacts": [
  {
   "name": "bench_report.json",
   "url": "https://synthcore.org/code/1092/bench_report.json"
  },
  {
   "name": "bench_tube.py",
   "url": "https://synthcore.org/code/1092/bench_tube.py"
  },
  {
   "name": "report.md",
   "url": "https://synthcore.org/code/1092/report.md"
  },
  {
   "name": "report_bench_2026-09-02T002452.md",
   "url": "https://synthcore.org/code/1092/report_bench_2026-09-02T002452.md"
  },
  {
   "name": "results.json",
   "url": "https://synthcore.org/code/1092/results.json"
  },
  {
   "name": "tube_experiment.py",
   "url": "https://synthcore.org/code/1092/tube_experiment.py"
  }
 ],
 "category": "dynamics",
 "description": "Attach a robust, horizon-dependent uncertainty tube to a recurrent neural state-space model or learned policy. Instead of training only the nominal rollout, propagate state-estimation, model, and disturbance uncertainty through local Jacobians and impose a loss that keeps the tube inside task constraints. The method should be especially useful when short-horizon predictions are accurate but small Jacobian gains cause long-horizon divergence.",
 "download_zip": "https://synthcore.org/download/1092",
 "formulas_latex": [
  "$$\\mathbf{x}_{k+1}=A_k\\mathbf{x}_k+B_k\\mathbf{u}_k+\\mathbf{w}_k,\\qquad |\\mathbf{w}_k|\\leq\\bar{\\mathbf{w}}.$$",
  "$$r_{k+1}=|J_k|r_k+d_k,\\qquad J_k=\\left.\\frac{\\partial f_\\theta(z,u)}{\\partial z}\\right|_{(\\hat z_k,u_k)}.$$",
  "$$r_H=\\left(\\prod_{j=0}^{H-1}|J_j|\\right)r_0+\\sum_{i=0}^{H-1}\\left(\\prod_{j=i+1}^{H-1}|J_j|\\right)d_i.$$",
  "$$g(\\hat z_k)+\\|\\nabla g(\\hat z_k)\\|_1r_k\\leq0,\\qquad \\rho(J^{\\mathrm{cl}})\u003c1\\ \\text{predicts bounded asymptotic tubes}.$$"
 ],
 "id": 2765,
 "implementation": "1) Integration point: use a GRU, residual RNN, or neural state-space model with transition $z_{k+1}=f_\\theta(z_k,u_k)$. During training, maintain the nominal hidden state $\\hat z_k$ and an elementwise radius vector $r_k$; for a policy, include the policy derivative in the closed-loop Jacobian. 2) Pseudocode: initialize $\\hat z=E(o_0)$ and $r=r_0$; at each step compute $u=\\pi_\\phi(\\hat z)$, update $\\hat z\\leftarrow f_\\theta(\\hat z,u)$, obtain $J$ by automatic differentiation, update $r\\leftarrow |J|r+d$, and add $\\lambda_r\\|r\\|_1$ plus penalties for violated robust constraints $g(\\hat z)+|\\nabla g|r\u003e0$ to the ordinary prediction loss. Stop gradients through $r$ initially if memory is limiting. 3) Compute the tube recursion and Jacobians exactly; estimate $d_k$ from held-out transition-residual quantiles, and estimate $r_0$ from repeated encoder evaluations or initial-state uncertainty. Use a high residual quantile such as 99%. 4) First cheap experiment: train a small GRU world model on CartPole or a nonlinear pendulum with injected observation and transition noise, comparing ordinary multi-step training with tube-regularized training at equal parameter count. Sweep rollout horizon and a scalar Jacobian-gain multiplier. The quantitative prediction is a sharp change near the measured spectral-radius boundary $\\rho(J^{\\mathrm{cl}})=1$: below it, median $r_k$ should plateau; above it, $\\log r_k$ should grow with slope approximately $\\log\\rho(J^{\\mathrm{cl}})$. Constraint violations should decrease when robust backoff inequalities hold.",
 "math_summary": "The paper uses a time-varying model $\\mathbf{x}_{k+1}=A_k\\mathbf{x}_k+B_k\\mathbf{u}_k+\\mathbf{w}_k$, where $\\mathbf{x}_k$ is the state, $\\mathbf{u}_k$ the control, $A_k$ and $B_k$ vary with phase, and the bounded disturbance satisfies $|\\mathbf{w}_k|\\leq\\bar{\\mathbf{w}}$ componentwise. Transfer this construction to a neural transition $z_{k+1}=f_\\theta(z_k,u_k)$ with nominal state $\\hat z_k$ and radius vector $r_k\\geq0$. If $J_k=\\partial f_\\theta/\\partial z$ evaluated at $(\\hat z_k,u_k)$ is the local state Jacobian and $d_k$ bounds model, input, and process uncertainty, then an axis-aligned robust tube obeys $r_{k+1}=|J_k|r_k+d_k$. For a feedback policy $u_k=\\pi_\\phi(z_k)$, use the closed-loop Jacobian $J_k^{\\mathrm{cl}}=f_z+f_u\\pi_z$. A constraint $g(z)\\leq0$ is robustly enforced with $g(\\hat z_k)+\\|\\nabla g(\\hat z_k)\\|_1r_k\\leq0$. In a stationary regime, $\\rho(J^{\\mathrm{cl}})\u003c1$ predicts bounded asymptotic tubes; $\\rho(J^{\\mathrm{cl}})\u003e1$ predicts exponential growth.",
 "math_tags": [
  "control-theory",
  "dynamical-systems",
  "linear-algebra",
  "optimization",
  "numerical-analysis"
 ],
 "ml_areas": [
  "rnn",
  "ssm",
  "world-model",
  "rl",
  "training-dynamics"
 ],
 "paper": {
  "arxiv_id": "2608.27659",
  "arxiv_url": "https://arxiv.org/abs/2608.27659",
  "summary_what_math_gives_to_ml": "The paper develops tube MPC for a time-varying relative-motion model on an eccentric orbit, with bounded disturbances and uncertainty in spacecraft mass. Its transferable mechanism is horizon-dependent propagation of uncertainty tubes through a nonautonomous linear system, allowing robust constraint margins to vary with prediction depth instead of using one overly conservative bound. This can be transferred to recurrent neural networks, neural state-space models, and learned controllers by propagating interval or zonotope tubes through network Jacobians and penalizing predictions that leave the resulting robust tube. The key falsifiable signature is a computable growth or contraction boundary for rollout uncertainty and a corresponding reduction in long-horizon constraint violations.",
  "title": "Horizon-Dependent Tube MPC for Elliptical-Orbit Rendezvous Under Mass Uncertainty",
  "year": "2026"
 },
 "ratings": {
  "difficulty": 5,
  "novelty": 7,
  "usefulness": 7
 },
 "solves": [
  "stability",
  "accuracy",
  "generalization"
 ],
 "title": "Horizon-Adaptive Neural Tube Rollouts",
 "url": "https://synthcore.org/idea/2765/horizon-adaptive-neural-tube-rollouts",
 "verification": {
  "benchmark": {
   "track": "dynamics",
   "model": "rnn_small",
   "n_seeds": 8,
   "metric_direction": "lower is better",
   "comparison": {
    "baseline_mean": 0.7859984934329987,
    "idea_mean": 0.7857095971703529,
    "delta_mean": -0.00028889626264572144,
    "per_seed_diffs": [
     0.0016567707061767578,
     -0.00132673978805542,
     0.0002453327178955078,
     0.002062976360321045,
     -0.0021293163299560547,
     -0.0004140138626098633,
     -0.00022453069686889648,
     -0.0021816492080688477
    ],
    "idea_wins": 5,
    "n_pairs": 8,
    "p_value": 0.58005,
    "mde": 0.0013284398908388765,
    "mde_rel_pct": 0.16901303271418006,
    "verdict": "no measurable effect",
    "system_worked": false
   },
   "baseline": {
    "best_cfg": {
     "lr": 0.001
    },
    "sweep": [
     {
      "cfg": {
       "lr": 0.001
      },
      "mean": 0.8349032551050186
     },
     {
      "cfg": {
       "lr": 0.003
      },
      "mean": 0.8359973579645157
     },
     {
      "cfg": {
       "lr": 0.006
      },
      "mean": 0.8355543166399002
     }
    ],
    "full": {
     "mean": 0.7859984934329987,
     "std": 0.07510655446575974,
     "per_seed": [
      0.8355869054794312,
      0.7388775944709778,
      0.8546704053878784,
      0.9104781150817871,
      0.7400559186935425,
      0.7168379426002502,
      0.8168118000030518,
      0.6746692657470703
     ],
     "n": 8
    }
   },
   "idea": {
    "mean": 0.7857095971703529,
    "std": 0.07640934958971482,
    "per_seed": [
     0.8372436761856079,
     0.7375508546829224,
     0.8549157381057739,
     0.9125410914421082,
     0.7379266023635864,
     0.7164239287376404,
     0.8165872693061829,
     0.6724876165390015
    ],
    "n": 8
   },
   "mechanism_signature": {
    "confirmed": false,
    "correlation": 0.9556240583468331,
    "observed_mean": [
     0.019221652299165726,
     0.029958780854940414,
     0.018909338861703873,
     0.0590406097471714
    ],
    "predicted_mean": [
     0.02751869708299637,
     0.04405847191810608,
     0.040442872792482376,
     0.07109975069761276
    ],
    "quantity": "absolute local Jacobian gain vs finite-difference gain",
    "relative_error": 0.5613289126670399
   },
   "custom_track": null
  },
  "mechanism_confirmed": false,
  "peer_reviewed": false,
  "practical_verdict": "no_effect",
  "stage1_mechanism_check": {
   "worked": true,
   "confidence": 9,
   "verdict": "Built an exact axis-aligned neural tube recursion with autograd Jacobians, robust constraint backoff, and a matched small neural state-space comparison. The toy verification confirmed all three mechanism predictions: the stability boundary was observed at gamma=1.25 (=1/lambda), unstable growth slopes matched log(gamma·lambda) within 0.02%, and steady-state radius scaled linearly with disturbance magnitude to numerical precision. The tube regularizer did not improve this particular neural task: rollout MSE was essentially unchanged and constraints were never violated by either model, so the mechanism is validated but a practical win was not demonstrated.",
   "metrics": {
    "baseline": "one-step MSE 0.00169880; 20-step rollout MSE 0.12039916; violation rate 0.0",
    "idea": "one-step MSE 0.00169907; 20-step rollout MSE 0.12040418; violation rate 0.0; toy boundary gamma 1.25 predicted/observed; unstable slope relative error 0.014% at q=1.04 and approximately 0% at q=1.20; disturbance-scaling relative error 2.5e-16"
   },
   "how_to_run": "python3 tube_experiment.py",
   "files": [
    "tube_experiment.py",
    "results.json"
   ],
   "limitations": "The neural comparison used a tiny synthetic stable plant, fixed uncertainty radii rather than learned held-out 99th-percentile residuals, one-step tube regularization rather than full horizon-adaptive training, and no genuinely active constraints. GPU execution, CartPole, policy closed-loop Jacobians, and larger or harder long-horizon tasks were not tested."
  },
  "status": "failed_benchmark",
  "status_label": "Failed on benchmark",
  "updated_at": "2026-09-02T00:24:52",
  "verdict_source": "deterministic test code (paired-seed permutation statistics)"
 }
}
