mercurial.impressions.dynamic_formation module

Dynamic impression formation with emotional salience, repetition, and attention.

class mercurial.impressions.dynamic_formation.AttentionFocus(initial: float = 0.0, baseline: float = 0.1, focus_rate: float = 0.2, distract_rate: float = 0.1)[source]

Bases: object

Dynamic attention 𝒜(t).

Methods

update(dt, focused)

d𝒜/dt = +γ_focus (if focused) - γ_distract (𝒜 - baseline).

update(dt: float, focused: bool) float[source]

d𝒜/dt = +γ_focus (if focused) - γ_distract (𝒜 - baseline).

class mercurial.impressions.dynamic_formation.DynamicImpressionFormation(alpha_form: float = 0.1, gamma_form: float = 0.01)[source]

Bases: object

Implements dI/dt = α * ℰ * 𝒮 * 𝒜 - γ I. Where ℰ, 𝒮, 𝒜 evolve dynamically based on context.

Methods

reset()

Reset all state variables.

update(dt, arousal, event_occurred, focused)

Update all dynamic variables and impression intensity.

reset()[source]

Reset all state variables.

update(dt: float, arousal: float, event_occurred: bool, focused: bool) Tuple[float, dict][source]

Update all dynamic variables and impression intensity.

Returns:
intensityfloat

Current impression intensity I(t).

statedict

Current values of ℰ, 𝒮, 𝒜 for monitoring.

class mercurial.impressions.dynamic_formation.EmotionalSalience(initial: float = 0.0, decay_rate: float = 0.1, arousal_sensitivity: float = 1.0)[source]

Bases: object

Dynamic emotional salience ℰ(t).

Methods

update(dt, arousal)

dℰ/dt = -α_ℰ ℰ + β_ℰ * arousal.

update(dt: float, arousal: float) float[source]

dℰ/dt = -α_ℰ ℰ + β_ℰ * arousal.

class mercurial.impressions.dynamic_formation.RepetitionCounter(initial: float = 0.0, accumulation_rate: float = 0.1, forgetting_rate: float = 0.05)[source]

Bases: object

Dynamic repetition strength 𝒮(t).

Methods

update(dt, event_occurred)

d𝒮/dt = +γ_acc (if event) - γ_forget * 𝒮.

update(dt: float, event_occurred: bool) float[source]

d𝒮/dt = +γ_acc (if event) - γ_forget * 𝒮.