#include <strategy.h>
Public Types | |
enum | traceflags |
Public Methods | |
EAStrategy (SimplePopulation &popula) | |
void | evolve (EAEnvironment &envr, TextOStream &out, TextOStream &log) |
virtual void | addFeaturesTo (Genome &genome) const |
void | print (TextOStream &out) |
void | recombine (const SelectionSituation &situation, const SelectionMatrix &selmat) |
void | check () const |
Protected Attributes | |
SimplePopulation & | mrPopula |
Array< Individual > * | mpNextGen |
bool | allow_same_parents |
You should not confuse this with Evolution Strategies, which is one kind of evolution strategy for real-valued genes.
The strategy is distinguished from the population, as alternative strategies could be used for a population.
Definition at line 28 of file strategy.h.
|
OStream flags for outputting some trace information.
Definition at line 71 of file strategy.h. |
|
Attaches the strategy to the given population. The class currently supports only linear SimplePopulation. Definition at line 60 of file population.cc. References allow_same_parents, SimplePopulation::mElites, mpNextGen, mrPopula, and SimplePopulation::size(). |
|
Adds strategy-dependent features to the given genome.
Definition at line 186 of file population.cc. |
|
Implementation for Object.
Definition at line 210 of file population.cc. References mpNextGen. Referenced by SimplePopulation::check(). |
|
Evolves a population to adapt to an environment.
Definition at line 86 of file population.cc. References Individual::addking(), EAEnvironment::cycleReport(), Individual::evaluate(), SimplePopulation::evaluate(), SelectionSituation::getOrdered(), EAEnvironment::init_cycle(), SimplePopulation::mElites, mrPopula, recombine(), and SimplePopulation::report(). Referenced by SimplePopulation::evolve(). |
|
Prints some strategic information to the given stream.
Definition at line 189 of file population.cc. References MutationRate::binaryRate(), MutationRate::doubleRate(), MutationRate::doubleVariance(), MutationRate::intRate(), SimplePopulation::mElites, mrPopula, SelectionPrms::muFor(), SimplePopulation::mutRate(), SimplePopulation::selParams(), and SimplePopulation::size(). Referenced by SimplePopulation::SimplePopulation(). |
|
Forms the next generation, usually by recombining parent individuals as offspring.
Definition at line 125 of file population.cc. References SelectionSituation::getOrdered(), SimplePopulation::mElites, mpNextGen, SimplePopulation::mpPopulation, mrPopula, SimplePopulation::mutRate(), SelectionMatrix::selectRandomPair(), and SimplePopulation::size(). Referenced by evolve(). |
|
Mode flag dictating whether to allow self-breeding or not.
Definition at line 84 of file strategy.h. Referenced by EAStrategy(). |
|
An array holding the individuals of "next generation".
Definition at line 81 of file strategy.h. Referenced by check(), EAStrategy(), and recombine(). |
|
The population that is being evolved with this strategy.
Definition at line 78 of file strategy.h. Referenced by EAStrategy(), evolve(), print(), and recombine(). |