예제 #1
0
  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())
예제 #2
0
  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]]))