|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectec.gp.ADFContext
public class ADFContext
ADFContext is the object pushed onto an ADF stack which represents the current context of an ADM or ADF function call, that is, how to get the argument values that argument_terminals need to return.
adf contains the relevant ADF/ADM node. If it's an ADF function call, then arguments[] contains the evaluated arguments to the ADF. If it's an ADM function call, then arguments[] is set to false.
You set up the ADFContext object for a given ADF or ADM node with the prepareADF(...) and prepareADM(...) functions.
To evaluate an argument number from an ADFContext, call evaluate(...), and the results are evaluated and copied into input.
Parameter bases
base.data | (the ADFContext's basic GPData type) |
Field Summary | |
---|---|
ADF |
adf
The ADF/ADM node proper |
GPData |
arg_proto
A prototypical GPData node. |
GPData[] |
arguments
An array of GPData nodes (none of the null, when it's used) holding an ADF's arguments' return results |
static int |
INITIAL_ARGUMENT_SIZE
|
static java.lang.String |
P_ADFCONTEXT
|
static java.lang.String |
P_DATA
|
Constructor Summary | |
---|---|
ADFContext()
|
Method Summary | |
---|---|
java.lang.Object |
clone()
Creates a new individual cloned from a prototype, and suitable to begin use in its own evolutionary context. |
Parameter |
defaultBase()
Returns the default base for this prototype. |
void |
evaluate(EvolutionState state,
int thread,
GPData input,
ADFStack stack,
GPIndividual individual,
Problem problem,
int argument)
Evaluates the argument number in the current context |
void |
prepareADF(ADF a)
Increases arguments to accommodate space if necessary. |
void |
prepareADM(ADM a)
Sets adf to a |
void |
setup(EvolutionState state,
Parameter base)
Sets up the object by reading it from the parameters stored in state, built off of the parameter base base. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String P_DATA
public static final java.lang.String P_ADFCONTEXT
public static final int INITIAL_ARGUMENT_SIZE
public ADF adf
public GPData arg_proto
public GPData[] arguments
Constructor Detail |
---|
public ADFContext()
Method Detail |
---|
public Parameter defaultBase()
Prototype
defaultBase
in interface Prototype
public java.lang.Object clone()
Prototype
Typically this should be a full "deep" clone. However, you may share certain elements with other objects rather than clone hem, depending on the situation:
Implementations.
public Object clone()
{
try
{
return super.clone();
}
catch ((CloneNotSupportedException e)
{ throw new InternalError(); } // never happens
}
public Object clone()
{
try
{
MyObject myobj = (MyObject) (super.clone());
// put your deep-cloning code here...
}
catch ((CloneNotSupportedException e)
{ throw new InternalError(); } // never happens
return myobj;
}
public Object clone()
{
MyObject myobj = (MyObject) (super.clone());
// put your deep-cloning code here...
return myobj;
}
clone
in interface Prototype
clone
in class java.lang.Object
public void setup(EvolutionState state, Parameter base)
Prototype
For prototypes, setup(...) is typically called once for the prototype instance; cloned instances do not receive the setup(...) call. setup(...) may be called more than once; the only guarantee is that it will get called at least once on an instance or some "parent" object from which it was ultimately cloned.
setup
in interface Prototype
setup
in interface Setup
public void evaluate(EvolutionState state, int thread, GPData input, ADFStack stack, GPIndividual individual, Problem problem, int argument)
public final void prepareADF(ADF a)
public final void prepareADM(ADM a)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |