pub trait StrategyState<G: Genotype>: Display {
Show 22 methods
// Required methods
fn chromosome_as_ref(&self) -> &Option<Chromosome<G::Allele>>;
fn chromosome_as_mut(&mut self) -> &mut Option<Chromosome<G::Allele>>;
fn population_as_ref(&self) -> &Population<G::Allele>;
fn population_as_mut(&mut self) -> &mut Population<G::Allele>;
fn best_fitness_score(&self) -> Option<FitnessValue>;
fn best_generation(&self) -> usize;
fn best_genes(&self) -> Option<Genes<G::Allele>>;
fn current_generation(&self) -> usize;
fn current_iteration(&self) -> usize;
fn stale_generations(&self) -> usize;
fn scale_generation(&self) -> usize;
fn population_cardinality(&self) -> Option<usize>;
fn durations(&self) -> &HashMap<StrategyAction, Duration>;
fn add_duration(&mut self, action: StrategyAction, duration: Duration);
fn total_duration(&self) -> Duration;
fn increment_generation(&mut self);
fn increment_stale_generations(&mut self);
fn reset_stale_generations(&mut self);
fn reset_scale_generation(&mut self);
// Provided methods
fn close_duration(&mut self, total_duration: Duration) { ... }
fn fitness_duration_rate(&self) -> f32 { ... }
fn is_better_chromosome(
&self,
contending_chromosome: &Chromosome<G::Allele>,
fitness_ordering: &FitnessOrdering,
replace_on_equal_fitness: bool,
) -> (bool, bool) { ... }
}Expand description
Stores the state of the strategy. The expected general fields are:
- current_iteration:
usize - current_generation:
usize - best_generation:
usize - best_chromosome:
Chromosome<G::Allele> - chromosome:
Chromosome<G::Allele> - populatoin:
Population<G::Allele>// may be empty