ec
Class Evaluator
java.lang.Object
|
+--ec.Evaluator
- Direct Known Subclasses:
- SimpleEvaluator
- public abstract class Evaluator
- extends java.lang.Object
- implements Singleton
An Evaluator is a singleton object which is responsible for the
evaluation process during the course of an evolutionary run. Only
one Evaluator is created in a run, and is stored in the EvolutionState
object.
Evaluators typically do their work by applying an instance of some
subclass of Problem to individuals in the population. Evaluators come
with a Problem prototype which they may clone as necessary to create
new Problem spaces to evaluate individuals in (Problems may be reused
to prevent constant cloning).
Evaluators may be multithreaded, with one Problem instance per thread
usually. The number of threads they may spawn (excepting a parent
"gathering" thread) is governed by the EvolutionState's evalthreads value.
Be careful about spawning threads -- this system has no few synchronized
methods for efficiency's sake, so you must either divvy up evaluation in
a thread-safe fashion, or
otherwise you must obtain the appropriate locks on individuals in the population
and other objects as necessary.
Parameters
base.problem
classname, inherits and != ec.Problem |
(the class for the Problem prototype p_problem) |
- See Also:
- Serialized Form
Method Summary |
abstract void |
evaluatePopulation(EvolutionState state)
Evaluates the fitness of an entire population. |
abstract boolean |
runComplete(EvolutionState state)
Returns true if an ideal individual has been found or some
other run result has shortcircuited the run so that it should
end prematurely right now. |
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 |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
P_PROBLEM
public static final java.lang.String P_PROBLEM
p_problem
public Problem p_problem
Evaluator
public Evaluator()
evaluatePopulation
public abstract void evaluatePopulation(EvolutionState state)
- Evaluates the fitness of an entire population. You will
have to determine how to handle multiple threads on your own,
as this is a very domain-specific thing.
runComplete
public abstract boolean runComplete(EvolutionState state)
- Returns true if an ideal individual has been found or some
other run result has shortcircuited the run so that it should
end prematurely right now.
setup
public void setup(EvolutionState state,
Parameter base)
- Description copied from interface: Setup
- Sets up the object by reading it from the parameters stored
in state, built off of the parameter base base.
If an ancestor implements this method, be sure to call
super.setup(state,base); before you do anything else.