Open benjamin-asdf opened 8 months ago
Hi @benjamin-asdf !
The are quite a few implementations of VSA that handle these: With Kanerva's BSC implementation, you can add a random vector while summing to break ties. In other implementations like Plate's real value HRR, zero is a perfectly valid value and no one cares - it will happen infrequently enough.
I've gone with the Gayler MAP system, that initializes the vectors at -1 and 1, but after that clips the magnitudes and ignores ties in summation - you still could inject a low magnitude noise vector if you want. I found it unneeded for what I was doing, but it might be useful in your case.
Currently the bundle / clip implementation leaves the zeros, if there is a tie in bundle.
Afaik there are multiple candidates to resolve ties and which one has some pros and cons I'm not sure about.