Been working on understanding the theory/code by writing a C# version and I might found a bug in the SpatialPooler, not sure as I'm still learning.
The noise that goes into overlaps is the same for the whole running time, so the same medium-low probability columns will be activated.
It sounds wrong because some columns with the exact overlap score wont ever be activated for the same input, and the network will learn less to deal with noises?.
I looked over on the py version and they dont seem to use tieBreaker, but looked over the issues and its still not solved.
Second thing I found is updateDutyCycles, allocates overlapArray and passes it to updateDutyCyclesHelper, so it always passes a zeroed array, should probably use overlaps?
Should I open an Issue with these 2?