C# (CSharp) SharpNeat.Network Namespace

Classes

Name Description
Absolute Absolute value (magnitude) activation function.
AbsoluteRoot Absolute root activation function with clipping. The square root of the absolute (magnitude) of the input value, with output value clipped to maximum of +1.0
ActivationFunctionInfo Represents a single item in an IActivationFunctionLibrary. The item represents an IActivationFunction and its ID and selection probability within the owning IActivationFunctionLibrary.
AcyclicNetworkDepthAnalysis An algorithm for analysing acyclic 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.
BipolarGaussian Bipolar Gaussian activation function. Output range is -1 to 1, that is, the tails of the Gaussian distribution curve tend towards -1 as abs(x) -> Infinity and the Gaussian peak is at y = 1.
BipolarSigmoid Bipolar sigmoid activation function. Output range is -1 to 1 instead of the more normal 0 to 1.
CyclicNetworkDepthAnalysis 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)
CyclicNetworkTest An algorithm for testing for the presence of at least one connectivity cycle within a network. Method. ======= 1) We loop over all nodes in the network and perform a depth-first traversal from each node. (Note. the order that the nodes are traversed does not affect the correctness of the method) 2) Each traversal keeps track of its ancestor nodes (the path to the current node) for each step in the traversal. Thus if the traversal encounters an ancestor node then a cycle has been detected. 3) A set of visited nodes is maintained. This persists between traversals and allows each traversal to avoid traversing into nodes that have already been traversed. Note. We must traverse from each node rather then just e.g. the input nodes, because the network may have connectivity dead ends or even isolated connectivity that therefore would not be traversed into by following connectivity from the input nodes only, hence we perform a traversal from each node and attempt to maintain algorithmic efficiency by avoiding traversal into nodes that have already been traversed into.
DefaultActivationFunctionLibrary Default implementation of an IActivationFunctionLibrary. Also provides static factory methods to create libraries with commonly used activation functions.
Gaussian Gaussian activation function. Output range is 0 to 1, that is, the tails of the Gaussian distribution curve tend towards 0 as abs(x) -> Infinity and the Gaussian peak is at x = 0.
InverseAbsoluteSigmoid A sigmoid curve produced from the simple and therefore fast arithmetic operations abs, divide and multiply. The curve is designed to match the SteepenedSigmoid activation function as closely as possible.
Linear Linear activation function with clipping. By 'clipping' we mean the output value is linear between x = -1 and x = 1. Below -1 and above +1 the output is clipped at -1 and +1 respectively.
NetworkConnection Concrete implementation of INetworkConnection.
NetworkConnectivityData Network connectivity data for a network. Connectivity data in a form that is convenient for network traversal algorithms.
NetworkDefinition Concrete implementation of INetworkDefinition. This class represents network definitions independently of any other requirements, e.g. a NeatGenome is also an INetworkDefinition but with additional baggage. This class is useful for representing network definitions, e.g. when creating a network instance from a HyperNEAT substrate.
NetworkDepthInfo Conveys summary information from a network depth analysis .
NetworkNode Concrete implementation of an INetworkNode.
NetworkXmlIO Static class for reading and writing Network Definitions(s) to and from XML.
NodeConnectivityData Stored the IDs of nodes that connect in and out of a given node.
NullFn Null activation function. Returns zero regardless of input.
PlainSigmoid Simple sigmoid activation function.
RbfGaussian Gaussian activation function. Output range is 0 to 1, that is, the tails of the gaussian distribution curve tend towards 0 as abs(x) -> Infinity and the gaussian's peak is at x = 0.
ReducedSigmoid Sigmoid activation function with a gentler (reduced) slope compared to the PlainSimple function.
Sine Sine activation function with doubled period.
SteepenedSigmoid Sigmoid activation function with a steeper curve than the PlainSimple function.
SteepenedSigmoidApproximation An approximation of the SteepenedSigmoid activation function. Faster to calculate but anecdotal evidence suggests using this function gives poorer results than SteepenedSigmoid. The increase in speed may also be in question with more recent hardware developments. E.g. with faster implementations of an exp function and underlying CPU execution of the code.
StepFunction Step activation function.