The base common class that evaluate the fitness of a robot. More...

Inheritance diagram for EvoRobotExperiment:

Public Types

enum  Phases { INTEST, INEVOLUTION, NONE }
 this type define the phase of which the EvoRobotExperiment More...
 
- Public Types inherited from ParameterSettableWithConfigureFunction
enum  Property
 
- Public Types inherited from ParameterSettable
enum  Property
 
- Public Types inherited from ConcurrentResourcesUser
typedef
Resource::ResourceChangeType 
ResourceChangeType
 
- Public Types inherited from ResourcesUser
enum  ResourceChangeType
 
typedef
Resource::ResourceChangeType 
ResourceChangeType
 
- Public Types inherited from Resource
enum  ResourceChangeType
 

Public Slots

int getStepDelay ()
 returns the current delay applied at each step
 
float getWorldTimeStep () const
 helper method for getting timestep of the world at runtime
 
void setStepDelay (int delay)
 set the delay to apply at each step for slowing down the simulation
 

Public Member Functions

 EvoRobotExperiment ()
 Constructor.
 
virtual ~EvoRobotExperiment ()
 Destructor.
 
virtual void afterSensorsUpdate ()
 Called just after the updating of sensors and before the updating of the neural network.
 
virtual void beforeMotorsUpdate ()
 Called just before the updating of motors and after the updating of the neural network.
 
virtual void beforeWorldAdvance ()
 Called just before the world advances, after the update of motors.
 
virtual void configure (ConfigurationParameters &params, QString prefix)
 Configures the object using a ConfigurationParameters object.
 
void doAllTrialsForIndividual (int individual)
 Performs all trials for the given individual.
 
virtual void endGeneration (int generation)
 Called at the end of a generation. This function is NEVER called concurrently on different objects.
 
virtual void endIndividual (int individual)
 Called at the end of an individual's life.
 
void endIndividualLife ()
 Ends the invidual life.
 
virtual void endStep (int step)=0
 Called at the end of the step.
 
virtual void endTrial (int trial)
 Called at the end of a trial.
 
Phases getActivityPhase ()
 return the state of the EvoRobotExperiment
 
ArenagetArena ()
 Returns the arena. This can returns NULL if no arena object is present.
 
int getCurStep () const
 Returns the current step.
 
int getCurTrial () const
 Returns the current trial.
 
EvogagetEvoga ()
 Return the pointer to the Evoga setted.
 
double getFitness ()
 return the current value of the fitness
 
int getGenomeLength ()
 Returns the length of the genome.
 
MotorgetMotor (QString motorName, int agentId=0)
 Return a pointer to the Motor with name specified.
 
int getNAgents ()
 return the number of agents present in the experiment
 
EvonetgetNeuralNetwork (int agentId=0)
 Return the neural network used for the experiment.
 
int getNSteps () const
 Returns the number of steps.
 
int getNTrials () const
 Returns the number of trials.
 
SensorgetSensor (QString sensorName, int agentId=0)
 Return a pointer to the Sensor with name specified.
 
bool inBatchRunning ()
 Return true if the simulation is running in batch modality, false if is running with the GUI.
 
virtual void initGeneration (int generation)
 Called at the beginning of a generation. This function is NEVER called concurrently on different objects.
 
virtual void initIndividual (int individual)
 Called at the beginning of an individual's life.
 
virtual void initStep (int step)
 Initialize whatever at step granularity when needed.
 
virtual void initTrial (int trial)
 Called at the beginning of a trial.
 
virtual void postConfigureInitialization ()
 This function is called after all linked objects have been configured.
 
void restartTrial ()
 Stops the current trial and restarts it from scratch.
 
virtual void save (ConfigurationParameters &params, QString prefix)
 Save the actual status of parameters into the ConfigurationParameters object passed.
 
void selectAgent (int agentId)
 select the i-the agent and make available the corresponding resources
 
void setActivityPhase (Phases newPhase)
 set the new activity phase
 
void setEvoga (Evoga *ga)
 Set the Evoga on which this EvoRobotExperiment is used.
 
void setNetParameters (int *genes)
 Sets the free parameters of the neural network.
 
void setNSteps (int new_nsteps)
 Sets the number of steps.
 
void setNTrials (int new_ntrials)
 Sets the number of trials.
 
virtual void setTestingAgentAndSeed (int idindividual, int nreplica)
 called by AbstractTest and subclasses to inform which individual is going to test
 
