|
Grail (C++)
1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
3 #ifndef GRAIL_EVO_PARAM_H
4 #define GRAIL_EVO_PARAM_H
26 std::vector<T> domain{};
35 domain.reserve(argsDomain.size());
36 std::copy(argsDomain.begin(), argsDomain.end(), std::back_inserter(domain));
45 domain.reserve(argsDomain.size());
46 std::copy(argsDomain.begin(), argsDomain.end(), std::back_inserter(domain));
55 const auto it = std::find(domain.begin(), domain.end(), value);
56 if(it == domain.end())
60 return std::distance(domain.begin(), it);
85 return std::to_string(
Value());
90 #endif //GRAIL_EVO_PARAM_H
EvoParam - class that represents a parameter that is modifiable (optimizable) by evolutionary algorit...
Definition: EvoParam.hh:16
TypedEvoParam(std::initializer_list< T > argsDomain)
TypedEvoParam - Constructor.
Definition: TypedEvoParam.hh:32
const T Value() const
Value - gets the current value that the parameter is holding.
Definition: TypedEvoParam.hh:67
virtual std::string ToString() const override
ToString - returns the string representation of the current value hold by the parameter.
Definition: TypedEvoParam.hh:83
TypedEvoParam(std::vector< T > &argsDomain)
TypedEvoParam - Constructor.
Definition: TypedEvoParam.hh:42
int IndexOfValue(T value)
IndexOfValue - finds a given value in the parameter's domain and returns its index.
Definition: TypedEvoParam.hh:53
TypedEvoParam A class for defining evolutionary-optimizable parameters. They can be registered in Evo...
Definition: TypedEvoParam.hh:23
size_t positionIndex
positionIndex - EvoParam uses positionIndex to point to an element from its domain.
Definition: EvoParam.hh:26