pub struct Chromosome<T: Allele> {
pub genes: Genes<T>,
pub fitness_score: Option<FitnessValue>,
pub genes_hash: Option<GenesHash>,
pub age: usize,
}Expand description
The Chromosome is used as an individual in the Population. Chromosomes select, crossover and mutate with each other in the Evolve strategy.
In the distributed module, chromosomes own their genes directly. You can use Evolve::best_chromosome(), HillClimb::best_chromosome() and Permutate::best_chromosome() to access the best chromosome directly.
Fields§
§genes: Genes<T>§fitness_score: Option<FitnessValue>§genes_hash: Option<GenesHash>§age: usizeImplementations§
Source§impl<T: Allele> Chromosome<T>
impl<T: Allele> Chromosome<T>
pub fn new(genes: Genes<T>) -> Self
pub fn with_capacity(capacity: usize) -> Self
pub fn age(&self) -> usize
pub fn reset_age(&mut self)
pub fn increment_age(&mut self)
pub fn set_age(&mut self, age: usize)
pub fn is_offspring(&self) -> bool
pub fn fitness_score(&self) -> Option<FitnessValue>
pub fn set_fitness_score(&mut self, fitness_score: Option<FitnessValue>)
pub fn genes_hash(&self) -> Option<GenesHash>
pub fn set_genes_hash(&mut self, genes_hash: Option<GenesHash>)
pub fn genes(&self) -> &Genes<T>
pub fn reset_metadata(&mut self, genes_hashing: bool)
pub fn copy_metadata(&mut self, other: &Self)
pub fn copy_from(&mut self, source: &Self)
pub fn calculate_hash(&self) -> GenesHash
Trait Implementations§
Source§impl<T: Clone + Allele> Clone for Chromosome<T>
impl<T: Clone + Allele> Clone for Chromosome<T>
Source§fn clone(&self) -> Chromosome<T>
fn clone(&self) -> Chromosome<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<T> Freeze for Chromosome<T>
impl<T> RefUnwindSafe for Chromosome<T>where
T: RefUnwindSafe,
impl<T> Send for Chromosome<T>
impl<T> Sync for Chromosome<T>
impl<T> Unpin for Chromosome<T>where
T: Unpin,
impl<T> UnwindSafe for Chromosome<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more