1. A computer-implemented method for growing a simulated neural circuit, the method comprising: generating a first array of simulated neurons having trees of output branches; generating a second array of simulated neurons having trees of input branches; growing the output branches of one or more of the simulated neurons of the first array; growing the input branches of one or more of the simulated neurons of the second array; and forming connections between individual output branches of the simulated neurons of the first array and individual input branches of the simulated neurons of the second array that grow to within a vicinity of each other.