10.3.3.4 Unit_Group Based Connectivity

There are a couple of classes that specifically pay attention to the sub-groups of units within a layer, if these have been created (the other types of projections just ignore this level of structure).

There is a sub-class of the full projection called the GpFullPrjnSpec, which does the same thing the full prjn spec, but creates separate connection groups based on the sending and receiving unit-group structure. Thus, the result is full connectivity, but this is broken down so separate unit sub-groups can be treated separately (e.g., if there were a weight-based competition between the units in a sub-group, or between sub-groups). The n_con_groups parameter determines whether there is one con-group per RECV_SEND_PAIR, or just one per SEND_ONLY, which is one con-group per unit-group on the sending layer.

The GpOneToOnePrjnSpec connects unit groups in two layers in a one-to-one fashion, much as the OneToOnePrjnSpec connects units in a layer in a one-to-one fashion.

The GpOneToManyPrjnSpec connects one or more sending groups to all receiving groups. It can greate these connections in a number of separate connection groups, or all in one group, depending on the n_con_groups parameter (see GpFullPrjnSpec above). Note that the recv_start parameter is ignored, and only the send_start, which determines which sending group to start with, and the n_conns, which determines how many sending groups to use beyond the start, are relevant.