Description Usage Arguments Value See Also
Perform a multi-niche genetic programming run. The required argument
fitnessFunction must be supplied with an objective function that assigns
a numerical fitness value to an R function. Fitness values are minimized, i.e.
smaller values mean higher/better fitness. If a multi-objective
selectionFunction is used, fitnessFunction return a numerical
vector of fitness values.
In a multi-niche genetic programming run, the initial population is clustered
via a clusterFunction into numberOfNiches niches. In each niche,
a genetic programming run is executed with passStopCondition as stop
condition. These runs are referred to as a parallel pass. After each parallel
pass, the niches are joined again using a joinFunction into a population.
From here, the process starts again with a clustering step, until the global
stopCondition is met.
The result of the multi-niche genetic programming run is a genetic programming
result object containing a GP population of R functions.
summary.geneticProgrammingResult can be used to create summary views of a
GP result object.
1 2 3 4 5 6 7 8 9 10 11 12 13 | multiNicheGeneticProgramming(fitnessFunction,
stopCondition = makeTimeStopCondition(25),
passStopCondition = makeTimeStopCondition(5), numberOfNiches = 2,
clusterFunction = groupListConsecutive, joinFunction = function(niches)
Reduce(c, niches), population = NULL, populationSize = 100,
eliteSize = ceiling(0.1 * populationSize), elite = list(),
functionSet = mathFunctionSet, inputVariables = inputVariableSet("x"),
constantSet = numericConstantSet, crossoverFunction = crossover,
mutationFunction = NULL, restartCondition = makeEmptyRestartCondition(),
restartStrategy = makeLocalRestartStrategy(),
searchHeuristic = makeAgeFitnessComplexityParetoGpSearchHeuristic(),
progressMonitor = NULL, verbose = TRUE, clusterApply = sfClusterApplyLB,
clusterExport = sfExport)
|
fitnessFunction |
In case of a single-objective selection function,
|
stopCondition |
The stop condition for the evolution main loop. See
|
passStopCondition |
The stop condition for each parallel pass. See
|
numberOfNiches |
The number of niches to cluster the population into. |
clusterFunction |
The function used to cluster the population into
niches. The first parameter of this function is a GP population, the
second paramater an integer representing the number of niches. Defaults
to |
joinFunction |
The function used to join all niches into a population again after a round of parallel passes. Defaults to a function that simply concatenates all niches. |
population |
The GP population to start the run with. If this parameter
is missing, a new GP population of size |
populationSize |
The number of individuals if a population is to be created. |
eliteSize |
The number of "elite" individuals to keep. Defaults to
|
elite |
The elite list, must be alist of individuals sorted in ascending order by their first fitness component. |
functionSet |
The function set. |
inputVariables |
The input variable set. |
constantSet |
The set of constant factory functions. |
searchHeuristic |
The search-heuristic (i.e. optimization algorithm) to use
in the search of solutions. See the documentation for |
crossoverFunction |
The crossover function. |
mutationFunction |
The mutation function. |
restartCondition |
The restart condition for the evolution main loop. See makeFitnessStagnationRestartCondition for details. |
restartStrategy |
The strategy for doing restarts. See makeLocalRestartStrategy for details. |
progressMonitor |
A function of signature
|
verbose |
Whether to print progress messages. |
clusterApply |
The cluster apply function that is used to distribute the parallel passes to CPUs in a compute cluster. |
clusterExport |
A function that is used to export R variables to the nodes of
a CPU cluster, defaults to |
A genetic programming result object that contains a GP population in the
field population, as well as metadata describing the run parameters.
geneticProgramming, summary.geneticProgrammingResult, symbolicRegression
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.