void skipTrial ()
 Skips the next trial.
 
void stopTrial ()
 Stops the current trial.
 
- Public Member Functions inherited from ParameterSettableWithConfigureFunction
void addObserver (RuntimeParameterObserver *obs)
 
getRuntimeParameter (QString paramName)
 
virtual ParameterSettableUIgetUIManager ()
 
 ParameterSettable ()
 
void removeObserver (RuntimeParameterObserver *obs)
 
void setRuntimeParameter (QString paramName, T newvalue)
 
QString typeName () const
 
- Public Member Functions inherited from ParameterSettable
void addObserver (RuntimeParameterObserver *obs)
 
getRuntimeParameter (QString paramName)
 
void removeObserver (RuntimeParameterObserver *obs)
 
void setRuntimeParameter (QString paramName, T newvalue)
 
QString typeName () const
 
- Public Member Functions inherited from ConcurrentResourcesUser
void addUsableResource (QString resource)
 
void addUsableResources (QStringList resources)
 
void declareResource (QString name, T *resource, QString lockBuddy="")
 
void deleteResource (QString name)
 
T * getResource (QString name, bool *resourceExists=NULL)
 
bool hasResource (QString name) const
 
void removeAllUsableResources ()
 
void removeUsableResource (QString resource)
 
void removeUsableResources (QStringList resources)
 
virtual void shareResourcesWith (ResourcesUser *buddy)
 
void usableResources (QStringList resources)
 
bool usedResourcesExist (QStringList *nonExistingResources=NULL) const
 

Static Public Member Functions

static void describe (QString type)
 Add to Factory::typeDescriptions() the descriptions of all parameters and subgroups.
 
- Static Public Member Functions inherited from ParameterSettableWithConfigureFunction
static void describe (QString type)
 
static QString fullParameterDescriptionPath (QString type, QString param)
 
static QString fullSubgroupDescriptionPath (QString type, QString sub)
 
- Static Public Member Functions inherited from ParameterSettable
static void describe (QString type)
 
static QString fullParameterDescriptionPath (QString type, QString param)
 
static QString fullSubgroupDescriptionPath (QString type, QString sub)
 

Protected Member Functions

void recreateAllNeuralNetworks ()
 Recreates all neural networks.
 
void recreateAllRobots ()
 Recreates all robots.
 
void recreateArena ()
 Recreates the arena.
 
void recreateNeuralNetwork (int agentId=0)
 Recreate the neural network.
 
void recreateRobot (int agentId=0)
 Recreate the robot.
 
void recreateWorld ()
 current trial
 
- Protected Member Functions inherited from ParameterSettableWithConfigureFunction
void notifyChangesToParam (QString paramName)
 
- Protected Member Functions inherited from ParameterSettable
void notifyChangesToParam (QString paramName)
 
- Protected Member Functions inherited from ConcurrentResourcesUser
T * getResource ()
 
ResourcesUseroperator= (const ResourcesUser &other)
 
virtual void resourceChanged (QString name, ResourceChangeType changeType)
 
 ResourcesUser ()
 
 ResourcesUser (const ResourcesUser &other)
 
- Protected Member Functions inherited from ResourcesUser
 ResourcesUser (const ResourcesUser &other)
 
virtual void notifyResourceChange (ResourceHandler *resource, ResourceChangeType changeType)=0
 
ResourcesUseroperator= (const ResourcesUser &other)
 

Protected Attributes

int nstep
 number of cycles
 
int nsteps
 number of test
 
int ntrial
 current step
 
int ntrials
 
ConfigurationParameterssavedConfigurationParameters
 
const QString * savedPrefix
 
double totalFitnessValue
 the fitness value of the individual all over the trials
 
double trialFitnessValue
 the fitness value of the individual during the execution of one trial
 
- Protected Attributes inherited from ConcurrentResourcesUser
ResourceCollectionHolder m_resources
 
- Protected Attributes inherited from ResourcesUser
ResourceCollectionHolder m_resources
 

Additional Inherited Members

- Public Attributes inherited from ParameterSettableWithConfigureFunction
 AllowMultiple
 
 Default
 
 IsList
 
 IsMandatory
 
- Static Public Attributes inherited from ParameterSettableWithConfigureFunction
static const double Infinity
 
static const int MaxInteger
 
static const int MinInteger
 
