How lambrooo/tirociniouni works
This repository is a thesis research testbed for Active Inference control under compromised sensors in a simulated IIoT plant. The main workflow is to run paired fixed and adaptive agents against shared scenario traces, simulate plant control and verification, then retain run logs and event records for metric and statistical analysis. The README also documents a second scoring condition without the entropy term, archived reproducibility data, parameter exploration, and figure generation. Some subsystem links rely on README descriptions because their implementation was not sampled.
Main entry points: run_confirmatory_experiments.py Confirmatory Runner · simulation.py Plant Simulation · run_20260901_193850 Campaign Archive · active_inference_agent.py Fixed Inference
Components 19
IIoT Simulation
- Plant Simulation
pytorch_simulation/simulation.py - Scenario Traces
pytorch_simulation/scenario_trace.py - Compromised Sensors
pytorch_simulation/simulation.py - Actuators
pytorch_simulation/simulation.py
Control Agents
- Fixed Inference
pytorch_simulation/active_inference_agent.py - Adaptive Inference
pytorch_simulation/active_inference_agent.py - Q-Learning Baseline
pytorch_simulation/qlearning_agent.py - Curriculum Attacks
pytorch_simulation/curriculum_learning.py
Experiments
- Confirmatory Runner
run_confirmatory_experiments.py - Campaign Archive
confirmatory_experiments/run_20260901_193850 - No-Entropy Archive
confirmatory_experiments/run_20260926_senza_entropia - Reproducibility Archive
reproducibility/review_20260925
Research Outputs
- Run Metrics
pytorch_simulation/simulation.py - Statistical Analysis
pytorch_simulation/statistical_analysis.py - Experiment Dashboard
pytorch_simulation/dashboard.py - Thesis Figures
scripts/genera_figure.py - Parameter Exploration
scripts/esplora_parametri.py - Thesis Verification
scripts/verify_thesis.py
Other components
- Researcher
Connections 24
- Researcher → Confirmatory Runner: starts campaign
- Confirmatory Runner → Scenario Traces: generates traces
- Confirmatory Runner → Fixed Inference: runs fixed agent
- Confirmatory Runner → Adaptive Inference: runs adaptive agent
- Confirmatory Runner → Plant Simulation: runs simulation
- Plant Simulation → Compromised Sensors: samples readings
- Compromised Sensors → Fixed Inference: provides observations
- Compromised Sensors → Adaptive Inference: provides observations
- Fixed Inference → Actuators: issues controls
- Adaptive Inference → Actuators: issues controls
- Plant Simulation → Confirmatory Runner: returns run data
- Confirmatory Runner → Campaign Archive: writes run artifacts
- Researcher → No-Entropy Archive: reviews results
- Confirmatory Runner → No-Entropy Archive: stores second condition
- Confirmatory Runner → Run Metrics: collects metrics
- Run Metrics → Statistical Analysis: analyzes outcomes
- Researcher → Experiment Dashboard: explores results
- Researcher → Parameter Exploration: runs exploration
- Campaign Archive → Thesis Figures: supplies archived CSVs
- Researcher → Thesis Figures: generates figures
- Campaign Archive → Thesis Verification: checks archived data
- Reproducibility Archive → Thesis Verification: compares replay
- Researcher → Q-Learning Baseline: selects baseline
- Researcher → Curriculum Attacks: configures attack stages