def testActivateCorrectlyPredictiveCells(self): tm = TemporalMemory() prevPredictiveCells = set([tm.layer.columns[0].cells[0], tm.layer.columns[7].cells[13], tm.layer.columns[32].cells[2], tm.layer.columns[823].cells[1], tm.layer.columns[823].cells[3], tm.layer.columns[1735].cells[16]]) activeColumns = set([tm.layer.columns[32], tm.layer.columns[47], tm.layer.columns[823]]) prevMatchingCells = set() (activeCells, winnerCells, predictedColumns, predictedInactiveCells) = tm.activateCorrectlyPredictiveCells(prevPredictiveCells, prevMatchingCells, activeColumns) self.assertEqual(activeCells, set([tm.layer.columns[32].cells[2], tm.layer.columns[823].cells[1], tm.layer.columns[823].cells[3]])) self.assertEqual(winnerCells, set([tm.layer.columns[32].cells[2], tm.layer.columns[823].cells[1], tm.layer.columns[823].cells[3]])) self.assertEqual(predictedColumns, set([tm.layer.columns[32], tm.layer.columns[823]])) self.assertEqual(predictedInactiveCells, set())
def testActivateCorrectlyPredictiveCellsOrphan(self): tm = TemporalMemory() tm.predictedSegmentDecrement = 0.001 prevPredictiveCells = set([]) activeColumns = set([tm.layer.columns[32], tm.layer.columns[47], tm.layer.columns[823]]) prevMatchingCells = set([tm.layer.columns[1].cells[0], tm.layer.columns[1].cells[15]]) (activeCells, winnerCells, predictedColumns, predictedInactiveCells) = tm.activateCorrectlyPredictiveCells(prevPredictiveCells, prevMatchingCells, activeColumns) self.assertEqual(activeCells, set([])) self.assertEqual(winnerCells, set([])) self.assertEqual(predictedColumns, set([])) self.assertEqual(predictedInactiveCells, set([tm.layer.columns[1].cells[0], tm.layer.columns[1].cells[15]]))