[][src]Enum radiate::engine::survival::ParentalCriteria

pub enum ParentalCriteria {
    BiasedRandom,
    BestInSpecies,
}

Implement a way to pick parents of children, in other words how is the rest of the population generation after those who don't survive die out.

Variants

BiasedRandom

The default option, statistically pick more fit parents however allow for less fit parents to be picked as well. This is kinda like putting the members in a species on a curve and randomly picking from that distribution

BestInSpecies

Only the best in each species are allowed to reproduce

Implementations

impl ParentalCriteria[src]

implement picking parents

pub fn pick_parents<T, E>(
    &self,
    inbreed_rate: f32,
    families: &[Family<T, E>]
) -> Option<((f32, Member<T>), (f32, Member<T>))> where
    T: Genome<T, E> + Send + Sync + Clone,
    E: Send + Sync
[src]

Find two parents to crossover and produce a child

pub fn get_biased_random_member<T, E>(
    &self,
    r: &mut ThreadRng,
    family: &Family<T, E>
) -> (f32, Member<T>) where
    T: Genome<T, E> + Send + Sync + Clone,
    E: Send + Sync
[src]

Get a biased random member from the species. By summing the fitness scores of the members, members with larger fitness scores are statistically more likely to be picked

Trait Implementations

impl Clone for ParentalCriteria[src]

impl Debug for ParentalCriteria[src]

impl<'de> Deserialize<'de> for ParentalCriteria[src]

impl Serialize for ParentalCriteria[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Serialize for T where
    T: Serialize + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,