BindingEngine class

Responsible for creating and reinforcing semantic bindings between concepts.

Binding rules

  1. Temporal binding — concepts observed within temporalWindow of each other receive a RelationshipType.temporal link.
  2. Semantic binding — concepts sharing tokens in their content receive an RelationshipType.associative link weighted by Jaccard similarity.
  3. Causal binding — concepts where one is detected as a cause of another receive a RelationshipType.causal link.
  4. Reinforcement — repeated co-activation strengthens existing links using a Hebbian-style update rule ("fire together → wire together").

Constructors

BindingEngine({Duration temporalWindow = const Duration(seconds: 30), double baseBindingStrength = 0.4, double reinforcementRate = 0.1, ConsciousnessLogger? logger})

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

bindExplicit({required Concept concept1, required Concept concept2, required RelationshipType relationshipType, double? strength, ConceptEdge? existingEdge, String label = ''}) → BindingResult
Explicitly binds concept1 to concept2 with a specified relationshipType and optional strength.
bindWorkspace(List<Concept> active, List<ConceptNode> allNodes) → List<BindingResult>
Computes all possible bindings within a list of active concepts (e.g. the current workspace) and returns the results.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerAndBind(Concept concept, List<ConceptNode> allNodes) → List<BindingResult>
Registers a newly observed concept and attempts to bind it with recently observed concepts that are still within the temporal window.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited