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: usize
Implementations§
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