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

Reply via email to