1 #ifndef GRAIL_EVO_SCRIPT_H
2 #define GRAIL_EVO_SCRIPT_H
15 float fitness = -1.0f;
18 std::vector<std::reference_wrapper<IEvoParam>> evoParams{};
22 void SetFitness(
float _fitness);
23 float GetFitness()
const;
30 virtual std::unique_ptr<EvoScript>
UserClone()
const = 0;
33 void Randomize(std::mt19937_64& randomGenerator);
35 std::vector<std::unique_ptr<EvoScript>> GetRandomRealizations(std::mt19937_64& randomGenerator,
size_t count)
const;
36 std::vector<std::reference_wrapper<IEvoParam>>& GetEvoParams();
37 size_t EvoParamsCount()
const;
39 const IEvoParam& GetEvoParamAt(
size_t index)
const;
40 void ExchangeParams(
EvoScript& other,
size_t inclusiveFrom,
size_t exclusiveTo);
42 float CalculateSimilarity(
const EvoScript& other)
const;
43 void CopyEvoParamValuesFrom(
const EvoScript& other);
45 virtual std::string ToString()
const;
48 void RegisterParamsFromOther(
const EvoScript& other);
51 bool EvoScriptComparator(
const std::unique_ptr<EvoScript>& first,
const std::unique_ptr<EvoScript>& second);
Definition: EvoScript.hh:13
void Randomize(std::mt19937_64 &randomGenerator)
Definition: EvoScript.cpp:29
virtual std::unique_ptr< EvoScript > UserClone() const =0
std::unique_ptr< EvoScript > SystemClone() const
Definition: EvoScript.cpp:22
Definition: IEvoParam.hh:12