ec.gp
Interface GPNodeSelector

All Superinterfaces:
java.lang.Cloneable, Prototype, java.io.Serializable, Setup
All Known Implementing Classes:
KozaNodeSelector

public interface GPNodeSelector
extends Prototype

GPNodeSelector is a Prototype which describes algorithms which select random nodes out of trees, typically marking them for mutation, crossover, or whatnot. GPNodeSelectors can cache information about a tree, as they may receive the pickNode(...) method more than once on a tree. But this should really only be done if it can be done relatively efficiently; it's not all that common. A GPNodeSelector will be called reset() just before it is pressed into service in selecting nodes from a new tree, which gives it the chance to reset caches, etc.

Version:
1.0
Author:
Sean Luke

Method Summary
 GPNode pickNode(EvolutionState s, int subpopulation, int thread, GPIndividual ind, GPTree tree)
          Picks a node at random from tree and returns it.
 void reset()
          Resets the Node Selector before a new series of pickNode() if need be.
 
Methods inherited from interface ec.Prototype
clone, defaultBase, setup
 

Method Detail

pickNode

GPNode pickNode(EvolutionState s,
                int subpopulation,
                int thread,
                GPIndividual ind,
                GPTree tree)
Picks a node at random from tree and returns it. The tree is located in ind, which is located in s.population[subpopulation]. This method will be preceded with a call to reset(); afterwards, pickNode(...) may be called several times for the same tree.


reset

void reset()
Resets the Node Selector before a new series of pickNode() if need be.