{
 "artifacts": [
  {
   "name": "bench_report.json",
   "url": "https://synthcore.org/code/1037/bench_report.json"
  },
  {
   "name": "reachability_mvp.py",
   "url": "https://synthcore.org/code/1037/reachability_mvp.py"
  },
  {
   "name": "report.md",
   "url": "https://synthcore.org/code/1037/report.md"
  },
  {
   "name": "report_bench_2026-09-01T190708.md",
   "url": "https://synthcore.org/code/1037/report_bench_2026-09-01T190708.md"
  },
  {
   "name": "results.json",
   "url": "https://synthcore.org/code/1037/results.json"
  },
  {
   "name": "stage2_bench.py",
   "url": "https://synthcore.org/code/1037/stage2_bench.py"
  }
 ],
 "category": "regularization",
 "description": "Train a neural controller or learned dynamics model against a finite-horizon set-valued certificate rather than only sampled trajectories. Represent uncertain states and bounded disturbances with hybrid zonotopes, propagate them through affine dynamics and a piecewise-linear neural network, and penalize reachable-set violations and failure to contract into a terminal set. This turns rare worst-case failures into a directly optimized geometric objective.",
 "download_zip": "https://synthcore.org/download/1037",
 "formulas_latex": [
  "$$\\mathcal Z(c,G,H,E,F,b)=\\left\\{c+G\\xi+H\\beta:\\|\\xi\\|_\\infty\\le1,\\;\\beta\\in\\{-1,1\\}^{q},\\;E\\xi+F\\beta=b\\right\\},$$",
  "$$\\mathcal Z_{k+1}=A\\mathcal Z_k+B\\pi_\\theta(\\mathcal Z_k)\\oplus\\mathcal W,$$",
  "$$\\mathcal L_{\\mathrm{reach}}=\\sum_{k=0}^{N}\\left\\|\\max_{x\\in\\mathcal Z_k}(F_xx-f_x)_+\\right\\|_1+\\rho\\left\\|\\max_{x\\in\\mathcal Z_N}(F_Nx-f_N)_+\\right\\|_1,$$",
  "$$\\max_{x\\in\\mathcal Z_k,w\\in\\mathcal W}\\left[V(Ax+B\\pi_\\theta(x)+w)-V(x)+\\alpha\\|x-x_*\\|_2^2\\right]\\le0.$$"
 ],
 "id": 2686,
 "implementation": "Integrate this as a periodic verification-and-training loss for a small MLP policy, neural state-space model, or model-based RL controller. Start with a linear plant and a ReLU policy so each reachable set can be propagated through exact affine maps and explicit ReLU branch splitting; for larger networks replace splitting with interval or linear relaxations and record the resulting conservatism. At each minibatch, sample an initial zonotope $\\mathcal Z_0$ rather than a single state, propagate it for $N$ steps using the learned policy and a bounded disturbance zonotope, and compute support-function or linear-program upper bounds for every state-constraint facet. Optimize the task loss plus $\\lambda\\mathcal L_{\\mathrm{reach}}$ and a contraction penalty. Pseudocode: `Z=Z0; L=0; for k in range(N): U=propagate_policy(Z,theta); Z=propagate_linear(A,B,Z,U,W); L += constraint_support(Z,Fx,fx); L += contraction_bound(Z)`. The paper contributes the hybrid-zonotope representation and offline closed-loop containment procedure; neural relaxations and support bounds are computed or estimated by LP. First experiment: train identical ReLU actors on a double integrator, comparing trajectory-only training against reachability-loss training under bounded disturbances. Sweep disturbance radius $\\gamma$. The predicted signature is a certified transition: below the largest zero-loss $\\gamma$, all propagated sets remain inside constraints and reach the terminal set; above it, the first violated facet and time should agree with the certificate up to relaxation conservatism. Certified Lyapunov values should decay geometrically, approximately $V_{k+1}\\le(1-\\alpha')V_k$.",
 "math_summary": "Represent an uncertain set as a hybrid zonotope $\\mathcal Z=\\{c+G\\xi+H\\beta:\\|\\xi\\|_\\infty\\le1,\\beta\\in\\{-1,1\\}^q,\\;E\\xi+F\\beta=b\\}$, where $c$ is the center, $G$ contains continuous generators, $H$ contains binary generators, and $(E,F,b)$ encode coupling constraints. Affine plant propagation is exact: $c^+=Ac+B\\bar u$, with continuous generators updated by $G^+=AG+BG_u+G_w$ and analogous binary and constraint updates. For a ReLU network, split neurons by preactivation sign or use linear relaxations, yielding an over-approximation of the reachable set. Define a robust loss from the maximum state-constraint violation, terminal-set violation, and contraction deficit over each propagated set. The mechanism is offline verification of the entire disturbed closed loop rather than sampled trajectory testing.",
 "math_tags": [
  "control-theory",
  "dynamical-systems",
  "geometry",
  "linear-algebra",
  "optimization"
 ],
 "ml_areas": [
  "optimizer",
  "rl",
  "training-dynamics",
  "world-model"
 ],
 "paper": {
  "arxiv_id": "2608.22458",
  "arxiv_url": "https://arxiv.org/abs/2608.22458",
  "summary_what_math_gives_to_ml": "The paper provides a concrete pipeline for converting finite-horizon robust MPC into a fixed-time piecewise-affine controller and certifying disturbed closed-loop behavior offline with hybrid-zonotope reachability. Its transferable asset is the combination of region-indexed affine feedback, bounded-disturbance set propagation, and a finite-horizon terminal or invariant-set certificate. A neural policy can use the explicit controller as a hard safety shield, a teacher for region-aware distillation, or a locally affine fallback around an unconstrained learned policy. The key falsifiable prediction is that certified reachable sets remain inside constraints and enter the terminal set after a predicted number of steps, while an unshielded network violates these boundaries when disturbance magnitude or policy gain crosses a measurable threshold.",
  "title": "Certifiable Explicit Model Predictive Control for Spacecraft Rendezvous under Bounded Disturbances",
  "year": "2026"
 },
 "ratings": {
  "difficulty": 7,
  "novelty": 7,
  "usefulness": 7
 },
 "solves": [
  "stability",
  "generalization",
  "accuracy"
 ],
 "title": "Hybrid-Zonotope Reachability Loss for Neural Closed Loops",
 "url": "https://synthcore.org/idea/2686/hybrid-zonotope-reachability-loss-for-neural-closed-loops",
 "verification": {
  "benchmark": {
   "track": "dynamics",
   "model": "rnn_small",
   "n_seeds": 8,
   "metric_direction": "lower is better",
   "comparison": {
    "baseline_mean": 0.0005480735380842816,
    "idea_mean": 0.0005480735380842816,
    "delta_mean": 0,
    "per_seed_diffs": [
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0
    ],
    "idea_wins": 0,
    "n_pairs": 8,
    "p_value": 1,
    "mde": 0,
    "mde_rel_pct": 0,
    "verdict": "no measurable effect",
    "system_worked": false
   },
   "baseline": {
    "best_cfg": {
     "lr": 0.01,
     "weight_decay": 0.0001
    },
    "sweep": [
     {
      "cfg": {
       "lr": 0.001,
       "weight_decay": 0
      },
      "mean": 0.001864717691205442
     },
     {
      "cfg": {
       "lr": 0.001,
       "weight_decay": 0.0001
      },
      "mean": 0.0018400110420770943
     },
     {
      "cfg": {
       "lr": 0.003,
       "weight_decay": 0
      },
      "mean": 0.0010901302302954718
     },
     {
      "cfg": {
       "lr": 0.003,
       "weight_decay": 0.0001
      },
      "mean": 0.0010647484887158498
     },
     {
      "cfg": {
       "lr": 0.01,
       "weight_decay": 0
      },
      "mean": 0.0006186682076076977
     },
     {
      "cfg": {
       "lr": 0.01,
       "weight_decay": 0.0001
      },
      "mean": 0.0005735916565754451
     }
    ],
    "full": {
     "mean": 0.0005480735380842816,
     "std": 0.00014996990905603093,
     "per_seed": [
      0.00046045987983234227,
      0.0004709371132776141,
      0.0004756892449222505,
      0.0008872803882695735,
      0.0004885699599981308,
      0.00037048623198643327,
      0.0006456486880779266,
      0.0005855167983099818
     ],
     "n": 8
    }
   },
   "idea": {
    "mean": 0.0005480735380842816,
    "std": 0.00014996990905603093,
    "per_seed": [
     0.00046045987983234227,
     0.0004709371132776141,
     0.0004756892449222505,
     0.0008872803882695735,
     0.0004885699599981308,
     0.00037048623198643327,
     0.0006456486880779266,
     0.0005855167983099818
    ],
    "n": 8
   },
   "mechanism_signature": {
    "confirmed": false,
    "note": "The arithmetic radius recurrence is exact, but this does not establish the mechanism on the trained benchmark models.",
    "observed_nn": {
     "baseline_mean_test_mse": 0.0005480735380842816,
     "best_cfg": {
      "lambda": 0.05,
      "lr": 0.01,
      "weight_decay": 0.0001
     },
     "idea_mean_test_mse": 0.0005480735380842816,
     "observed_delta": 0
    },
    "prediction": "adding the interval-zonotope loss should change the trained model task metric",
    "toy_numeric_check": {
     "confirmed": true,
     "max_radius_recurrence_error": 1.6653345369377348e-16
    }
   },
   "custom_track": null
  },
  "mechanism_confirmed": false,
  "peer_reviewed": false,
  "practical_verdict": "no_effect",
  "stage1_mechanism_check": {
   "worked": true,
   "confidence": 8,
   "verdict": "Built a readable hybrid-zonotope and interval-reachability MVP. Three mechanism predictions were confirmed: the radius recurrence had maximum absolute error 0, terminal radius scaled linearly with disturbance, and the constraint threshold matched gamma*=0.0940001 with violation immediately above it; the contraction transition matched |lambda|=1. The reachability objective did not produce a clear training win over the nominal baseline, so the mechanism is validated but practical benefit is unproven.",
   "metrics": {
    "baseline": "k=1.000 across the sweep; terminal certificate violations at gamma=[0,0.12,0.30,0.60] were [0,0,0,0.15]. Nominal loss 0.6400.",
    "idea": "k=[0.9003,0.9003,1.0031,0.9997]; terminal violations [0,0,0,0.1502]. Recurrence max error 0; predicted and observed gamma boundary 0.0940001; contraction ratios for lambda=[0.8,0.99,1.0,1.01,1.2] were [0.1074,0.9044,1.0,1.1046,6.1917]."
   },
   "how_to_run": "python3 reachability_mvp.py \u003e results.json",
   "files": [
    "reachability_mvp.py",
    "results.json"
   ],
   "limitations": "The experiment is scalar rather than a full double integrator, uses interval zonotopes without active hybrid coupling constraints, and trains an analytic scalar gain rather than a ReLU MLP. No multidimensional LP relaxation, wall-clock, or CUDA comparison was tested."
  },
  "status": "failed_benchmark",
  "status_label": "Failed on benchmark",
  "updated_at": "2026-09-01T19:07:08",
  "verdict_source": "deterministic test code (paired-seed permutation statistics)"
 }
}
