The RandomPrjnSpec specify 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
XY_DIST_CENTER
XY_DIST_NORM
XY_DIST_CENTER_NORM
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.