org.encog.ml.prg.generator
Class PrgGrowGenerator
java.lang.Object
org.encog.ml.prg.generator.AbstractPrgGenerator
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
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 |
PrgGrowGenerator
public PrgGrowGenerator(EncogProgramContext theContext,
int theMaxDepth)
- Construct the grow generator.
- Parameters:
theContext
- The program context.theMaxDepth
- The max depth.
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.