|
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 |