10.3.3.3 Random Patterns of Connectivity

The UniformRandomPrjnSpec specifies a uniform random pattern of connectivity.

p_con specifies the overall probability of connectivity -- a connection is made with a given sending unit with this probability. The permute flag indicates that a randomly-ordered list of sending units is created, and p_con * n_units are selected for connecting --- creates exactly the same number of connections per receiving unit. same_seed specifies that this projection saves the random seed used for creating connections, so tht the pattern is the same every time (useful for being able to read in weight files for randomly connected networks).

The PolarRndPrjnSpec creates randomized patterns of connectivity as a function of distance and angle between sending and receiving unit. Distance and angle are computed from the center of a receiving unit's receptive field in the sending layer, which, as with the TesselPrjnSpec described above, can be computed in different ways. Two different random functions control the distribution of connectivity in distance and angle.

The dist_type field controls how the distance is computed, as follows:

XY_DIST
Just a simple distance function using the receiver's coordinates in the sending layer. This works fine when both layers are the same size.
XY_DIST_CENTER
The receiver's coordinates are transformed relative to the center of the sending layer. This makes the distance distribution symmetrical.
XY_DIST_NORM
The receiver's coordinates are normalized by the total size of the sending layer.
XY_DIST_CENTER_NORM
The receiver's coordinates are normalized by the total size of the sending layer, and are computed relative to the center of the layer. This will result in a reasonable distance measure even when the two layers are of different sizes.

The rnd_dist and rnd_angle are Random (see section 8.5 Random Distributions) classes that specify the distributions and associated parameters for connection distance and angle from the receiving unit. Distance is scaled as above, and angle is done on a 0-1 scale (i.e., the random number is multiplied by 2pi). p_con determines how many connections are made. A target value of p_con * n_units in the sending layer is used, and connections are attempted, rejecting attempts to reconnect to an existing connection, until max_retries such rejections have been made. Thus, for very tight distributions, the same units will be selected again and again, and it may be impossible for p_con different connections to be established. In this case, a warning message is issued.

The wrap flag determines if the units are treated as one big wrapping-around surface, or if it is clipped at the edges of the layer.

same_seed functions as on the UniformRandomPrjnSpec