13#if !defined(VITA_EVOLUTION_REPLACEMENT_H)
14#define VITA_EVOLUTION_REPLACEMENT_H
18namespace vita::replacement
36 using offspring_t =
typename recombination::strategy<T>::offspring_t;
37 using parents_t =
typename selection::strategy<T>::parents_t;
68 using family_competition::strategy::strategy;
70 void run(
const typename strategy<T>::parents_t &,
71 const typename strategy<T>::offspring_t &,
summary<T> *);
90 using tournament::strategy::strategy;
92 void run(
const typename strategy<T>::parents_t &,
93 const typename strategy<T>::offspring_t &,
summary<T> *);
117 using alps::strategy::strategy;
119 void run(
const typename strategy<T>::parents_t &,
120 const typename strategy<T>::offspring_t &,
summary<T> *);
122 void try_move_up_layer(
unsigned);
125 [[nodiscard]]
unsigned allowed_age(
unsigned)
const;
126 bool try_add_to_layer(
unsigned,
const T &);
133 using pareto::strategy::strategy;
135 void run(
const typename strategy<T>::parents_t &,
136 const typename strategy<T>::offspring_t &,
summary<T> *);
139#include "kernel/evolution_replacement.tcc"
Calculates the fitness of an individual.
A group of individuals which may interact together (for example by mating) producing offspring.
A family competition replacement scheme.
The replacement strategy (random, tournament...) for the vita::evolution_strategy class.
Tournament based replacement scheme (aka kill tournament).
A summary of evolution (results, statistics...).
Contains support functions for the ALPS algorithm.