org.encog.ml.prg.generator
Class PrgGrowGenerator

java.lang.Object
  extended by org.encog.ml.prg.generator.AbstractPrgGenerator
      extended by org.encog.ml.prg.generator.PrgGrowGenerator
All Implemented Interfaces:
PopulationGenerator, PrgGenerator, MultiThreadable

public class PrgGrowGenerator
extends AbstractPrgGenerator

The grow generator creates a random program by choosing a random node from both the "function and terminal" sets until the maximum depth is reached. Once the maximum depth is reached only nodes from terminal set are chosen. This algorithm was implemented as described in the following publication: Genetic programming: on the programming of computers by means of natural selection MIT Press Cambridge, MA, USA (c)1992 ISBN:0-262-11170-5


Constructor Summary
PrgGrowGenerator(EncogProgramContext theContext, int theMaxDepth)
          Construct the grow generator.
 
Method Summary
 ProgramNode createNode(Random rnd, EncogProgram program, int depthRemaining, List<ValueType> types)
          Create a random node for an Encog Program.
 
Methods inherited from class org.encog.ml.prg.generator.AbstractPrgGenerator
addPopulationMember, attemptCreateGenome, createRandomNode, createTerminalNode, determineMaxDepth, generate, generate, generateRandomOpcode, getContext, getMaxConst, getMaxDepth, getMaxGenerationErrors, getMinConst, getRandomFactory, getScore, getThreadCount, isHasEnum, setMaxConst, setMaxGenerationErrors, setMinConst, setRandomFactory, setScore, setThreadCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrgGrowGenerator

public PrgGrowGenerator(EncogProgramContext theContext,
                        int theMaxDepth)
Construct the grow generator.

Parameters:
theContext - The program context.
theMaxDepth - The max depth.
Method Detail

createNode

public ProgramNode createNode(Random rnd,
                              EncogProgram program,
                              int depthRemaining,
                              List<ValueType> types)
Create a random node for an Encog Program.

Parameters:
rnd - Random number generator.
program - The program that the node should be generated for.
depthRemaining - The depth remaining to generate.
types - The types to generate.
Returns:
The newly created node.


Copyright © 2014. All Rights Reserved.