- Static Protected Member Functions inherited from ParameterSettableWithConfigureFunction
static Descriptor addTypeDescription (QString type, QString shortHelp, QString longHelp=QString(""))
 
static void setGraphicalEditor (QString type)
 

Detailed Description

The base common class that evaluate the fitness of a robot.

This class don't actually implement any particular scenario or fitness function. The user must subclass from this, and provide the implementation for the necessary methods for setting up his scenario and fitness function.

The main assumption that cannot be changed in the subclasses are:

  • the robot and the environment are a simulated physic world (Worldsim::World). Moreover there must be one robot (and only one)
  • the controller is a neural network
  • the fitness is computed evaluating the robot over a set of trials

The methods that can be re-implemented in order to setup a scenario and a fitness function are:

  • initGeneration
  • initIndividual
  • initTrial
  • initStep
  • afterSensorsUpdate
  • beforeMotorsUpdate
  • endStep (this is pure virtual, so it MUST be re-implemented)
  • endTrial
  • endIndividual
  • endGeneration In the most common cases, you need to re-implment just few of them but they are provided for fullfill almost any situations. The schema on which they are called during the evolution of individual is the following:
       foreach generation do
           initGeneration
           foreach inidividual do
               initIndividual
               foreach trial do
                   initTrial
                   foreach step do
                       initStep
                       afterSensorsUpdate
                       beforeMotorsUpdate
                       endStep
                   endTrial
               endIndividual
           endGeneration
       

In the most common case

The resources declared by this experiment are:

  • "evonet": the neural network
  • "neuronsIterator": the Neurons Iterator for iterate over neurons
  • "world": the physic world where the robot are simulated
  • "robot": the robot
  • "arena": if present, the arena with objects for wheeled robots simulations

Definition at line 155 of file evorobotexperiment.h.

Member Enumeration Documentation

enum Phases

this type define the phase of which the EvoRobotExperiment

Definition at line 298 of file evorobotexperiment.h.

Constructor & Destructor Documentation

~EvoRobotExperiment ( )
virtual

Destructor.

Definition at line 84 of file evorobotexperiment.cpp.

References ConcurrentResourcesUser::deleteResource().

Member Function Documentation

void afterSensorsUpdate ( )
virtual

Called just after the updating of sensors and before the updating of the neural network.

Note
useful, for example, to overwrite the inputs of the neural network (i.e.: to silence some neurons during the experiment withouth modifing sensors classes)

Definition at line 297 of file evorobotexperiment.cpp.

void beforeMotorsUpdate ( )
virtual

Called just before the updating of motors and after the updating of the neural network.

Note
useful, for example, to overwrite the outputs of the neural network

Definition at line 301 of file evorobotexperiment.cpp.

void beforeWorldAdvance ( )
virtual

Called just before the world advances, after the update of motors.

Note
useful, for example, to manually actuate motors overriding the robot controller commands

Definition at line 305 of file evorobotexperiment.cpp.

void configure ( ConfigurationParameters params,
QString  prefix 
)
virtual

Configures the object using a ConfigurationParameters object.

This also creates and configures the neural network controlling the individual

Parameters
paramsthe configuration parameters object with parameters to use
prefixthe prefix to use to access the object configuration parameters. This is guaranteed to end with the separator character when called by the factory, so you don't need to add one

Implements ParameterSettableWithConfigureFunction.

Definition at line 108 of file evorobotexperiment.cpp.

References Arena::addRobots(), ConfigurationParameters::copyGroupTree(), ConfigurationParameters::createGroup(), ConcurrentResourcesUser::declareResource(), ConfigurationHelper::getBool(), ConfigurationHelper::getDouble(), ConfigurationParameters::getGroupsWithPrefixList(), ConfigurationHelper::getInt(), ConfigurationParameters::getValue(), Logger::info(), ParameterSettableWithConfigureFunction::notifyChangesToParam(), EvoRobotExperiment::nsteps, EvoRobotExperiment::recreateArena(), EvoRobotExperiment::recreateWorld(), EvoRobotExperiment::selectAgent(), ConfigurationParameters::setResourcesUser(), and ConfigurationParameters::shareObserversWith().

void endGeneration ( int  generation)
virtual

Called at the end of a generation. This function is NEVER called concurrently on different objects.

Definition at line 318 of file evorobotexperiment.cpp.

Referenced by Evoga::evolveGenerational(), Evoga::evolveSteadyState(), TestRandom::runTest(), and TestIndividual::runTest().

