@Paul_Lamb and @rhyolight sorry for the delayed response. I can try to clear up some of the confusion here, although future HTM School episodes and our upcoming Spatial Pooler chapter in BaMI (shameless plug) that I'm writing will help provide a complete understanding of the SP.
Yes, but more specifically "... the number of cells within a column's inhibition radius that the column could possibly connect to."
A column's potential synapses are a random set of inputs selected from the column's input space. A synapse is connected if its permanence is above the connected perm threshold, and the initial permanence values are selected such that they're in a small range around this threshold, where 50% are above and 50% are below. Also, the initial permanence values are higher towards the center of the column's input space, giving the column a natural center over its receptive field. Initializing the SP this way enables potential synapses to become connected (or disconnected) after a small number of training iterations. Sorry if that's too much info
This should be set so that on average, at least 15-20 input bits are connected when the spatial pooler is initialized. If the input to a column contains 40 ON bits, and permanences are initialized such that 50% of the synapses are initially connected, then you will want
potentialPct to be at least 0.75 because 40*0.5*0.75 = 15.
Yes, this would affect the spatial pooler's ability to self-adjust the columns' receptive fields as it learns over time; maintaining a large pool of potential synapses is important for SP plasticity. The effects of changing the potential percent are of course very dependent on the sizes of the input space and the SP, and the inhibition radius.
You're correct. A small potential radius will keep a column’s receptive field local, while a very large potential radius will give the column global coverage over the input space. In practice we typically use the latter, where a column can cover the entire input space.