gpsys
Class GeneFunction

java.lang.Object
  |
  +--gpsys.Gene
        |
        +--gpsys.GeneFunction
Direct Known Subclasses:
GeneFunctionFull, GeneFunctionGrow

public abstract class GeneFunction
extends Gene
implements java.lang.Cloneable

A GeneFunction is a Gene tree representing a function call. A GeneFunction therefore has Gene arguments (branches or subtrees).

Version:
$Revision: 1.1 $, $Date: 2000/07/05 16:21:25 $
Author:
Adil Qureshi
Department of Computer Science,
University College London,
Gower St,
London WC1E 6BT,
UK.
See Also:
Gene, GeneFunctionGrow, GeneFunctionFull, Serialized Form

Field Summary
 Gene[] arguments
          The arguments for this function call.
 
Fields inherited from class gpsys.Gene
p
 
Constructor Summary
GeneFunction()
           
 
Method Summary
 int complexity()
          Get the number of Genes in this Gene tree.
 Gene deepClone()
          Make a clone of this Gene tree, cloning all subtrees.
 int depth()
          Get the maximum depth of this Gene tree
 boolean evaluateBoolean(Individual i)
          Evaluate this Gene as Function returning a boolean.
 byte evaluateByte(Individual i)
          Evaluate this Gene as Function returning a byte.
 char evaluateChar(Individual i)
          Evaluate this Gene as Function returning a char.
 double evaluateDouble(Individual i)
          Evaluate this Gene as Function returning a double.
 float evaluateFloat(Individual i)
          Evaluate this Gene as Function returning a float.
 int evaluateInt(Individual i)
          Evaluate this Gene as Function returning an int.
 long evaluateLong(Individual i)
          Evaluate this Gene as Function returning a long.
 java.lang.Object evaluateObject(Individual i)
          Evaluate this Gene as Function returning an Object reference.
 short evaluateShort(Individual i)
          Evaluate this Gene as Function returning a short.
 java.lang.String toString()
          Create a String representing this Gene tree.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

arguments

public Gene[] arguments
The arguments for this function call. The length of this array is equal to the number of arguments taken by the function referenced by this Gene.
Constructor Detail

GeneFunction

public GeneFunction()
Method Detail

evaluateObject

public java.lang.Object evaluateObject(Individual i)
                                throws EvaluationException
Evaluate this Gene as Function returning an Object reference.
Parameters:
i - the individual to which this Gene belongs
Returns:
An Object which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateObject in class Gene

evaluateByte

public byte evaluateByte(Individual i)
                  throws EvaluationException
Evaluate this Gene as Function returning a byte.
Parameters:
i - the individual to which this Gene belongs
Returns:
A byte which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateByte in class Gene

evaluateShort

public short evaluateShort(Individual i)
                    throws EvaluationException
Evaluate this Gene as Function returning a short.
Parameters:
i - the individual to which this Gene belongs
Returns:
A short which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateShort in class Gene

evaluateInt

public int evaluateInt(Individual i)
                throws EvaluationException
Evaluate this Gene as Function returning an int.
Parameters:
i - the individual to which this Gene belongs
Returns:
An int which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateInt in class Gene

evaluateLong

public long evaluateLong(Individual i)
                  throws EvaluationException
Evaluate this Gene as Function returning a long.
Parameters:
i - the individual to which this Gene belongs
Returns:
A long which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateLong in class Gene

evaluateFloat

public float evaluateFloat(Individual i)
                    throws EvaluationException
Evaluate this Gene as Function returning a float.
Parameters:
i - the individual to which this Gene belongs
Returns:
A float which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateFloat in class Gene

evaluateDouble

public double evaluateDouble(Individual i)
                      throws EvaluationException
Evaluate this Gene as Function returning a double.
Parameters:
i - the individual to which this Gene belongs
Returns:
A double which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateDouble in class Gene

evaluateChar

public char evaluateChar(Individual i)
                  throws EvaluationException
Evaluate this Gene as Function returning a char.
Parameters:
i - the individual to which this Gene belongs
Returns:
A char which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateChar in class Gene

evaluateBoolean

public boolean evaluateBoolean(Individual i)
                        throws EvaluationException
Evaluate this Gene as Function returning a boolean.
Parameters:
i - the individual to which this Gene belongs
Returns:
A boolean which is the result of the evaluation.
Throws:
EvaluationException - If there is an evaluation failure.
Overrides:
evaluateBoolean in class Gene

depth

public int depth()
Get the maximum depth of this Gene tree
Returns:
the maximum depth of the tree.
Overrides:
depth in class Gene

complexity

public int complexity()
Get the number of Genes in this Gene tree.
Returns:
the number of Genes in this Gene tree.
Overrides:
complexity in class Gene

deepClone

public Gene deepClone()
Make a clone of this Gene tree, cloning all subtrees.
Returns:
a clone of this Gene.
Overrides:
deepClone in class Gene

toString

public java.lang.String toString()
Create a String representing this Gene tree.
Returns:
a String representing this tree.
Overrides:
toString in class Gene