Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.encog.ml.prg.generator
Class RampedHalfAndHalf

    java.lang.Object
      org.encog.ml.prg.generator.AbstractPrgGenerator
          org.encog.ml.prg.generator.RampedHalfAndHalf

All Implemented Interfaces:
  PopulationGenerator, PrgGenerator, MultiThreadable

    public class RampedHalfAndHalf

extends AbstractPrgGenerator

Because neither the grow or full method provide a very wide array of sizes or shapes on their own, Koza (1992) proposed a combination called ramped half-and-half. Half the initial population is constructed using full and half is constructed using grow. This is done using a range of depth limits (hence the term "ramped") to help ensure that we generate trees having a variety of sizes and shapes. (from: A field guide to genetic programming) 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
`RampedHalfAndHalf(EncogProgramContext theContext, int theMinDepth, int theMaxDepth)` Construct the ramped half-and-half generator.

Method Summary
`ProgramNode` | `createNode(Random rnd, EncogProgram program, int depthRemaining, List<ValueType> types)` Create a random node for an Encog Program.
`int` | `determineMaxDepth(Random rnd)`
`int` | `getMinDepth()`

Methods inherited from class org.encog.ml.prg.generator.AbstractPrgGenerator
`addPopulationMember, attemptCreateGenome, createRandomNode, createTerminalNode, 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

### RampedHalfAndHalf

    public RampedHalfAndHalf(EncogProgramContext theContext,
                             int theMinDepth,
                             int theMaxDepth)

  Construct the ramped half-and-half generator.

  Parameters:
    `theContext` - The context.
    `theMinDepth` - The minimum depth.
    `theMaxDepth` - The maximum 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.

### determineMaxDepth

    public int determineMaxDepth(Random rnd)

  Overrides:
    `determineMaxDepth` in class `AbstractPrgGenerator`

### getMinDepth

    public int getMinDepth()

  Returns:
    The minimum depth.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2014. All Rights Reserved.