For this problem, this looks useful:
http://en.wikipedia.org/wiki/Linear_feedback_shift_register


On Mon, Feb 17, 2014 at 6:01 PM, Chetan Surpur <[email protected]> wrote:

> A very simple approach would be to trade speed for memory. Instead of
> storing a map between buckets and SDRs, we can go through the bucket
> generation process every time we want to find the SDR for a bucket. From
> what I understand, this bucket generation process is linear in speed with
> the number of buckets you want to generate. So the linear memory
> requirement would be translated into a linear speed requirement.
>
> In a nutshell, walk through the number line, generating buckets until you
> hit the target bucket you want a representation for, *every time* you
> want to get a representation, and don't store anything. You'll need to use
> the same seed for the random number generator though, to get consistent
> results.
>
> The advantage of this is that it's a simple modification to what is
> already implemented. On the other hand, it's slightly slower when
> outputting SDRs for previously-seen buckets.
>
>
> On Mon, Feb 17, 2014 at 5:15 PM, Scott Purdy <[email protected]> wrote:
>
>> 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
>>
>>
>
_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org

Reply via email to