JAGA Homepage

org.jaga.individualRepresentation.booleanFormulas
Class BooleanFormulaTreeFactory

java.lang.Object
  extended by org.jaga.individualRepresentation.booleanFormulas.BooleanFormulaTreeFactory
All Implemented Interfaces:
IndividualsFactory

public class BooleanFormulaTreeFactory
extends java.lang.Object
implements IndividualsFactory

TODO: Complete these comments.

Project: JAGA - Java API for Genetic Algorithms.

Company: University College London and JAGA.Org (http://www.jaga.org).

Copyright: (c) 2004 by G. Paperin.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, ONLY if you include a note of the original author(s) in any redistributed/modified copy.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or see http://www.gnu.org/licenses/gpl.html

Version:
JAGA public release 1.0 beta
Author:
Greg Paperin (greg@jaga.org)

Field Summary
private  boolean allowConstants
           
private  java.lang.Class[] allowedNodeTypes
           
private  int maxTreeDepth
           
private  int numberOfParameters
           
private static java.lang.Class[] stoppersWithConsts
           
private static java.lang.Class[] stoppersWithoutConsts
           
 
Constructor Summary
BooleanFormulaTreeFactory()
           
BooleanFormulaTreeFactory(int maxTreeDepth, int numberOfParameters, java.lang.Class[] allowedNodeTypes, boolean allowConstants)
           
 
Method Summary
 BooleanFormulaTree clone(BooleanFormulaTree template, GAParameterSet params)
           
 Individual createDefaultIndividual(GAParameterSet params)
          Creates a new default individual.
private  BooleanFormulaTreeNode createOneNodeOfRandomType(java.lang.Class[] nodeTypes, GAParameterSet params)
           
 Individual createRandomIndividual(GAParameterSet params)
          Creates a random individual according to this factory's current internal settings and expariment paramanters.
 BooleanFormulaTreeNode createRandomNode(int thisDepth, GAParameterSet params)
           
private  BooleanFormulaTreeNode createRandomStopNode(GAParameterSet params)
           
 Individual createSpecificIndividual(java.lang.Object init, GAParameterSet params)
          Creates a new individual and initialises it to the specified value(s).
 boolean getAllowConstants()
           
 java.lang.Class[] getAllowedNodeTypes()
           
 int getMaxTreeDepth()
           
 int getNumberOfParameters()
           
 void setAllowConstants(boolean val)
           
 void setAllowedNodeTypes(java.lang.Class[] val)
           
 void setMaxTreeDepth(int maxDepth)
           
 void setNumberOfParameters(int val)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stoppersWithConsts

private static final java.lang.Class[] stoppersWithConsts

stoppersWithoutConsts

private static final java.lang.Class[] stoppersWithoutConsts

maxTreeDepth

private int maxTreeDepth

numberOfParameters

private int numberOfParameters

allowedNodeTypes

private java.lang.Class[] allowedNodeTypes

allowConstants

private boolean allowConstants
Constructor Detail

BooleanFormulaTreeFactory

public BooleanFormulaTreeFactory()

BooleanFormulaTreeFactory

public BooleanFormulaTreeFactory(int maxTreeDepth,
                                 int numberOfParameters,
                                 java.lang.Class[] allowedNodeTypes,
                                 boolean allowConstants)
Method Detail

getMaxTreeDepth

public int getMaxTreeDepth()

setMaxTreeDepth

public void setMaxTreeDepth(int maxDepth)

getNumberOfParameters

public int getNumberOfParameters()

setNumberOfParameters

public void setNumberOfParameters(int val)

getAllowedNodeTypes

public java.lang.Class[] getAllowedNodeTypes()

setAllowedNodeTypes

public void setAllowedNodeTypes(java.lang.Class[] val)

getAllowConstants

public boolean getAllowConstants()

setAllowConstants

public void setAllowConstants(boolean val)

createDefaultIndividual

public Individual createDefaultIndividual(GAParameterSet params)
Description copied from interface: IndividualsFactory
Creates a new default individual. For same factory settings, this method must always return the same individual (a new instance holding the same values), which is considered the defaut individual for those settings.

Specified by:
createDefaultIndividual in interface IndividualsFactory
Parameters:
params - Experiment parameters.
Returns:
A new instance of the dafault individual for this factory's current settings.

createRandomIndividual

public Individual createRandomIndividual(GAParameterSet params)
Description copied from interface: IndividualsFactory
Creates a random individual according to this factory's current internal settings and expariment paramanters.

Specified by:
createRandomIndividual in interface IndividualsFactory
Parameters:
params - Experiment parameters.
Returns:
A new instanc eof a randomly created individual.

createSpecificIndividual

public Individual createSpecificIndividual(java.lang.Object init,
                                           GAParameterSet params)
Description copied from interface: IndividualsFactory
Creates a new individual and initialises it to the specified value(s). The parameter init can hold any value(s) which this factory knows to interprete.
In particular, a factory should be able to handle Individual-objects of the same type as produced by the factory. If such an Individual-object is passed as the init-value, a deep copy of the individual should be created and returned by this method.
Any other type is permited for the init-value, but the value should not be null. This method should create a new individual and initialise it with the value(s) packed encoded in init.

Specified by:
createSpecificIndividual in interface IndividualsFactory
Parameters:
init - Initialisation value(s) for a new individual.
params - Experiment parameters.
Returns:
A new instance of an individual produced by this factory, initialised to the value(s) specified in init.

clone

public BooleanFormulaTree clone(BooleanFormulaTree template,
                                GAParameterSet params)

createRandomNode

public BooleanFormulaTreeNode createRandomNode(int thisDepth,
                                               GAParameterSet params)

createRandomStopNode

private BooleanFormulaTreeNode createRandomStopNode(GAParameterSet params)

createOneNodeOfRandomType

private BooleanFormulaTreeNode createOneNodeOfRandomType(java.lang.Class[] nodeTypes,
                                                         GAParameterSet params)

JAGA Homepage

Go to JAGA Homepage