Vita
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vita::search< T, ES > Class Template Reference

Search drives the evolution. More...

#include <search.h>

Public Member Functions

searchafter_generation (typename evolution< T, ES >::after_generation_callback_t)
 
virtual bool is_valid () const
 
summary< T > run (unsigned=1)
 
 search (problem &)
 
template<class E , class... Args>
searchtraining_evaluator (Args &&...)
 
template<class E , class... Args>
searchvalidation_evaluator (Args &&...)
 
template<class V , class... Args>
searchvalidation_strategy (Args &&...)
 

Protected Member Functions

virtual void after_evolution (const summary< T > &)
 
virtual void calculate_metrics (summary< T > *) const
 
virtual bool can_validate () const
 
virtual void close ()
 
virtual void init ()
 
virtual void log_stats (const search_stats< T > &, tinyxml2::XMLDocument *) const
 
virtual void print_resume (const model_measurements &) const
 
virtual void tune_parameters ()
 

Protected Attributes

evolution< T, ES >::after_generation_callback_t after_generation_callback_
 
std::unique_ptr< evaluator< T > > eva1_
 
std::unique_ptr< evaluator< T > > eva2_
 
problemprob_
 
std::unique_ptr< vita::validation_strategyvs_
 

Detailed Description

template<class T, template< class > class ES = vita::std_es>
class vita::search< T, ES >

Search drives the evolution.

Template Parameters
Tindividual used
ESevolution strategy

The class offers a general / customizable search strategy.

Note
The "template template parameter" approach allows coordination between T and ES to be handled by the search class, rather than in all the various code that specializes search. A clear description of this technique can be found in "C++ Common Knowledge: Template Template Parameters" by Stephen Dewhurst (http://www.informit.com/articles/article.aspx?p=376878).

Definition at line 53 of file search.h.

Member Data Documentation

◆ after_generation_callback_

template<class T , template< class > class ES = vita::std_es>
evolution<T,ES>::after_generation_callback_t vita::search< T, ES >::after_generation_callback_
protected

Definition at line 109 of file search.h.

◆ eva1_

template<class T , template< class > class ES = vita::std_es>
std::unique_ptr<evaluator<T> > vita::search< T, ES >::eva1_
protected

Definition at line 100 of file search.h.

◆ eva2_

template<class T , template< class > class ES = vita::std_es>
std::unique_ptr<evaluator<T> > vita::search< T, ES >::eva2_
protected

Definition at line 101 of file search.h.

◆ prob_

template<class T , template< class > class ES = vita::std_es>
problem& vita::search< T, ES >::prob_
protected

Definition at line 105 of file search.h.

◆ vs_

template<class T , template< class > class ES = vita::std_es>
std::unique_ptr<vita::validation_strategy> vita::search< T, ES >::vs_
protected

Definition at line 102 of file search.h.


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