I've been messing around with HyperNEAT and ran into a slight issue. From what I understand, the substrate is the initial layout of nodes which are subsequently used to query a CPPN to provide connection weights. I understand that the CPPN activation functions are just the set of activation functions that can appear in each node in the CPPN, but what do the substrate activation functions refer to? I was under the impression that the substrate is not necessarily a network but just a layout used to incorporate the geometry of the problem into the CPPN's pattern producing abilities. So where do substrate activation functions come in?
EDIT: I'm using UnityNEAT which is a port of SharpNEAT to Unity.
Thanks