org.encog.ml.prg.generator

## Class PrgFullGenerator

- java.lang.Object
- - org.encog.ml.prg.generator.AbstractPrgGenerator
  - - org.encog.ml.prg.generator.PrgFullGenerator

- All Implemented Interfaces:
    PopulationGenerator, PrgGenerator, MultiThreadable

      public class PrgFullGenerator
      extends AbstractPrgGenerator

  The full generator works by creating program trees that do not stop prematurely. To do this a node is randomly selected from the "function set" until the tree reaches the maximum depth. Once the tree reaches the maximum depth only nodes from the "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

    Constructors
    Constructor and Description
    `PrgFullGenerator(EncogProgramContext theContext, int theMaxDepth)` Construct the full generator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

    - #### PrgFullGenerator

          public PrgFullGenerator(EncogProgramContext theContext,
                          int theMaxDepth)

      Construct the full generator.
      Parameters:
        `theContext` - The 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.