Namespace for everything linked to Fault tolerance aspects. More...
Classes | |
| class | Cheater |
| This class modelize a generic cheater and is used as a base class for specialized cheaters. A cheat interviene at different granularity of tasks. More... | |
| class | BernouilliCheater |
| class | ExponentialCheater |
Enumerations | |
| enum | eprng_t { PRNG_RAND, PRNG_RAND48, PRNG_MT19937 } |
Pseudo random generator to be used -- see http://www.boost.org/libs/random/random-generators.html. More... | |
| enum | edistribution_t { UNIFORM, EXPONENTIAL, REVERSE_EXPONENTIAL, NORMAL, LOGNORMAL, UNDEFINED } |
Distribution to be used -- see http://www.boost.org/libs/random/random-distributions.html. More... | |
| enum | task_level_t { NO_TASK_LEVEL = 0x0u, TASK_LEVEL_0 = 0x1u, TASK_LEVEL_1 = 0x2u, ANY_TASK_LEVEL = 0xFFu } |
| enum | task_type_t { TASK_GENERATE = 0x1u, TASK_ASSIGN_INPUT_VALUE_TO_TERMINALS = 0x2u, TASK_EVALUATE = 0x4u, TASK_FITNESS = 0x8u, TASK_ELITISM = 0x10u, TASK_RUN_SINGLE_GENERATION = 0x20u, TASK_TOURNAMENT_SELECTION = 0x40u, TASK_INDIVIDUAL_OPERATOR = 0x80u, ALL_TASKS = 0xFFu } |
| enum | cheat_mode_t { CHEAT_UNIFORM, CHEAT_OVER_GENERATIONS, CHEAT_OVER_SEQUENTIAL_ORDER } |
Functions | |
| std::ostream & | operator<< (std::ostream &os, const eprng_t prng) |
| std::ostream & | operator<< (std::ostream &os, const edistribution_t d) |
| std::ostream & | operator<< (std::ostream &os, const task_level_t c) |
| std::ostream & | operator<< (std::ostream &os, const task_type_t t) |
| std::ostream & | operator<< (std::ostream &os, const cheat_mode_t t) |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const Cheater< T > &c) |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const BernouilliCheater< T > &c) |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const ExponentialCheater< T > &c) |
Variables | |
| const size_t | LEVEL_0_WIDTH = 6 |
Namespace for everything linked to Fault tolerance aspects.
| enum FT::cheat_mode_t |
| enum FT::edistribution_t |
Distribution to be used -- see http://www.boost.org/libs/random/random-distributions.html.
| enum FT::eprng_t |
Pseudo random generator to be used -- see http://www.boost.org/libs/random/random-generators.html.
Macro prng affected to the prng_t type
+--------------+----------------------+
| PRNG_RAND | boost::minstd_rand | Linear congruential algorithm
| PRNG_RAND48 | boost::rand48 | Linear congruential algorithm
| PRNG_MT19937 | boost::mt19937 | Mersenne Twister
+--------------+----------------------+
| enum FT::task_level_t |
Granularity of the tasks considered (TASK_LEVEL_0 corresponds to the tasks right under main typically). Two levels are considered here:
Population pop();
pop.generate(); // CHEAT possible
pop.evaluate(); // CHEAT possible
pop.calculateFitness(); // CHEAT possible
while (1) {
pop.runGeneration(); // CHEAT possible
pop.evaluate(); // CHEAT possible
pop.calculateFitness(); // CHEAT possible
do something for if pop.getBest().getFitness() == maxFitness // CHEAT possible?
}
//Population pop(); // pop.generate(); for_each ind in population: generate(ind->chromosome()) //pop.evaluate(); for all data_sample in learning set (input/output values) set_terminals(data_sample.input) // use input values for_each ind in population: ind.evaluate(data_sample.output) //pop.calculateFitness(); for_each ind in population: ind.calculateFitness() while (1) { //pop.runGeneration(); pick the elite (i.e copy the best) temp_pop = tournamentSelection(pop) (2 players until temp_pop is fed) apply OneIndividual operator to temp_pop apply TwoIndividual operator to temp_pop replace first ind of temp_pop (NOT sorted) with elite pop = temp_pop //pop.evaluate(); cf previous description // pop.calculateFitness(); cf previous description do something for if pop.getBest().getFitness() == maxFitness // CHEAT possible? }
| enum FT::task_type_t |
| std::ostream& FT::operator<< | ( | std::ostream & | os, | |
| const ExponentialCheater< T > & | c | |||
| ) | [inline] |
| std::ostream& FT::operator<< | ( | std::ostream & | os, | |
| const BernouilliCheater< T > & | c | |||
| ) | [inline] |
| std::ostream& FT::operator<< | ( | std::ostream & | os, | |
| const Cheater< T > & | c | |||
| ) | [inline] |
| std::ostream & FT::operator<< | ( | std::ostream & | os, | |
| const cheat_mode_t | t | |||
| ) |
| std::ostream & FT::operator<< | ( | std::ostream & | os, | |
| const task_type_t | t | |||
| ) |
| std::ostream & FT::operator<< | ( | std::ostream & | os, | |
| const task_level_t | c | |||
| ) |
| std::ostream & FT::operator<< | ( | std::ostream & | os, | |
| const edistribution_t | d | |||
| ) |
| std::ostream & FT::operator<< | ( | std::ostream & | os, | |
| const eprng_t | prng | |||
| ) |
| const size_t FT::LEVEL_0_WIDTH = 6 |
number of tasks in a critical path for level 0 of tasks (right under
1.6.1