Hi all, I thought some of you might enjoy trying to come up with a solution for this problem. If you watch Chetan's presentation about the random distributed scalar encoder (RDSE), you will see that we are keeping a mapping between all buckets computed so far and the bits that represent them. This was Subutai's implementation of Jeff's general idea for the encoder. This design has a memory usage for the encoder that increases linearly with the number of buckets that it has to represent.
When originally discussing the design, I was trying to find a way to statically compute the mapping so that you don't have to store anything. But it has to have the property that buckets i and j have w-(j-i) overlapping bits if j-i<w and also that a given index is never assigned multiple times to the same bucket. I came up with a solution but it would likely have more random collisions than Subutai's linear-memory solution because it was limited in the number of possibly combinations of bits the buckets could have. Curious if someone can come up with something better! And be sure to watch Chetan's presentation on the RDSE that Subutai designed and implemented for background. *Note: the current implementation is fine for all practical scenarios so this is just a fun exercise for those interested*
_______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
