[−][src]Enum oxigen::survival_pressure::SurvivalPressureFunctions
Provided survival pressure functions.
Variants
Kill worst individuals until reach the population size.
Kill the most similar individual to each child.
Kill individuals that have been crossed. Note that since the same parents can produce many different children (they are selected to cross several times) the populationn size can be increased using this function.
Kill individuals that have been crossed and after that the worst individuals until reach the initial population size.
Kill individuals that have been crossed and after that random individuals until reach the initial population size.
Kill individuals that have been crossed and after that randomly select an individual to fight to the the most similar to it until reach the initial population size. Note that this function is slow using the default Genotype similarity function because genes are compared one by one.
Kill individuals that have been crossed and after that the most similar individuals until reach the initial population size. Note that this function is slow using the default Genotype similarity function because genes are compared one by one.
Kill individuals that have been crossed and after that the oldest individuals until reach the initial population size. /// Note that this function is slow because each individual similarity is computed across the rest of individuals of the population.
Each child fight with the most similar individual in the population.
Each child fight with a random parent in a parricide battle for survival. Note that because the same parents can produce many different children (they are selected to cross several times) the populationn size can be increased using this function.
Each child fight with a random parent in a parricide battle for survival and after that the worst individuals until reach the initial population size.
Each child fight with a random parent in a parricide battle for survival and after that random individuals until reach the initial population size.
Each child fight with a random parent in a parricide battle for survival and after that randomly select an individual to fight to the the most similar to it until reach the initial population size. Note that this function is slow because each individual similarity is computed across the rest of individuals of the population.
Each child fight with a random parent in a parricide battle for survival and after that the most similar individuals until reach the initial population size. Note that this function is slow because each individual similarity is computed across the rest of individuals of the population.
Each child fight with a random parent in a parricide battle for survival and after that the oldest individuals until reach the initial population size.
Overpopulation(M)
m
individuals are randomly selected from the population (note that n < m < population_size
where n is the number of generated individuals shall be true) and the most similars to the
children are killed one by one.
CompetitiveOverpopulation(M)
Like OverPopulation
but the existing individuals in the population that are most
similar to each children fight with the corresponding children and the best survive.
Like ChildrenFightParents
but instead of random fight between one child with one parent,
the tuple of most similar parent-child is selected to fight.
Trait Implementations
impl<T: PartialEq + Send + Sync, G: Genotype<T>> SurvivalPressure<T, G> for SurvivalPressureFunctions
[src]
fn kill(
&self,
population_size: usize,
population: &mut Vec<IndWithFitness<T, G>>,
parents_children: &[Reproduction]
)
[src]
&self,
population_size: usize,
population: &mut Vec<IndWithFitness<T, G>>,
parents_children: &[Reproduction]
)
Auto Trait Implementations
impl RefUnwindSafe for SurvivalPressureFunctions
impl Send for SurvivalPressureFunctions
impl Sync for SurvivalPressureFunctions
impl Unpin for SurvivalPressureFunctions
impl UnwindSafe for SurvivalPressureFunctions
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,