Darwin Neuroevolution Framework
|
Encapsulates the runtime experiment state. More...
#include <darwin.h>
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 ExperimentSetup * | setup () const |
The experiment's setup values. | |
PopulationFactory * | populationFactory () const |
Accessor to the PopulationFactory for the experiment's population. | |
DomainFactory * | domainFactory () const |
Accessor to the DomainFactory for the experiment's domain. | |
DomainUiFactory * | domainUiFactory () const |
Accessor to the DomainUiFactory for the experiment's domain UI. | |
core::PropertySet * | populationConfig () |
Population specific configuration. | |
core::PropertySet * | domainConfig () |
Domain specific configuration. | |
core::PropertySet * | coreConfig () |
Core configuration values. | |
Universe * | universe () 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. | |
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.
void darwin::Experiment::prepareForEvolution | ( | ) |
Notification that an evolution run is about to start.
|
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