NuPIC implementation in Actor Model?



I might be able to use some things there (I see the lot of detail into making it distributed, a lot of focus on specific neuron spiking/firing). Thanks for sharing :slight_smile:


I wanted to do this for a while. Just made a spike. Using Erl_Interface and Pony’s C FFI it’s possible to create an Erlang C node. Current state: the API works “in principle”, which means, if the clustered Elixir thing takes off, it’d be potentially possible to offload computationally expensive work to a natively compiled node, e.g. in C. However, writing an Erlang C node even with the API + FFI is indeed a big pain.

A similar approach is already potentially possible now e.g. using wrapped into JInterface or Encon Java, but I think, the scope of an Elixir or Pony implementations is a bit different one


@jordan.kay if you’re interested, I’ve made a little experiment on “dumb” neurons voting, where each is modeled as an Erlang/Elixir process: just to play around with the time domain and the BEAM scheduler.

I’ll make a separate post on the motivation behind it, but the trigger was the following article: Theriault et. al.: The sense of should: A biologically-based model of social pressure, which hints at various metabolic constraints that could be at play, so that the brain doesn’t waste precious energy.


@MaxLee any progress? I’ve rebooted the Pony-Erlang C Node project, which can now receive messages from other nodes. As for the HTM in Pony I’ll have to rethink error-handling, and if I get some time, will continue with it


I have the prototype of a scalar encoding and spatial pooler with distributed SP via gensim, though haven’t been able to work (on this) for about a month. I’m winding down one of my contracts, and should be able to put more time into this over the next few weeks, aiming at a TM implementation by the end of two weeks.

Got big plans for this as I move more deeply into robotics over the next year, where each node can do its own encoding before sending it off to the cluster for computation and feedback.


Superb. Is it public already by any chance?


Let me prettify it a bit and remove dead ideas, then I’ll update it on github. :slight_smile:

Update (Thursday, March 21, 2019):
Life and its demands has continued to delay my doing this, but I AM pushing hard to get this out this weekend.