Triadic Memory — A Fundamental Algorithm for Cognitive Computing

I think I stumbled into this on r/machinelearning reddit group.

The author’s github link is at the end of the pdf. I tried a python version since he had only C and Mathematica codes.


What I find quite cool is the simple storage/retrieval of triple associations/relationships.

We had some talking here about how to encode two terms in a single SDR and use associative query to find the third, missing term of the triple. That however would involve some overlap + permutation (or rotation) trickery to pack order semantics in a single, “thicker” SDR.

But here all three terms are “clean” and with a single store operation of [A,B,C] sequence, one can query either of:

“What follows [A,B] ?”
“What precedes [B,C]?”
“What is supposed to be in between [A,C]”?

2 Likes