Falco posted the article which includes the code we used for the simulations. If I recall correctly, the idea that a column doesn’t need to have voting connections to every other column is not mentioned in the article. It comes from the properties of sparse representations. The number of synapses you need to form to recognize a pattern depends mostly on the sparsity of the pattern and not the size of the vector. If 1% of the neurons are active then forming 20 to 30 synapses to active neurons is sufficient to recognize a pattern regardless if size of the vector is 10K or 1M. So increasing the number of columns that are voting does not increase the number of voting synapses required for any individual column. The number of voting synapses needed overall increases linearly with the number of columns.