org.encog.neural.hyperneat.substrate
Class Substrate

java.lang.Object
  extended by org.encog.neural.hyperneat.substrate.Substrate
All Implemented Interfaces:
Serializable

public class Substrate
extends Object
implements Serializable

The substrate defines the structure of the produced HyperNEAT network. A substrate is made up of nodes and links. A node has a location that is an n-dimensional coordinate. Nodes are grouped into input and output clusters. There can also be hidden neurons between these two. A HyperNEAT network works by training a CPPN that produces the actual resulting NEAT network. The size of the substrate can then be adjusted to create larger networks than what the HyperNEAT network was originally trained with. ----------------------------------------------------------------------------- http://www.cs.ucf.edu/~kstanley/ Encog's NEAT implementation was drawn from the following three Journal Articles. For more complete BibTeX sources, see NEATNetwork.java. Evolving Neural Networks Through Augmenting Topologies Generating Large-Scale Neural Networks Through Discovering Geometric Regularities Automatic feature selection in neuroevolution

See Also:
Serialized Form

Constructor Summary
Substrate(int theDimensions)
          Construct a substrate with the specified number of dimensions in the input/output layers.
 
Method Summary
 SubstrateNode createHiddenNode()
           
 SubstrateNode createInputNode()
           
 void createLink(SubstrateNode inputNode, SubstrateNode outputNode)
           
 SubstrateNode createNode()
           
 SubstrateNode createOutputNode()
           
 int getActivationCycles()
           
 List<SubstrateNode> getBiasedNodes()
           
 int getDimensions()
           
 List<SubstrateNode> getHiddenNodes()
           
 int getInputCount()
           
 List<SubstrateNode> getInputNodes()
           
 int getLinkCount()
           
 List<SubstrateLink> getLinks()
           
 int getNodeCount()
           
 int getOutputCount()
           
 List<SubstrateNode> getOutputNodes()
           
 void setActivationCycles(int activationCycles)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Substrate

public Substrate(int theDimensions)
Construct a substrate with the specified number of dimensions in the input/output layers.

Parameters:
theDimensions -
Method Detail

getHiddenNodes

public List<SubstrateNode> getHiddenNodes()
Returns:
the hiddenNodes

getDimensions

public int getDimensions()

getInputNodes

public List<SubstrateNode> getInputNodes()
Returns:
the inputNodes

getOutputNodes

public List<SubstrateNode> getOutputNodes()
Returns:
the outputNodes

getInputCount

public int getInputCount()

getOutputCount

public int getOutputCount()

createNode

public SubstrateNode createNode()

createInputNode

public SubstrateNode createInputNode()

createOutputNode

public SubstrateNode createOutputNode()

createHiddenNode

public SubstrateNode createHiddenNode()

createLink

public void createLink(SubstrateNode inputNode,
                       SubstrateNode outputNode)

getLinks

public List<SubstrateLink> getLinks()
Returns:
the links

getLinkCount

public int getLinkCount()
Returns:
The link count.

getNodeCount

public int getNodeCount()

getActivationCycles

public int getActivationCycles()
Returns:
the activationCycles

setActivationCycles

public void setActivationCycles(int activationCycles)
Parameters:
activationCycles - the activationCycles to set

getBiasedNodes

public List<SubstrateNode> getBiasedNodes()
Returns:
A list of all nodes that are connected to the bias neuron. This is typically all non-input neurons.


Copyright © 2014. All Rights Reserved.