dignea
1.0.0
Diverse Instance Generator with Novelty Search and Evolutionary Algorithms
|
Class which represents a Builder for the EIG. Creates a EIG step by step from all the different components. More...
#include <EIGBuilder.h>
Public Member Functions | |
operator unique_ptr< EIG< IP, IS, OP, S >> () | |
Builds a EIG object with all the components specified and returns a unique_ptr. More... | |
EIGBuilder< IP, IS, OP, S > & | toSolve (unique_ptr< IP > problem) |
Defines the AbstractDomain to solve. More... | |
EIGBuilder< IP, IS, OP, S > & | weights (const float &fW, const float &mW) |
Sets the weights that will be used in the Weighted Fitness Function. Notice that fW + nW = 1.0. More... | |
EIGBuilder< IP, IS, OP, S > & | with () |
This method only returns *this and it is used to make the building process more natural. Completely optional. More... | |
EIGBuilder< IP, IS, OP, S > & | portfolio (vector< EA > &configs) |
Defines the portfolio of solvers to evaluate the instances during the evolutionary process. The first algorithm in the vector will be considered as the target for the instances. More... | |
EIGBuilder< IP, IS, OP, S > & | withSearch (NSType nsType, unique_ptr< Distance< float >> dist, const float &thres, const float &finalThresh, const int k, bool warmUp=false) |
Novelty search configuration for the EIG. Here we define the Novelty Approach (Features, Performance), the distance Metric, the threshold to include a solution in the NS archive and the 'k' value to use in the KNN method during the NS execution. More... | |
EIGBuilder< IP, IS, OP, S > & | evalWith (unique_ptr< InstanceFitness > evalMethod) |
Evaluation approach for generating instances. The instances must be considered easy to solve for the target or hard. More... | |
EIGBuilder< IP, IS, OP, S > & | repeating (const int &reps) |
Defines how many repetitions the algorithms in the portfolio must perform over each instance in each generation of the EIG. More... | |
EIGBuilder< IP, IS, OP, S > & | crossover (CXType cxType) |
Defines the crossover operator type to use with this Genetic Algorithm. Variants are available at CXType. More... | |
EIGBuilder< IP, IS, OP, S > & | withCrossRate (const float &crSsRate) |
Defines the crossover rate to apply the crossover operator. More... | |
EIGBuilder< IP, IS, OP, S > & | mutation (MutType mutation) |
Defines the mutation operator type to use with this Genetic Algorithm. Variants are available at MutType. More... | |
EIGBuilder< IP, IS, OP, S > & | withMutRate (const float &mutRate) |
Defines the mutation rate to apply in the mutation operator. More... | |
EIGBuilder< IP, IS, OP, S > & | selection (SelType selType) |
Defines the selection operator to use. Variants are available at SelType. More... | |
EIGBuilder< IP, IS, OP, S > & | replacement (ReplacementTypes reType) |
EIGBuilder< IP, IS, OP, S > & | populationOf (const int &popsize) |
Defines the population of instances to use. This is the number of instances that the EIG will be evolving at each generation. More... | |
EIGBuilder< IP, IS, OP, S > & | runDuring (const int &generations) |
Defines the number of generations to perform by EIG. Notice that the EIG works by generations instead of evaluations as others algorithms in dignea do. More... | |
EIGBuilder< IP, IS, OP, S > & | setFeatures (const Features &f) |
Defines the Feature information for MapElites. More... | |
Static Public Member Functions | |
static EIGBuilder< IP, IS, OP, S > | create (GeneratorType type) |
Creates a EIGBuilder object. More... | |
Class which represents a Builder for the EIG. Creates a EIG step by step from all the different components.
IP | |
IS | |
OP | |
S |
|
static |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::crossover | ( | CXType | cxType | ) |
Defines the crossover operator type to use with this Genetic Algorithm. Variants are available at CXType.
IP | |
IS | |
OP | |
S |
cxType |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::evalWith | ( | unique_ptr< InstanceFitness > | evalMethod | ) |
Evaluation approach for generating instances. The instances must be considered easy to solve for the target or hard.
IP | |
IS | |
OP | |
S |
evalMethod |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::mutation | ( | MutType | mutation | ) |
Defines the mutation operator type to use with this Genetic Algorithm. Variants are available at MutType.
IP | |
IS | |
OP | |
S |
mutation |
EIGBuilder< IP, IS, OP, S >::operator unique_ptr< EIG< IP, IS, OP, S >> |
Builds a EIG object with all the components specified and returns a unique_ptr.
IP | |
IS | |
OP | |
S |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::populationOf | ( | const int & | popsize | ) |
Defines the population of instances to use. This is the number of instances that the EIG will be evolving at each generation.
IP | |
IS | |
OP | |
S |
popsize |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::portfolio | ( | vector< EA > & | configs | ) |
Defines the portfolio of solvers to evaluate the instances during the evolutionary process. The first algorithm in the vector will be considered as the target for the instances.
IP | |
IS | |
OP | |
S |
configs |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::repeating | ( | const int & | reps | ) |
Defines how many repetitions the algorithms in the portfolio must perform over each instance in each generation of the EIG.
IP | |
IS | |
OP | |
S |
reps |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::runDuring | ( | const int & | generations | ) |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::selection | ( | SelType | selType | ) |
Defines the selection operator to use. Variants are available at SelType.
IP | |
IS | |
OP | |
S |
selType |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::setFeatures | ( | const Features & | f | ) |
Defines the Feature information for MapElites.
IP | |
IS | |
OP | |
S |
generations |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::toSolve | ( | unique_ptr< IP > | problem | ) |
Defines the AbstractDomain to solve.
IP | |
IS | |
OP | |
S |
problem |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::weights | ( | const float & | fW, |
const float & | nW | ||
) |
Sets the weights that will be used in the Weighted Fitness Function. Notice that fW + nW = 1.0.
IP | |
IS | |
OP | |
S |
fW | |
nW |
|
inline |
This method only returns *this and it is used to make the building process more natural. Completely optional.
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::withCrossRate | ( | const float & | crSsRate | ) |
Defines the crossover rate to apply the crossover operator.
IP | |
IS | |
OP | |
S |
crSsRate |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::withMutRate | ( | const float & | mutRate | ) |
Defines the mutation rate to apply in the mutation operator.
IP | |
IS | |
OP | |
S |
mutRate |
EIGBuilder< IP, IS, OP, S > & EIGBuilder< IP, IS, OP, S >::withSearch | ( | NSType | nsType, |
unique_ptr< Distance< float >> | dist, | ||
const float & | thres, | ||
const float & | finalThresh, | ||
const int | k, | ||
bool | warmUp = false |
||
) |
Novelty search configuration for the EIG. Here we define the Novelty Approach (Features, Performance), the distance Metric, the threshold to include a solution in the NS archive and the 'k' value to use in the KNN method during the NS execution.
IP | |
IS | |
OP | |
S |
nsType | |
dist | |
thres | |
k |