NuPIC implementation in Actor Model?



I’ve never used the actor model in any complicated project. I’ve also never really used NupPIC, So I don’t know really anything about what I’m talking about but…

It seems to me that the brain computes concurrently (because it’s physically concurrent), and NuPIC is meant to model the brain, so my question is, “should NuPIC, or a network of NuPIC engines be implemented in the Actor model of programming?”

Actors could be regions, or if actors are cheaper, they could actually model individual cortical columns.

Connections are messages so their cheap and easy to set up and tear down. modeling connections would be straightforward. it would be easily scalable across many cores or many computers.

It just seems like the way to go intuitively, perhaps using elixir or erlang so concurrency is easy, parallelism is natural and shared state isn’t possible.

Any thoughts? Is someone doing this?


Jordan, have you seen @d-led’s HTM implementation in Pony?


@jordan.kay thanks for the convergent thought! That’s my intuition too. You’re welcome to participate in the Pony experiment! Once the pattern is validated, one can either switch to Elixir and re-implement, or scale out of one machine via whatever messaging technology in Pony, e.g. Msgpack via ZeroMq.

Btw, the Actor Model is slowly reaching the browser too: