13#if !defined(VITA_ENVIRONMENT_H)
14#define VITA_ENVIRONMENT_H
20#include "tinyxml2/tinyxml2.h"
29#include "utility/facultative.h"
38 dump_f, graphviz_f, in_line_f, tree_f,
40 c_language_f = language_f + symbol::c_format,
41 cpp_language_f = language_f + symbol::cpp_format,
42 mql_language_f = language_f + symbol::mql_format,
43 python_language_f = language_f + symbol::python_format};
62 void xml(tinyxml2::XMLDocument *)
const;
182 facultative<unsigned>
dss = {};
234 std::filesystem::path
dir = {};
256 std::filesystem::path test_file = {};
Dynamic training Subset Selection.
Context object aggregating multiple related parameters into one structure.
model_measurements threshold
Used to identify successfully learned (matched, classified, resolved...) examples.
unsigned individuals
Number of individuals in a layer of the population.
bool is_valid(bool) const
void xml(tinyxml2::XMLDocument *) const
Saves the environment in XML format.
facultative< unsigned, 0 > max_stuck_time
Used by some evolution strategies to stop a run when there aren't improvements within max_stuck_time ...
unsigned mate_zone
This is used for the trivial geography scheme.
unsigned generations
Maximun number of generations allowed before terminate a run.
unsigned cache_size
2^cache_size is the number of elements of the cache.
facultative< unsigned > validation_percentage
How much data should be reserved for the validation set? validation_percentage is the fraction of the...
double p_mutation
Mutation rate probability.
double p_cross
Crossover probability.
unsigned min_individuals
Minimum number of individuals in a layer of the population.
unsigned layers
Number of layers for the population.
trilean elitism
An elitist algorithm is one that ALWAYS retains in the population the best individual found so far.
environment()
Class constructor.
unsigned tournament_size
Size of the tournament to choose the parents from.
environment & init()
Initialises the undefined parameters with "common" values.
unsigned brood_recombination
This parameter controls the brood recombination/selection level (1 to turn it off).
A collection of cooperating individuals used as a member of vita::population.
print_format_t
Rendering format used to print an individual.
Contains support functions for the ALPS algorithm.
Contains flags and manipulators to control the output format of individuals.
The main namespace for the project.
std::pair< T, T > range_t
Right-open interval.
trilean
Three-valued logic enum.
Parameters for the Age-Layered Population Structure (ALPS) paradigm.
range_t< double > weight
Weighting factor range (aka differential factor range).
std::size_t code_length
The number of genes (maximum length of an evolved program in the population).
std::size_t patch_length
The number of symbols in the patch section (the tail section of the genome containing only terminals)...
std::string serialization_file
Filename used for persistance.
std::filesystem::path population_file
Name of the log file used to save population-specific information.
std::filesystem::path dir
A base common path for the log files.
std::filesystem::path dynamic_file
Name of the log file used to save real-time information.
std::filesystem::path layers_file
Name of the log file used to save layer-specific information.
std::filesystem::path summary_file
Name of the log file used to save a summary report.
out::print_format_t ind_format
Default rendering format used to print an individual.
unsigned individuals
0 is auto-tune; 1 means team mode.
A collection of measurements.