An algorithm for analysing cyclic networks and calculating the depth of each node in the network. Bias and input nodes are defined as being at depth 0, the depth of all other nodes is defined as the maximum number of hops from the depth 0 nodes, so where multiple paths exist to a node (potentially with different numbers of hops) we take the maximum number of hops as that node's depth. The number of hops to a node ignores any cycles in the connectivity, that is, the number of hops is the number of hops in the direct routes to a node (no node in the pathway more than once, hence not including any cycles)