How new segment is created in winner cell in burst column for the first time stamp

question

#1

As in pseudo code of function burstColumn(column):


33. winnerCell = leastUsedCell(column)
34. if LEARNING_ENABLED:
35. learningSegment = growNewSegment(winnerCell)


lets say for the first SDR as input to Temporal Memory algorithm, first it selects an active column from SDR as active(burst) and randomly selects a winner cell , now I am confused about how segments will be created in that winner cell? since for now it’s only one winner cell in one selected active column for the first time stamp.
honestly I want to know how growNewSegment(winnerCell) function works.
thank you.


#2

Following the source code:


#3

A new segment is grown on the winner cell chosen in each column (1 on each winner of the 40 activated columns)


#4

so for the first time a new segment will be grown in the selected winner cell in 1 column from 40 columns(active SDR columns). But how many synapses will be there? because to grow a segment means to grow its synapses.


#5

Each new segment will start out with up to maxNewSynapseCount synapses.


#6

If there is a best matching segment on any cells in the column, the number of new synapses grown on the segment = ‘maxNewSynapseCount’ (default=20 I think) minus the number of active synapses already on that segment.

If there is no best matching segment on any cell in the column, the least used cell in the column (with fewest existing segments) grows a new segment with ‘maxNewSynapseCount’ synapses formed to the ‘prevWinnerCells’.