void endIndividual ( int  individual)
virtual

Called at the end of an individual's life.

Definition at line 314 of file evorobotexperiment.cpp.

Referenced by EvoRobotExperiment::doAllTrialsForIndividual().

void endIndividualLife ( )

Ends the invidual life.

Call this function to end the life of the individual. This can only be called from initTrial(), initStep(), endStep() and endTrial(). When you call this function the current trial is stopped as if stopTrial() was called, so everthing said for the stopTrial() function also applies to this function when called inside initStep() or endStep(). If you call this function from initTrial() the trial is terminated immediately without calling any step function. After returning from initTrial(), endTrial() is called. In all cases the fitness for the last trial is taken into account. After the call to endTrial() endIndividual() is called as if the individual life ended normally. You should never mix calls to this functions with calls to stopTrial(), skipTrial() or restartTrial() during the same trial.

Definition at line 388 of file evorobotexperiment.cpp.

virtual void endStep ( int  step)
pure virtual

Called at the end of the step.

void endTrial ( int  trial)
virtual

Called at the end of a trial.

Note
the default implementation will add the current trialFitnessValue to totalFitnessValue

Definition at line 309 of file evorobotexperiment.cpp.

References EvoRobotExperiment::totalFitnessValue, and EvoRobotExperiment::trialFitnessValue.

Referenced by EvoRobotExperiment::doAllTrialsForIndividual().

Phases getActivityPhase ( )
inline

return the state of the EvoRobotExperiment

Definition at line 304 of file evorobotexperiment.h.

Arena* getArena ( )
inline

Returns the arena. This can returns NULL if no arena object is present.

Definition at line 290 of file evorobotexperiment.h.

int getCurStep ( ) const
inline

Returns the current step.

Returns
the current step

Definition at line 394 of file evorobotexperiment.h.

int getCurTrial ( ) const
inline

Returns the current trial.

Returns
the current trial

Definition at line 404 of file evorobotexperiment.h.

Evoga * getEvoga ( )

Return the pointer to the Evoga setted.

Definition at line 451 of file evorobotexperiment.cpp.

double getFitness ( )

return the current value of the fitness

Definition at line 292 of file evorobotexperiment.cpp.

References EvoRobotExperiment::totalFitnessValue.

Referenced by Evoga::evolveGenerational(), Evoga::evolveSteadyState(), and EvaluatorThreadForEvoga::run().

int getGenomeLength ( )

Returns the length of the genome.

Definition at line 394 of file evorobotexperiment.cpp.

Referenced by TestRandom::buildRandomDNA(), and Evoga::postConfigureInitialization().

Motor * getMotor ( QString  motorName,
int  agentId = 0 
)

Return a pointer to the Motor with name specified.

Parameters
nameis the name of the motor your are looking for
agentIDthe id of the agent

Definition at line 410 of file evorobotexperiment.cpp.

References Logger::error().

int getNAgents ( )

return the number of agents present in the experiment

Definition at line 424 of file evorobotexperiment.cpp.

Evonet * getNeuralNetwork ( int  agentId = 0)

Return the neural network used for the experiment.

Parameters
agentIDthe id of the agent

Definition at line 441 of file evorobotexperiment.cpp.

Referenced by TestRandom::buildRandomDNA().

int getNSteps ( ) const
inline

Returns the number of steps.

Returns
the number of steps

Definition at line 376 of file evorobotexperiment.h.

int getNTrials ( ) const
inline

Returns the number of trials.

Returns
the number of trials

Definition at line 358 of file evorobotexperiment.h.

Referenced by EvoRobotExperiment::describe().

Sensor * getSensor ( QString  sensorName,
int  agentId = 0 
)

Return a pointer to the Sensor with name specified.

Parameters
nameis the name of the sensor your are looking for
agentIDthe id of the agent

Definition at line 401 of file evorobotexperiment.cpp.

References Logger::error().

int getStepDelay ( )
slot

returns the current delay applied at each step

Definition at line 587 of file evorobotexperiment.cpp.

float getWorldTimeStep ( ) const
slot

helper method for getting timestep of the world at runtime

Definition at line 579 of file evorobotexperiment.cpp.

Referenced by EvoRobotExperiment::describe().

bool inBatchRunning ( )

Return true if the simulation is running in batch modality, false if is running with the GUI.

Definition at line 419 of file evorobotexperiment.cpp.

void initGeneration ( int  generation)
virtual

