htm-community / comportex

Hierarchical Temporal Memory in Clojure
153 stars 27 forks source link

Change (combined-dimensions ...) to solve the general case. #5

Closed mrcslws closed 9 years ago

mrcslws commented 9 years ago

Take the existing approach, written on a case by case basis for [1D 2D 3D] x [1D 2D 3D], and write the general algorithm for arbitrary sets of dimensions.

mrcslws commented 9 years ago

Relevant: http://xkcd.com/974/

I stared at the big (cond ...) for a while, and this is what I came up with. Let me know what you think.

mrcslws commented 9 years ago

You could imagine making this function more impressive, finding all possible solutions and evaluating them with a utility function. E.g. maybe calculate how much the change has disrupted the previous distances between indices, and use the solution that minimizes that.

My impression is that it's not super-valuable to enhance this. Any region-network trying to be impressive should use compatible topologies.

floybix commented 9 years ago

I agree, if you wanted to go crazy with it you could support non-rectangular topologies! Not worth the extra complexity.

On Sunday, November 30, 2014, Marcus Lewis notifications@github.com wrote:

You could imagine making this function more impressive, finding all possible solutions and evaluating them with a utility function. E.g. maybe calculate how much the change has disrupted the previous distances between indices, and use the solution that minimizes that.

My impression is that it's not super-valuable to enhance this. Any region-network trying to be impressive should use compatible topologies.

— Reply to this email directly or view it on GitHub https://github.com/nupic-community/comportex/pull/5#issuecomment-64975562 .

Felix Andrews / 安福立 http://www.neurofractal.org/felix/

floybix commented 9 years ago

Nice one!

Love the xkcd too.