Petri-Net Safety Shield for Neural Policies / report.md

Mechanism confirmed, baseline not beaten

Raw ⬇ ZIP

Эксперимент: Petri-Net Safety Shield for Neural Policies (#504)

{ "worked": true, "confidence": 9, "verdict": "Built an exact finite Petri-net transition shield with enabledness, firing, BFS-derived admissible markings, successor filtering, and deadlock accounting. The mechanism manifested: all accepted successors were safe, shielded violations were 0 over 10,000 episodes, and the uniform rejection sweep matched P(reject)=1-k/n with maximum absolute error 0.0068. This is a clear safety win, though the fixed toy policy achieved no task successes and PPO or learning efficiency was not tested.", "metrics": { "baseline": "10,000/10,000 episodes violated safety; 0 successes", "idea": "0/10,000 safety violations; 400,000 rejected proposals over 400,000 shielded steps; 0 successes; rejection-law maximum absolute error 0.0068; closure violations 0" }, "how_to_run": "/home/maxwelhelp/main/bin/python3 petri_shield_experiment.py", "files": [ "petri_shield_experiment.py", "results.json" ], "limitations": "The prototype uses a small one-hot rover marking and fixed random linear logits rather than PPO or a trained neural policy. It does not measure runtime, reward improvement, observation noise, large-net scaling, or compare against penalty training; the toy task also produced no successful episodes." }