libcrn  3.9.5
A document image processing library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Enumerations | Functions
CRNGenetic.h File Reference
#include <iterator>
#include <map>
#include <CRNException.h>
#include <random>
#include <algorithm>
+ Include dependency graph for CRNGenetic.h:

Go to the source code of this file.

Classes

struct  crn::CrossOver
 Crossover functor. More...
 
struct  crn::GenerationCounter
 Simple counter to stop an genetic algorithm. More...
 
struct  crn::FitnessThreshold
 Stops when the best individual has a fitness lower than a threshold. More...
 

Namespaces

 crn
 

Enumerations

enum  crn::GenerationStrategy { crn::GenerationStrategy::KEEP_BEST_PARENT, crn::GenerationStrategy::KEEP_BEST_PARENTS_AND_CHILDREN }
 

Functions

template<typename ITER , typename BREEDING_FUNC , typename EVAL_FUNC , typename STOP_FUNC , typename URNG = std::default_random_engine>
std::multimap< double,
typename std::iterator_traits
< ITER >::value_type > 
crn::Genetic (ITER b, ITER e, BREEDING_FUNC breed, EVAL_FUNC evaluate, STOP_FUNC stop, GenerationStrategy keep_parents=GenerationStrategy::KEEP_BEST_PARENT, URNG &&rng=std::default_random_engine{size_t(std::chrono::system_clock::now().time_since_epoch().count())})