Called at the beginning of a generation. This function is NEVER called concurrently on different objects.

Definition at line 271 of file evorobotexperiment.cpp.

Referenced by Evoga::evolveGenerational(), Evoga::evolveSteadyState(), TestRandom::runTest(), and TestIndividual::runTest().

void initIndividual ( int  individual)
virtual

Called at the beginning of an individual's life.

Definition at line 275 of file evorobotexperiment.cpp.

Referenced by EvoRobotExperiment::doAllTrialsForIndividual().

void initStep ( int  step)
virtual

Initialize whatever at step granularity when needed.

Definition at line 288 of file evorobotexperiment.cpp.

void initTrial ( int  trial)
virtual

Called at the beginning of a trial.

Definition at line 279 of file evorobotexperiment.cpp.

Referenced by EvoRobotExperiment::doAllTrialsForIndividual().

void postConfigureInitialization ( )
virtual

This function is called after all linked objects have been configured.

Reimplemented from ParameterSettableWithConfigureFunction.

Definition at line 202 of file evorobotexperiment.cpp.

References Evoga::doNotUseMultipleThreads().

void recreateAllNeuralNetworks ( )
protected

Recreates all neural networks.

This method simply calls recreateNeuralNetwork() for all neural networks

Warning
it will destroy the neural network and create a new one.

Definition at line 566 of file evorobotexperiment.cpp.

References EvoRobotExperiment::recreateNeuralNetwork().

void recreateAllRobots ( )
protected

Recreates all robots.

This method simply calls recreateRobot() for all robots

Warning
it will destroy all robots and create a new ones.

Definition at line 515 of file evorobotexperiment.cpp.

References EvoRobotExperiment::recreateRobot().

void recreateArena ( )
protected
void recreateNeuralNetwork ( int  agentId = 0)
protected

Recreate the neural network.

Parameters
agentIDthe id of the agent having the neural network

This method helps in the creation of the Neural Network (only Evonet for now). It's strongly advised to use this method instead of creating a neural network by yourself. You can configure the neural network after this method accessing to the resource "evonet".

In case of collective experiment, the agentId allow to specify which neural network needs to be recreated

Warning
it will destroy the neural network and create a new one.

Definition at line 556 of file evorobotexperiment.cpp.

References ConcurrentResourcesUser::declareResource().

Referenced by EvoRobotExperiment::recreateAllNeuralNetworks().

void recreateRobot ( int  agentId = 0)
protected

Recreate the robot.

Parameters
agentIDthe id of the agent having the robot

This method helps in the creation of the Robot. It's strongly advised to use this method instead of creating a robot by yourself. You can configure the robot after having called this method accessing the resource "robot".

In case of collective experiment, the agentId allow to specify which robot needs to be recreated

Warning
it will destroy the robot and create a new one.

Definition at line 505 of file evorobotexperiment.cpp.

References ConcurrentResourcesUser::declareResource().

Referenced by EvoRobotExperiment::recreateAllRobots().

void recreateWorld ( )
protected

current trial

Recreate the world

   This method helps in the creation of the World where the robot and the objects are simulated.
   It's strongly advised to use this method instead of creating a World by yourself.
   You can configure the World after this method accessing to the resource "world".
   \warning it will destroy the World with any robot and object inside and
    create a new one without restoring any robot and objects present before.

Definition at line 468 of file evorobotexperiment.cpp.

References ConcurrentResourcesUser::declareResource(), ConcurrentResourcesUser::deleteResource(), World::setFrictionModel(), World::setIsRealTime(), World::setMultiThread(), World::setSize(), World::setSolverModel(), and World::setTimeStep().

Referenced by EvoRobotExperiment::configure(), and EvoRobotExperiment::recreateArena().

void restartTrial ( )

Stops the current trial and restarts it from scratch.

Call this function to stop the current trial and restart it from scratch. The current fitness value is discarded, too. You can call this function only from initStep() or endStep(). After the end of the function from which this is called, the trial is restarted and initTrial() is called. In particular no call to endTrial() is performed in any case and, if you call this function from initStep(), the functions afterSensorsUpdate(), beforeMotorsUpdate() and endStep() for the current step are not called. You should never mix calls to this functions with calls to stopTrial(), skipTrial() or endIndividualLife() during the same trial.

Definition at line 383 of file evorobotexperiment.cpp.

void save ( ConfigurationParameters params,
QString  prefix 
)
virtual

