Vita
|
The operation strategy (crossover, recombination, mutation...) adopted in the evolution class. More...
#include <evolution_recombination.h>
Inherited by vita::recombination::base< i_mep >, vita::recombination::base< T >, and vita::recombination::de< T >.
Public Types | |
using | offspring_t = small_vector< T, 1 > |
using | parents_t = typename selection::strategy< T >::parents_t |
Public Member Functions | |
strategy (const population< T > &, evaluator< T > &, summary< T > *) | |
Protected Attributes | |
evaluator< T > & | eva_ |
const population< T > & | pop_ |
summary< T > * | stats_ |
The operation strategy (crossover, recombination, mutation...) adopted in the evolution class.
T | type of program (individual/team) |
A recombination acts upon sets of individuals to generate offspring (this definition generalizes the traditional mutation and crossover operators).
Operator application is atomic from the point of view of the evolutionary algorithm and every recombination is applied to a well defined list of individuals, without dependencies upon past history.
In the strategy design pattern, this class is the strategy interface and vita::evolution is the context.
This is an abstract class: introduction of new operators or redefinition of existing ones is obtained implementing recombination::strategy.
Definition at line 47 of file evolution_recombination.h.
using vita::recombination::strategy< T >::offspring_t = small_vector<T, 1> |
Definition at line 50 of file evolution_recombination.h.
using vita::recombination::strategy< T >::parents_t = typename selection::strategy<T>::parents_t |
Definition at line 51 of file evolution_recombination.h.
|
protected |
Definition at line 57 of file evolution_recombination.h.
|
protected |
Definition at line 56 of file evolution_recombination.h.
|
protected |
Definition at line 58 of file evolution_recombination.h.