MCIS Safety Shield for Neural Controllers
Implementation & benchmark of arXiv:2608.07908 — Computing the Maximal Controlled Invariant Set for Neural Network Control Systems
Source paper: Computing the Maximal Controlled Invariant Set for Neural Network Control Systems arXiv:2608.07908 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Compute an inner approximation of the states from which a neural controller can keep the plant inside a prescribed safe domain indefinitely, then use the resulting regulation map as a safety shield around the network. At each state, the network proposes an action, but the shield projects or replaces it with an action certified to remain in the invariant set.
Formulas
Mathematical statement
The paper defines a controlled invariant set for the discrete-time system x^{+}=f(x,u) as a set S contained in the state domain X such that for every x in S there exists u in the admissible input set U with f(x,u) in S. Its maximal controlled invariant set is S^{*}=\bigcup\{S\subseteq X:S ext{ is a CIS}\}. The one-step predecessor is Pre(S)=\{x\in X:\exists u\in U,\ f(x,u)\in S\}, so the standard fixed-point construction is S_{0}=X and S_{k+1}=Pre(S_k)\cap S_k. The regulation map is R_{S}(x)=\{u\in U:f(x,u)\in S\}. For a neural residual model, replace exact f by an interval inclusion F([x],u)=[f^{-}([x],u),f^{+}([x],u)] and accept an action only when F([x],u)\subseteq S. Here [x] is an axis-aligned state box, f^{-} and f^{+} are lower and upper interval bounds, and S is represented by a union of certified boxes or polytopes. The safety guarantee comes from universal containment of the interval image, while existence of at least one accepted action approximates the existential quantifier in Pre(S).
Implementation notes
Integrate this as a safety layer between the actor network and the environment in a low-dimensional model-based reinforcement-learning or neural-control benchmark. First discretize the state domain into axis-aligned boxes [x]. For each box, propagate interval bounds through the nominal plant plus neural residual network using interval arithmetic; for ReLU layers, use exact linear bounds when a neuron is sign-stable and lower and upper relaxations otherwise. Represent the current safe set S as a Boolean mask over boxes. Run predecessor iteration: initialize S=X_safe, enumerate candidate controls u from a grid or from the finite representative set, retain a state box [x] if at least one candidate satisfies F([x],u) subseteq S, and repeat until the mask stabilizes or reaches a fixed iteration budget. Pseudocode is: S=X_safe; repeat S_new={xbox in S: exists u in U_rep with F(xbox,u) subset S}; S=S_new until unchanged. At runtime, evaluate the actor action u_pi, test its interval image, and use u_pi if certified; otherwise choose the accepted candidate minimizing ||u-u_pi||^2. The interval bounds and fixed-point logic come from the mathematics; grid resolution, residual uncertainty bounds, and the action candidate set are engineering choices. Start with a 2D point-mass or cart-pole, comparing an unconstrained MLP actor, clipped-action shielding, and this MCIS shield. Measure constraint violations, episodic return, fraction of actor actions accepted, and conservatism as grid resolution changes. Success means zero simulated violations under bounded model error with substantially higher return than naive action clipping.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 7/10
Built a scalar MCIS interval shield for x+=1.1x+u+d with bounded disturbance, predecessor fixed-point iteration, runtime action certification, and a baseline rollout. The mechanism manifested: certified radius decreased from 1.00 at zero uncertainty to 0.59 at uncertainty 0.05 and vanished at 0.10; at fixed uncertainty 0.05, finer grids reduced the observed radius 0.92→0.545, approaching the analytic robust radius 0.50. The shield had zero simulated violations, but this is only a toy result and the shield did not improve return over the baseline in the particular seed/run.
- Agent confidence
- 7/10
- Baseline
- 0 violations; return -65.899
- Idea
- 0 violations; return -48.550; accepted fraction 1.0; MCIS iterations 25; radius at w=[0,.02,.05,.10]=[1.00,.89,.59,0.00]; radius versus grid n=[25,50,100,200,400]=[.92,.88,.68,.59,.545]
Limitations: Only a one-dimensional linear plant was tested; no neural residual network, multidimensional plant, cart-pole, learned actor training, model mismatch beyond bounded additive disturbance, computational-cost measurement, or statistically repeated rollouts were evaluated. The stored notes retain an outdated analytic-radius wording even though the code uses the corrected radius formula.
How to run: python3 mcis_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.07908)
Significantly WORSE than the tuned baseline (+53826.3%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0014
- Idea mean
- 0.7657
- Effect (Δ)
- 0.7642 (+53826.3%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
The intervention uses a scalar angle abstraction and straight-through projection rather than full multidimensional interval propagation through a learned residual plant. Rollout safety violations and runtime overhead were not measured. Baseline selection used the harness sweep protocol on four seeds followed by eight-seed reevaluation; the idea settings were evaluated on eight paired seeds.
How to run: python3 stage2_mcis_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 10/10
Implemented the MCIS shield on the structurally matched dynamics track with the shared rnn_small architecture, paired seeds, equal learning-rate grids, and a trained-model mechanism signature. The certified-radius prediction was confirmed quantitatively (predicted 1.45 versus observed 1.4375), but the shielded system was significantly worse on test MSE: delta +0.76424 with permutation p=0.0081. Thus the mechanism manifested, but the idea did not produce a useful transfer win.
- Baseline
- Test MSE mean 0.0014198302, std 0.0003983911; best lr=0.01
- Comparison verdict
- idea worse (significant)
- Delta mean
- 0.7642417297611246
- Idea
- Test MSE mean 0.7656615600, std 0.0483520156; best lr=0.001; observed radius=1.4375; predicted radius=1.45; confirmed=true
- P value
- 0.0081
Benchmark result
Significantly WORSE than the tuned baseline (+53826.3%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0014
- Idea mean
- 0.7657
- Effect (Δ)
- 0.7642 (+53826.3%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
The intervention uses a scalar angle abstraction and straight-through projection rather than full multidimensional interval propagation through a learned residual plant. Rollout safety violations and runtime overhead were not measured. Baseline selection used the harness sweep protocol on four seeds followed by eight-seed reevaluation; the idea settings were evaluated on eight paired seeds.
How to run: python3 stage2_mcis_bench.py
Artifacts
- bench_report.json 3.6 KB View Raw
- mcis_experiment.py 4.8 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-09-01T020538.md 3.6 KB View
- results.json 1.7 KB View Raw
- stage2_mcis_bench.py 6.3 KB View Raw