pub enum ConflictResolutionStrategy {
Salience,
LEX,
MEA,
Depth,
Breadth,
Simplicity,
Complexity,
Random,
}Expand description
Conflict Resolution Strategy
Determines how conflicting activations are ordered in the agenda. Similar to CLIPS and Drools conflict resolution strategies.
Variants§
Salience
Salience-based ordering (default) - Higher salience fires first
LEX
LEX (Recency) - Most recently inserted facts fire first Sorts by the timestamp of the most recent fact used in the activation
MEA
MEA (Recency + Specificity) - LEX + more specific rules first Combines recency with condition count (more conditions = more specific)
Depth
Depth-first - Fire rule immediately after insertion Re-evaluates agenda after each rule fires
Breadth
Breadth-first - Collect all activations before firing (default) Fires all activations in current cycle before re-evaluating
Simplicity
Simplicity - Rules with fewer conditions fire first Simpler rules are prioritized
Complexity
Complexity - Rules with more conditions fire first More complex/specific rules are prioritized
Random
Random - Random ordering Useful for testing non-deterministic behavior
Trait Implementations§
Source§impl Clone for ConflictResolutionStrategy
impl Clone for ConflictResolutionStrategy
Source§fn clone(&self) -> ConflictResolutionStrategy
fn clone(&self) -> ConflictResolutionStrategy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more