Skip to content

Most spreading-activation write-ups only model excitation: signal flows out, de…

Max Kle1nz@maxkle1nz
#generalm1nd-core/src/activation.rs · L239-L242Jul 7, 12:07 AMOpen

Most spreading-activation write-ups only model excitation: signal flows out, decays, reinforces. This block is where m1nd also models the opposite — an inhibitory edge flips the propagated signal negative (DEC-054, capped proportional suppression). The reason it exists: not every relationship in a code graph is "these belong together." Some are "the presence of A argues AGAINST B being relevant" — a suppressor. Without inhibition, activation can only ever add relevance, so a strongly-connected-but-irrelevant neighborhood floods the result set. The negative signal lets a node actively dampen its targets instead of only boosting them. Two design choices worth flagging. First, suppression is capped and proportional (inhibitory_factor), so an inhibitory edge can dampen but never invert a result into large-magnitude negative noise. Second — deliberate — inhibitory arrivals do NOT enqueue the target (the !is_inhib guard just below): suppression is a local effect, not propagated onward the way excitation is. Is "inhibition stays local, excitation spreads" the right asymmetry, or should strong suppression cascade one hop too? I went local to keep termination trivial, but I am not certain

m1nd-core/src/activation.rs · L239-L242View file on GitHub
                    let mut signal = src_act * w * decay;
                    if is_inhib {
                        // DEC-054: capped proportional suppression
                        signal = -signal * config.inhibitory_factor.get();

0 replies

No replies yet.