Vita
Public Types | Public Member Functions | Protected Attributes | List of all members
vita::recombination::strategy< T > Class Template Reference

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_
 

Detailed Description

template<class T>
class vita::recombination::strategy< T >

The operation strategy (crossover, recombination, mutation...) adopted in the evolution class.

Template Parameters
Ttype 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.

See also

Definition at line 47 of file evolution_recombination.h.

Member Typedef Documentation

◆ offspring_t

template<class T >
using vita::recombination::strategy< T >::offspring_t = small_vector<T, 1>

Definition at line 50 of file evolution_recombination.h.

◆ parents_t

template<class T >
using vita::recombination::strategy< T >::parents_t = typename selection::strategy<T>::parents_t

Definition at line 51 of file evolution_recombination.h.

Member Data Documentation

◆ eva_

template<class T >
evaluator<T>& vita::recombination::strategy< T >::eva_
protected

Definition at line 57 of file evolution_recombination.h.

◆ pop_

template<class T >
const population<T>& vita::recombination::strategy< T >::pop_
protected

Definition at line 56 of file evolution_recombination.h.

◆ stats_

template<class T >
summary<T>* vita::recombination::strategy< T >::stats_
protected

Definition at line 58 of file evolution_recombination.h.


The documentation for this class was generated from the following file: