clojush.pushgp.selection.preselection
age-mediate
(age-mediate pop {:keys [age-mediated-parent-selection]})
If age-mediated-parent-selection is falsy, returns pop. Otherwise, age-mediated-parent-selection should be a vector of [pmin pmax] with pmin and pmax both being between 0 and 1 (inclusive) with pmin + pmax <= 1.0. Then, with probability pmin, returns individuals in pop with age @min-age; with probability pmax, returns all of pop; with probability (- 1.0 pmin pmax), selects an age cutoff uniformly from those present in the population and returns individuals with the cutoff age or lower.
nonempties-for-autoconstruction
(nonempties-for-autoconstruction pop {:keys [autoconstructive]})
When :autoconstuctive is truthy, and at least one individual in pop has a non-empty genome, returns only those empty genomes.
one-individual-per-error-vector-for-lexicase
(one-individual-per-error-vector-for-lexicase pop {:keys [parent-selection]})
When :parent-selection is a lexicase method, returns onl one random individual to represent each error vector.
preselect
(preselect pop argmap)
Returns the population pop reduced as appropriate considering the settings for age-mediation, screening, selection method, and autoconstruction.
screen
(screen pop {:keys [random-screen]})
If random-screen is falsy, returns pop. Otherwise, random-screen should be a map with values for :criterion and :probability. Then, with probability (- 1 :probability), again returns pop. Otherwise, a value is chosen randomly from the :grain-size values of the individuals in pop, and returns the individuals with that :grain-size or smaller.