Darwin Neuroevolution Framework
Public Member Functions | List of all members
darwin::Experiment Class Reference

Encapsulates the runtime experiment state. More...

#include <darwin.h>

Inheritance diagram for darwin::Experiment:
core::NonCopyable

Public Member Functions

 Experiment (const optional< string > &name, const ExperimentSetup &setup, const optional< db::RowId > &base_variation_id, Universe *universe)
 Creates a new experiment (potentially forking from an existing experiment)
 
 Experiment (const DbExperiment *db_experiment, Universe *universe)
 Loads an existing experiment.
 
const optional< string > & name () const
 The experiment's name.
 
const ExperimentSetupsetup () const
 The experiment's setup values.
 
PopulationFactorypopulationFactory () const
 Accessor to the PopulationFactory for the experiment's population.
 
DomainFactorydomainFactory () const
 Accessor to the DomainFactory for the experiment's domain.
 
DomainUiFactorydomainUiFactory () const
 Accessor to the DomainUiFactory for the experiment's domain UI.
 
core::PropertySetpopulationConfig ()
 Population specific configuration.
 
core::PropertySetdomainConfig ()
 Domain specific configuration.
 
core::PropertySetcoreConfig ()
 Core configuration values.
 
Universeuniverse () const
 The associated Darwin Universe.
 
db::RowId dbExperimentId () const
 Universe database Id of the experiment.
 
db::RowId dbVariationId () const
 Universe database Id of the particular experiment variation.
 
void setModified (bool modified)
 Update the configuration modification flag. More...
 
void prepareForEvolution ()
 Notification that an evolution run is about to start. More...
 
void save ()
 Save the experiment & variation state to the Universe database.
 

Detailed Description

Encapsulates the runtime experiment state.

An experiment is a Population / Domain pair together with a set of configuration knobs which define a particular experiment variation.

See also
ExperimentSetup

Member Function Documentation

◆ prepareForEvolution()

void darwin::Experiment::prepareForEvolution ( )

Notification that an evolution run is about to start.

See also
Evolution::newExperiment()

◆ setModified()

void darwin::Experiment::setModified ( bool  modified)
inline

Update the configuration modification flag.

This is intended for configuration editors (or any code which updates configuration values directly) to keep track of the state of potential changes. If this flag is set, a new experiment variation will be created when the experiment starts


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