pub struct PropagationConfig {
pub max_depth: usize,
pub edge_types: Vec<EdgeType>,
pub min_delta: f32,
pub max_affected: usize,
pub caused_dampening: f32,
pub supports_factor: f32,
pub contradicts_factor: f32,
pub supersedes_floor: f32,
}Expand description
Configuration for belief propagation.
Fields§
§max_depth: usizeMaximum BFS depth for propagation (default: 5).
edge_types: Vec<EdgeType>Outgoing edge types the walk follows (default: Caused and
Supports, the dependency edges). Any other edge type is ignored.
The dependency edges are the default because they are the only ones
whose meaning survives a change in the source’s confidence: an effect
or a supported claim is only as believable as what it rests on.
Contradicts and Supersedes record a conflict that was already
resolved, and walking them from a memory that just lost a conflict
would move the memories it once contradicted or replaced on no new
evidence. They can be added back here explicitly.
min_delta: f32Smallest per memory change propagate_delta records or walks past
(default: 0.01). A damped change below this stops that branch.
max_affected: usizeMost memories one propagate_delta call may change, root excluded
(default: 64). The walk stops once it has this many.
caused_dampening: f32Dampening factor for Caused edges (default: 0.9).
supports_factor: f32Factor for Supports edges (default: 0.5).
contradicts_factor: f32Factor for Contradicts edges (default: 0.7).
supersedes_floor: f32Floor multiplier for Supersedes edges (default: 0.1).
Implementations§
Source§impl PropagationConfig
impl PropagationConfig
Sourcepub fn all_edges() -> Self
pub fn all_edges() -> Self
The defaults with every belief carrying edge type followed (Caused,
Supports, Contradicts, Supersedes), the edge set of
propagate_update.