Package io.jenetics

Class ProbabilitySelector<G extends Gene<?,​G>,​C extends Comparable<? super C>>

    • Constructor Detail

      • ProbabilitySelector

        protected ProbabilitySelector​(boolean sorted)
        Create a new ProbabilitySelector with the given sorting flag. This flag must set to true if the selector implementation is sorting the population in the probabilities(Seq, int) method.
        Parameters:
        sorted - true if the implementation is sorting the population when calculating the selection probabilities, false otherwise.
      • ProbabilitySelector

        protected ProbabilitySelector()
        Create a new selector with sorted = false.
    • Method Detail

      • select

        public ISeq<Phenotype<G,​C>> select​(Seq<Phenotype<G,​C>> population,
                                                 int count,
                                                 Optimize opt)
        Description copied from interface: Selector
        Select phenotypes from the Population.
        Specified by:
        select in interface Selector<G extends Gene<?,​G>,​C extends Comparable<? super C>>
        Parameters:
        population - The population to select from.
        count - The number of phenotypes to select.
        opt - Determines whether the individuals with higher fitness values or lower fitness values must be selected. This parameter determines whether the GA maximizes or minimizes the fitness function.
        Returns:
        The selected phenotypes (a new Population).
      • probabilities

        protected final double[] probabilities​(Seq<Phenotype<G,​C>> population,
                                               int count,
                                               Optimize opt)
        This method takes the probabilities from the probabilities(Seq, int) method and inverts it if needed.
        Parameters:
        population - The population.
        count - The number of phenotypes to select.
        opt - Determines whether the individuals with higher fitness values or lower fitness values must be selected. This parameter determines whether the GA maximizes or minimizes the fitness function.
        Returns:
        Probability array.
      • probabilities

        protected abstract double[] probabilities​(Seq<Phenotype<G,​C>> population,
                                                  int count)

        Return an Probability array, which corresponds to the given Population. The probability array and the population must have the same size. The population is not sorted. If a subclass needs a sorted population, the subclass is responsible to sort the population.

        The implementer always assumes that higher fitness values are better. The base class inverts the probabilities, by reverting the returned probability array, if the GA is supposed to minimize the fitness function.
        Parameters:
        population - The unsorted population.
        count - The number of phenotypes to select. This parameter is not needed for most implementations.
        Returns:
        Probability array. The returned probability array must have the length population.size() and must sum to one. The returned value is checked with assert(Math.abs(math.sum(probabilities) - 1.0) < 0.0001) in the base class.