@fergalbyrne @lscheinkman @alavin,
I updated the GIST test to show the active cells and the predictive cells in addition to the other fields being compared.
Again…
This comparison is between the Full NAPI and just the RAW algorithms (no Network or Layer).
The output is exactly the same. This proves that there is consistency in the output. @fergalbyrne, I did an output of the cell content of your entire interaction test and the cells are not the same.
Your claim that the output of both the NAPI and the Layer fields is the same until you introduce an anomaly, upon further inspection of the Cell output, doesn’t appear to be accurate. The fact is that I don’t see them ever being the same.
This just proves that you can’t rely on the Layer fields which are constantly getting overwritten. I’ll probably remove those fields and force the user to use the Observer in non-alpha code. If this experience has taught me anything, it’s taught me that offering methods which aren’t guaranteed to be “sane” is not a good thing.
Here’s my sample from your “interaction test”, of the cell and segment content as well as the column content which shows that there is never any consistency between the Observer and Layer (where the Gist above comparing NAPI vs. Nothing, which anyone can run themselves, shows absolute equality):
Cycle: 4209
-----------
**From the Observer:**
activeSegments = [27, 47, 57, 59, 58, 62, 60, 61, 126, 125, 127, 128, 28, 37, 50, 85, 82, 98, 94, 95, 92, 88, 93, 87, 89, 91, 90, 104, 100, 102, 105, 101, 103]
predictiveCells = [11, 42, 9, 43, 32, 101, 69, 76, 49, 20, 74, 107, 44, 102, 52, 103, 22, 6, 112, 45, 117, 16, 53, 57, 72, 7, 96, 31, 67]
activeCells = [21, 75, 14, 17, 23, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113]
successfullyPredictedColumns = [3, 12, 2]
winnerCells = [21, 75, 14, 17, 23, 50, 57, 106, 111]
sdr = [21, 75, 14, 17, 23, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113]
**From the Layer:**
activeSegments = [22, 23, 177, 178, 139, 140, 138, 144, 142, 141, 143, 27, 32, 97, 95, 98, 99, 100, 101, 96, 94, 89, 91, 93, 90, 92, 21, 106, 105, 102, 103, 104, 176, 179, 180, 175, 107, 109, 111, 112, 108, 110, 113, 153, 155, 151, 156, 152, 154, 48, 49, 46, 148, 146, 147, 28, 18, 20, 132, 134, 136, 63, 59, 61, 62, 58, 60]
predictiveCells = [104, 111, 53, 73, 43, 48, 15, 117, 102, 56, 110, 6, 77, 49, 17, 54, 107, 108, 114, 47, 12, 52, 22, 72, 106, 58, 8, 44, 21, 109, 30, 68, 11, 45, 96, 42, 10, 99, 34, 70, 55, 46, 50, 13, 51, 97, 32, 67, 7]
activeCells = [74, 16, 19, 12, 20, 76, 17, 13, 22, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113]
successfullyPredictedColumns = [12, 2, 3]
winnerCells = [74, 16, 19, 12, 20, 76, 17, 13, 22, 52, 59, 105, 112]
sdr = [74, 16, 19, 12, 20, 76, 17, 13, 22, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113]
Cycle: 4210
-----------
**From the Observer:**
activeSegments = [85, 82, 96, 98, 94]
predictiveCells = [103, 22, 48, 102, 6]
activeCells = [76, 49, 20, 74, 107, 102, 52, 103, 22, 112, 16, 53, 72]
successfullyPredictedColumns = [12, 8, 3, 17, 18, 2]
winnerCells = [76, 49, 20, 74, 107, 102, 52, 103, 22, 112, 16, 53, 72]
sdr = [76, 49, 20, 74, 107, 102, 52, 103, 22, 112, 16, 53, 72]
**From the Layer:**
activeSegments = [148, 147, 106, 105, 102, 103, 104, 97, 95, 98, 99, 100, 101, 96, 139, 140, 138, 144, 142, 141, 143]
predictiveCells = [55, 50, 106, 58, 8, 44, 53, 49, 17, 54, 107, 108, 114, 47, 43, 48, 15, 117, 102, 56, 110]
activeCells = [104, 111, 53, 73, 48, 15, 102, 110, 77, 49, 17, 107, 108, 12, 52, 22, 72, 106, 21, 109, 50, 13, 51]
successfullyPredictedColumns = [17, 18, 8, 12, 2, 3]
winnerCells = [104, 111, 53, 73, 48, 15, 102, 110, 77, 49, 17, 107, 108, 12, 52, 22, 72, 106, 21, 109, 50, 13, 51]
sdr = [104, 111, 53, 73, 48, 15, 102, 110, 77, 49, 17, 107, 108, 12, 52, 22, 72, 106, 21, 109, 50, 13, 51]
Fergal, all I’m trying to say at this point is that the Layer can’t be used and was never intended to be used as a defacto output. We need to continue the analysis from another direction. Running the code in HTMModel without the Observer may be an interesting test, but I think we need to run things without the NAPI altogether to really test the theory of the Observable interference?