Save the actual status of parameters into the ConfigurationParameters object passed.

This is not implemented, a call to this function will cause an abort

Parameters
paramsthe configuration parameters object on which save actual parameters
prefixthe prefix to use to access the object configuration parameters.

Implements ParameterSettableWithConfigureFunction.

Definition at line 181 of file evorobotexperiment.cpp.

References Logger::error().

void selectAgent ( int  agentId)

select the i-the agent and make available the corresponding resources

Parameters
agentIDthe id of the agent

The resources robot, evonet and neuronsIterator references to the selected agent

By default the selected agent is the 0-th, hence in the single robot experiments the resources robot, evonet and neuronsIterator points to the only robot present into the world

Warning
This function internally uses declareResource() to change the robot, evonet and neuronsIterator pointed by resources. This means that this can only be called when the lock on resources is not held.

Definition at line 428 of file evorobotexperiment.cpp.

References ConcurrentResourcesUser::declareResource().

Referenced by EvoRobotExperiment::configure().

void setActivityPhase ( Phases  newPhase)
inline

set the new activity phase

Definition at line 308 of file evorobotexperiment.h.

Referenced by EvoRobotComponent::evolve(), EvolveOperation::run(), TestRandom::runTest(), and TestIndividual::runTest().

void setEvoga ( Evoga ga)

Set the Evoga on which this EvoRobotExperiment is used.

Definition at line 446 of file evorobotexperiment.cpp.

Referenced by Evoga::configure(), and Evoga::evolveSteadyState().

void setNetParameters ( int *  genes)
void setNSteps ( int  new_nsteps)
inline

Sets the number of steps.

Parameters
nstepsthe new number of steps

Definition at line 385 of file evorobotexperiment.h.

void setNTrials ( int  new_ntrials)
inline

Sets the number of trials.

Parameters
ntrialsthe new number of trials

Definition at line 367 of file evorobotexperiment.h.

Referenced by EvoRobotExperiment::describe().

void setStepDelay ( int  delay)
slot

set the delay to apply at each step for slowing down the simulation

Parameters
delaythe delay expressed in msec
Note
if the delay is equal to the timestep the simulation will run at real-time

Definition at line 583 of file evorobotexperiment.cpp.

void setTestingAgentAndSeed ( int  idindividual,
int  nreplica 
)
virtual

called by AbstractTest and subclasses to inform which individual is going to test

Definition at line 463 of file evorobotexperiment.cpp.

References Logger::error().

void skipTrial ( )

Skips the next trial.

Call this function to skip the execution of the next trial. This function can only be called from initTrial(). If you call this function, after initTrial(), execution continues with initTrial() (if there are more trials) or with endIndividual() (if there are no more trials to do). Of course no fitness is assigned for the skipped trials. You should never mix calls to this functions with calls to stopTrial(), restartTrial() or endIndividualLife() during the same trial.

Definition at line 378 of file evorobotexperiment.cpp.

void stopTrial ( )

Stops the current trial.

Call this function to stop the current trial and move to the next trial (if present). This function can only be called initStep() or endStep(). If you call this from initStep(), the functions afterSensorsUpdate(), beforeMotorsUpdate() and endStep() are also called before terminating the trial. After endStep(), execution continues with endTrial() as if the trial ended normally. This also means that trialFitnessValue is taken into account (unless you overrided the endTrial() function, in which case the behaviour depends on your implementation). You should never mix calls to this functions with calls to skipTrial(), restartTrial() or endIndividualLife() during the same trial.

Definition at line 373 of file evorobotexperiment.cpp.

Member Data Documentation

int nstep
protected

number of cycles

Definition at line 425 of file evorobotexperiment.h.

int nsteps
protected

number of test

Definition at line 424 of file evorobotexperiment.h.

Referenced by EvoRobotExperiment::configure().

int ntrial
protected
double totalFitnessValue
protected

the fitness value of the individual all over the trials

Definition at line 484 of file evorobotexperiment.h.

Referenced by EvoRobotExperiment::doAllTrialsForIndividual(), EvoRobotExperiment::endTrial(), and EvoRobotExperiment::getFitness().

double trialFitnessValue
protected

the fitness value of the individual during the execution of one trial

Definition at line 482 of file evorobotexperiment.h.

Referenced by EvoRobotExperiment::doAllTrialsForIndividual(), and EvoRobotExperiment::endTrial().


The documentation for this class was generated from the following files: