pub struct ModulatorVector {
pub dopamine: f32,
pub serotonin: f32,
pub acetylcholine: f32,
pub norepinephrine: f32,
}Expand description
A vector of neuromodulator concentrations.
Critics populate these fields from an Environment
observation (and, for temporal critics, from internal state). Consumers
typically feed the values into synaptic plasticity rules, attention
gating, or other neuromodulatory pathways.
Field ranges depend on which critic produced the vector; see each field’s
documentation and the critic-level docs for exact mappings. Vectors from
try_assess are finite and inside those ranges; assess may yield NaN
when given non-finite observations (IEEE passthrough).
Fields§
§dopamine: f32Dopamine — shaped reward / objective-delta drive.
Semantic role: a bounded scalar that downstream plasticity can use
to reinforce or weaken recent activity. TDCritic
produces a signed value from an EMA of objective deltas, not from a
learned prediction-error network.
Ranges by critic:
SimpleCritic: clamped to[0.0, 1.0](non-negative objective mapped through; negative objective →0.0).TDCritic: signed, clamped to[-1.0, 1.0]after an EMA of the temporal-difference error is passed throughtanh.
serotonin: f32Serotonin — risk / volatility.
Semantic role: tracks environmental uncertainty or risk load. Both
critics read this from Environment::volatility
and clamp it to [0.0, 1.0].
acetylcholine: f32Acetylcholine — focus / surprise.
Semantic role: elevates attention or learning rate when the world is novel or outcomes are unexpected.
Ranges by critic (both clamp to [0.0, 1.0]):
SimpleCritic: taken fromEnvironment::surprise.TDCritic: derived asabs(td_error).tanh(), independent ofEnvironment::surprise.
norepinephrine: f32Norepinephrine — stress / instability.
Semantic role: reflects system pressure (error rates, thermal load,
latency spikes, etc.). Both critics map
Environment::stress into this field
and clamp it to [0.0, 1.0].
Trait Implementations§
Source§impl Clone for ModulatorVector
impl Clone for ModulatorVector
Source§fn clone(&self) -> ModulatorVector
fn clone(&self) -> ModulatorVector
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more