pub enum Lineage {
Genesis {
generation: u32,
},
Crossover {
parent_a: Arc<ParentSnapshot>,
parent_b: Arc<ParentSnapshot>,
strategy: String,
generation: u32,
},
Mutation {
parent: Arc<ParentSnapshot>,
log: Vec<MutationOp>,
generation: u32,
},
}Expand description
Lineage of a chromosome: how it was derived from seeds.
Variants§
Genesis
Original randomly-generated chromosome.
Crossover
Created via crossover of two parents.
Fields
§
parent_a: Arc<ParentSnapshot>Parent A snapshot — genes only, breaks ancestry chain.
§
parent_b: Arc<ParentSnapshot>Parent B snapshot — genes only, breaks ancestry chain.
Mutation
Created via mutation of a single parent.
Fields
§
parent: Arc<ParentSnapshot>Parent snapshot — genes only, breaks ancestry chain.
§
log: Vec<MutationOp>Log of applied mutation operations.
Implementations§
Source§impl Lineage
impl Lineage
Sourcepub fn crossover(
parent_a: &Chromosome,
parent_b: &Chromosome,
strategy: &str,
generation: u32,
) -> Self
pub fn crossover( parent_a: &Chromosome, parent_b: &Chromosome, strategy: &str, generation: u32, ) -> Self
Create a crossover lineage.
Sourcepub fn mutation(
parent: &Chromosome,
log: Vec<MutationOp>,
generation: u32,
) -> Self
pub fn mutation( parent: &Chromosome, log: Vec<MutationOp>, generation: u32, ) -> Self
Create a mutation lineage.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Lineage
impl<'de> Deserialize<'de> for Lineage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Lineage
Auto Trait Implementations§
impl Freeze for Lineage
impl RefUnwindSafe for Lineage
impl Send for Lineage
impl Sync for Lineage
impl Unpin for Lineage
impl UnsafeUnpin for Lineage
impl UnwindSafe for Lineage
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