pub fn belief_confidence_modifier(confidence: f32) -> f32Expand description
Apply belief-confidence modifiers to a base score.
When an agent holds beliefs about scored entities, the belief confidence acts as a multiplier:
adjusted_score = base_score * belief_modifier(confidence)The modifier uses a piecewise linear function:
- confidence >= 0.8 → modifier = 1.0 (full score, strong belief)
- confidence in [0.3, 0.8) → modifier = 0.5 + (confidence - 0.3) * (0.5 / 0.5) (linear interpolation from 0.5 to 1.0)
- confidence < 0.3 → modifier = 0.5 * (confidence / 0.3) (linear from 0.0 to 0.5, penalises low-confidence beliefs)
This ensures:
- High-confidence beliefs don’t distort scores (modifier ≈ 1.0)
- Low-confidence beliefs suppress scores proportionally
- The output is always in [0, base_score]