13#if !defined(VITA_GA_I_DE_H)
33 using genome_t = std::vector<double>;
34 using const_iterator = genome_t::const_iterator;
35 using iterator = genome_t::iterator;
36 using value_type = genome_t::value_type;
38 const_iterator
begin()
const;
39 const_iterator
end()
const;
44 value_type operator[](std::size_t i)
const
50 value_type &operator[](std::size_t i)
57 operator std::vector<value_type>()
const;
67 std::size_t
parameters()
const {
return genome_.size(); }
83 bool load_impl(std::istream &,
const symbol_set &);
84 bool save_impl(std::ostream &)
const;
93bool operator==(
const i_de &,
const i_de &);
94double distance(
const i_de &,
const i_de &);
97std::ostream &in_line(
const i_de &, std::ostream & = std::cout);
98std::ostream &
operator<<(std::ostream &,
const i_de &);
105 return genome_.begin();
113 return genome_.end();
121 return genome_.begin();
129 return genome_.end();
An individual optimized for differential evolution.
std::size_t parameters() const
void graphviz(std::ostream &) const
Inserts into the output stream the graph representation of the individual.
const_iterator begin() const
i_de crossover(double, const range_t< double > &, const i_de &, const i_de &, const i_de &) const
Differential evolution crossover.
const_iterator end() const
i_de & operator=(const std::vector< value_type > &)
Sets up the individual with values from a vector.
A single member of a population.
MurmurHash3 (https://github.com/aappleby/smhasher) by Austin Appleby.
Aggregates the problem-related data needed by an evolutionary program.
A container for the symbols used by the GP engine.
The main namespace for the project.
std::pair< T, T > range_t
Right-open interval.
std::ostream & operator<<(std::ostream &o, hash_t h)
Mainly useful for debugging / testing.
A 128bit unsigned integer used as individual's signature / hash table look-up key.
void clear()
Resets the content of the object.