self-review 2026-05-20: relation-type boost in BFS propagation
Add relation-specific multipliers to spreading activation: - causes/caused_by edges: 2.0× (causal reasoning propagates stronger) - enables/prevents edges: 1.5× (conditional logic gets boost) - supersedes edges: 1.3× (promoted knowledge gets slight priority) - inferred A→C edges: 0.7× (traversal-inferred paths weaker than explicit) Field-validated against Hindsight (time-aware spreading activation, 2026) and ACT-R cognitive architecture literature. Inferred edge discount prevents the traversal inference pass from flooding activation with spurious high- strength paths equal to explicit links.
This commit is contained in:
Vendored
BIN
Binary file not shown.
@@ -6882,7 +6882,21 @@ el_val_t engram_activate(el_val_t query, el_val_t depth) {
|
||||
double tbonus = engram_temporal_proximity_bonus(on->created_at, seed_epoch);
|
||||
double tdecay = engram_temporal_decay(on, now_ms);
|
||||
double dampen = engram_activation_dampen(on);
|
||||
double new_act = f.act * e->weight * SPREAD_DECAY * (1.0 + tbonus)
|
||||
/* Relation-type boost: causal edges propagate stronger (field-validated
|
||||
* against Hindsight/SYNAPSE literature: causes/caused_by 2.0×, enables/
|
||||
* prevents 1.5×, supersedes 1.3×). Inferred A→C edges are discounted
|
||||
* (0.7×) so traversal-inference edges don't flood activation paths with
|
||||
* the same strength as explicit edges. All others neutral (1.0×). */
|
||||
double rel_boost = 1.0;
|
||||
if (e->relation) {
|
||||
if (strcmp(e->relation, "causes") == 0 ||
|
||||
strcmp(e->relation, "caused_by") == 0) rel_boost = 2.0;
|
||||
else if (strcmp(e->relation, "enables") == 0 ||
|
||||
strcmp(e->relation, "prevents") == 0) rel_boost = 1.5;
|
||||
else if (strcmp(e->relation, "supersedes") == 0) rel_boost = 1.3;
|
||||
else if (strcmp(e->relation, "inferred") == 0) rel_boost = 0.7;
|
||||
}
|
||||
double new_act = f.act * e->weight * SPREAD_DECAY * rel_boost * (1.0 + tbonus)
|
||||
* tdecay * dampen;
|
||||
int64_t new_hops = f.hops + 1;
|
||||
if (!reached[oi] || new_act > best_bg[oi]) {
|
||||
|
||||
Reference in New Issue
Block a user