Usage
makeAgeFitnessComplexityParetoGpSearchHeuristic(lambda = 50, crossoverProbability = 0.5, enableComplexityCriterion = TRUE, enableAgeCriterion = FALSE, ndsParentSelectionProbability = 0, ndsSelectionFunction = nds_cd_selection, complexityMeasure = function(ind, fitness) fastFuncVisitationLength(ind), ageMergeFunction = max, newIndividualsPerGeneration = if (enableAgeCriterion) 50 else 0, newIndividualsMaxDepth = 8, newIndividualFactory = makePopulation)
Arguments
lambda
The number of children to create in each generation (50 by default).
crossoverProbability
The crossover probability for search-heuristics that support
this setting (i.e. TinyGP). Defaults to 0.5.
enableComplexityCriterion
Whether to enable the complexity criterion in multi-criterial
search heuristics.
enableAgeCriterion
Whether to enable the age criterion in multi-criterial search heuristics.
ndsParentSelectionProbability
The probability to use non-dominated sorting to select parents
for each generation. When set to 0.0, parents are selected by uniform random
sampling without replacement every time. Defaults to 1.0.
ndsSelectionFunction
The function to use for non-dominated sorting in Pareto GP selection.
Defaults to nds_cd_selection.
complexityMeasure
The complexity measure, a function of signature function(ind, fitness)
returning a single numeric value.
ageMergeFunction
The function used for merging ages of crossover children, defaults
to max.
newIndividualsPerGeneration
The number of new individuals per generation to
insert into the population. Defaults to 50 if enableAgeCriterion == TRUE
else to 0.
newIndividualsMaxDepth
The maximum depth of new individuals inserted into the
population.
newIndividualFactory
The factory function for creating new individuals. Defaults
to makePopulation.