rgp: R genetic programming framework

RGP is a simple modular Genetic Programming (GP) system build in pure R. In addition to general GP tasks, the system supports Symbolic Regression by GP through the familiar R model formula interface. GP individuals are represented as R expressions, an (optional) type system enables domain-specific function sets containing functions of diverse domain- and range types. A basic set of genetic operators for variation (mutation and crossover) and selection is provided.

AuthorOliver Flasch, Olaf Mersmann, Thomas Bartz-Beielstein, Joerg Stork, Martin Zaefferer
Date of publication2014-08-08 14:05:23
MaintainerOliver Flasch <oliver.flasch@fh-koeln.de>
LicenseGPL-2
Version0.4-1
http://rsymbolic.org/projects/show/rgp

View on CRAN

Man pages

arity: Determine the number of arguments of a function

arity.primitive: Determine the number of arguments of a primitive function

booleanFunctionManipulation: Tools for manipulating boolean functions

breeding: Breeding of GP individuals

buildingBlocks: Support for GP buidling blocks

buildingBlockTags: Building block tags

customDist: A 'dist' function that supports custom metrics

dataDrivenGeneticProgramming: Data-driven untyped standard genetic programming

defaultGPFunctionAndConstantSets: Default function- and constant factory sets for Genetic...

do.call.ignore.unused.arguments: A variant of do.call that ignores unused arguments

embedDataFrame: Embed columns in a data frame

evolutionRestartConditions: Evolution restart conditions

evolutionRestartStrategies: Evolution restart strategies

evolutionStopConditions: Evolution stop conditions

exprChildrenOrEmptyList: Return the Children of an Expression or the Empty List if...

expressionComplexityMeasures: Complexity measures for R functions and expressions

expressionComposing: Functions for decomposing and recombining R expressions

expressionCounts: Upper bounds for expression tree search space sizes

expressionCrossover: Random crossover (recombination) of functions and expressions

expressionMutation: Random mutation of functions and expressions

expressionNames: Functions for handling R symbols / names

expressionSimilarityMeasures: Similarity and Distance Measures for R Functions and...

expressionTransformation: Common higher-order functions for transforming R expressions

exprLabel: Return the "label" at the Root Node of an Expression Tree

exprToPlotmathExpr: Convert any expression to an expression that is plottable by...

extractAttributes: Extract a given attribute of all objects in a list and tag...

formatSeconds: Format time and data values into human-readable character...

funcToPlotmathExpr: Convert a function to an expression plottable by plotmath

geneticProgramming: Standard typed and untyped genetic programming

gpIndividualVisualization: Visualization of functions and expressions as trees

gridDesign: Create a regular grid design matrix

individualAnalysis: Functions for analysing GP individuals

inversePermutation: Calculate the inverse of a permutation

is.sType: Check if an object is an sType

iterate: Repeatedly apply a function

joinElites: Join elite lists

latinHypercubeDesign: Create a latin hypercube design (LHD)

lispLists: Functions for Lisp-like list processing

listSplittingAndGrouping: Splitting and grouping of lists

mae: Mean absolute error (MAE)

makeAgeFitnessComplexityParetoGpSearchHeuristic: Age Fitness Complexity Pareto GP Search Heuristic for RGP

makeArchiveBasedParetoTournamentSearchHeuristic: Archive-based Pareto Tournament Search Heuristic for RGP

makeClosure: Create a new R closure given a function body expression and...

makeCommaEvolutionStrategySearchHeuristic: Comma Evolution Strategy Search Heuristic for RGP

makeFunctionFitnessFunction: Create a fitness function from a reference function of one...

makeNaryFunctionFitnessFunction: Create a fitness function from a n-ary reference function

makeRegressionFitnessFunction: Create a fitness function for symbolic regression

makeSeSymbolicFitnessFunction: Create a fitness function based on symbolic squared error...

makeTinyGpSearchHeuristic: Tiny GP Search Heuristic for RGP

mse: Mean squared error (MSE)

multiNicheGeneticProgramming: Cluster-based multi-niche genetic programming

multiNicheSymbolicRegression: Symbolic regression via multi-niche standard genetic...

new.alist: Create a new function argument list from a list or vector of...

new.function: Create a new function stub

nmse: Normalized mean squared error (NMSE)

nondeterministicRanking: Create a nondeterministic ranking

normalize: Normalize a vector into the interval [0, 1]

normalizedDesign: Create a normalized design matrix

orderByParetoMeasure: Rearrange points via an arbitrary Pareto-based ranking

paretoFrontKneeIndex: Find the knee of a two dimensional pareto front

paretoSorting: Rearrange points via Pareto-based rankings

plotFunction3d: Plot a 2D function as a 3D surface

plotFunctions: Show an overlayed plot of multiple functions

plotParetoFront: Plot a GP Pareto Front

plotPopulationFitnessComplexity: Fitness/Complexity plot for populations

popfitness: Calculate the fitness value of each individual in a...

populationClustering: Clustering Populations for Niching

populationCreation: Classes for populations of individuals represented as...

predict.symbolicRegressionModel: Predict method for symbolic regression models

print.sType: Prints a sType and returns it invisible.

randelt: Choose a random element from a list or vector

randomExpressionChilds: Select random childs or subtrees of an expression

randomExpressionCreation: Creates an R expression by random growth

randomExpressionCreationTyped: Creates an R expression by random growth respecting type...

randomFunctionCreation: Creates an R function with a random expression as its body

randomFunctionCreationTyped: Creates a well-typed R function with a random expression as...

randterminalTyped: Create a random terminal node

rangeTypeOfType: Return the range type if t is a function type, otherwise just...

rgp-package: The RGP package

rgpTestingAndBenchmarking: Utility functions for testing and benchmarking the RGP system

r_mae: R version of Mean absolute error (MAE)

rmse: Root mean squared error (RMSE)

rsquared: Coefficient of determination (R^2)

r_sse: R version of Sum squared error (SSE)

r_ssse: R version of Scaled sum squared error (sSSE)

safeGPfunctions: Some simple arithmetic and logic functions for use in GP...

searchSpaceDefinition: Functions for defining the search space for Genetic...

selectionFunctions: GP selection functions

seSymbolic: Symbolic squared error (SE)

seSymbolicFunction: Symbolic squared error function (SE)

smse: Scaled mean squared error (SMSE)

sortBy: Sort a vector or list by the result of applying a function

sortByRange: Tabulate a list of functions or input variables by the range...

sortByRanking: Sort a vector or list via a given ranking

sortByType: Tabulate a list of functions or input variables by their...

sortingAlgorithms: Sorting algorithms for vectors and lists

sse: Sum squared error (SSE)

ssse: Scaled sum squared error (sSSE)

sTypeConstructors: Type constructors for types in the Rsymbolic type system

sTypeInference: Inference of sTypes

subDataFrame: Select a continuous subframe of a data frame

summary.geneticProgrammingResult: Summary reports of genetic programming run result objects

symbolicRegression: Symbolic regression via untyped standard genetic programming

tabulateFunction: Tabulate an n-ary function

variablePresenceMaps: Variable Presence Maps

Functions

\%->\% Man page
\%::\% Man page
AllExpressionNodes Man page
andStopCondition Man page
AnyExpressionNode Man page
arithmeticFunctionSet Man page
arity Man page
arity.primitive Man page
booleanFunctionAsList Man page
breed Man page
buildingBlock Man page
buildingBlockq Man page
buildingBlockTag Man page
buildingBlockTag<- Man page
calculateSTypeRecursive Man page
c.constantFactorySet Man page
c.functionSet Man page
c.inputVariableSet Man page
commonSubexpressions Man page
configureSTypeInference Man page
constantFactorySet Man page
contains Man page
crossover Man page
crossoverexpr Man page
crossoverexprFast Man page
crossoverexprTwoPoint Man page
crossoverexprTyped Man page
crossoverTyped Man page
customDist Man page
dataDrivenGeneticProgramming Man page
differingSubexpressions Man page
do.call.ignore.unused.arguments Man page
embedDataFrame Man page
evaluationsPerSecondBenchmark Man page
expLogFunctionSet Man page
exprChildrenOrEmptyList Man page
exprCount Man page
exprDepth Man page
expressionGraph Man page
exprLabel Man page
exprLeaves Man page
exprShapesOfDepth Man page
exprShapesOfMaxDepth Man page
exprShapesOfMaxSize Man page
exprShapesOfSize Man page
exprSize Man page
exprsOfDepth Man page
exprsOfMaxDepth Man page
exprsOfMaxSize Man page
exprsOfSize Man page
exprToGraph Man page
exprToIgraph Man page
exprToPlotmathExpr Man page
exprVisitationLength Man page
extractAttributes Man page
extractLeafSymbols Man page
fastExprVisitationLength Man page
fastFuncVisitationLength Man page
fastMakePopulation Man page
fifth Man page
first Man page
flatten Man page
FlattenExpression Man page
formatSeconds Man page
fourth Man page
funcCount Man page
funcDepth Man page
funcLeaves Man page
funcSize Man page
functionSet Man page
functionVariablePresenceMap Man page
funcToIgraph Man page
funcToPlotmathExpr Man page
funcVisitationLength Man page
geneticProgramming Man page
getPw Man page
getSTypeFromFormalsStack Man page
gridDesign Man page
groupListConsecutive Man page
groupListDistributed Man page
hasBuildingBlockTag Man page
hasPw Man page
hasStype Man page
ifPositive Man page
ifThenElse Man page
inputVariableSet Man page
inputVariablesOfIndividual Man page
insertionSort Man page
integerToLogicals Man page
intersperse Man page
inversePermutation Man page
is.atom Man page
is.composite Man page
is.empty Man page
is.sType Man page
iterate Man page
joinElites Man page
latinHypercubeDesign Man page
ln Man page
mae Man page
makeAgeFitnessComplexityParetoGpSearchHeuristic Man page
makeArchiveBasedParetoTournamentSearchHeuristic Man page
makeBooleanFitnessFunction Man page
makeClosure Man page
makeCommaEvolutionStrategySearchHeuristic Man page
makeComplexityTournamentSelection Man page
makeEmptyRestartCondition Man page
makeEvaluationsStopCondition Man page
makeFitnessDistributionRestartCondition Man page
makeFitnessStagnationRestartCondition Man page
makeFitnessStopCondition Man page
makeFunctionFitnessFunction Man page
makeHierarchicalClusterFunction Man page
makeLocalRestartStrategy Man page
makeMultiObjectiveTournamentSelection Man page
makeNaryFunctionFitnessFunction Man page
makePopulation Man page
makeRegressionFitnessFunction Man page
makeSeSymbolicFitnessFunction Man page
makeStepLimitRestartCondition Man page
makeStepsStopCondition Man page
makeTimeStopCondition Man page
makeTinyGpSearchHeuristic Man page
makeTournamentSelection Man page
makeTypedPopulation Man page
MapExpressionLeafs Man page
MapExpressionNodes Man page
MapExpressionSubtrees Man page
mse Man page
multiNicheGeneticProgramming Man page
multiNicheSymbolicRegression Man page
mutateChangeDeleteInsert Man page
mutateChangeLabel Man page
mutateDeleteInsert Man page
mutateDeleteSubtree Man page
mutateFunc Man page
mutateFuncFast Man page
mutateFuncTyped Man page
mutateInsertSubtree Man page
mutateNumericConst Man page
mutateNumericConstFast Man page
mutateNumericConstTyped Man page
mutateSubtree Man page
mutateSubtreeFast Man page
mutateSubtreeTyped Man page
NCSdist Man page
new.alist Man page
new.function Man page
nmse Man page
nondeterministicRanking Man page
normalize Man page
normalizedDesign Man page
normalizedNumberOfCommonSubexpressions Man page
normalizedSizeWeightedNumberOfCommonSubexpressions Man page
normInducedFunctionDistance Man page
normInducedTreeDistance Man page
notStopCondition Man page
numberOfCommonSubexpressions Man page
numberOfDifferentBits Man page
numberOfDifferingSubexpressions Man page
orderByParetoCrowdingDistance Man page
orderByParetoHypervolumeContribution Man page
orderByParetoMeasure Man page
orStopCondition Man page
paretoFrontKneeIndex Man page
plotFunction3d Man page
plotFunctions Man page
plotParetoFront Man page
plotPopulationFitnessComplexity Man page
popfitness Man page
populationVariablePresenceMap Man page
positive Man page
predict.symbolicRegressionModel Man page
print.population Man page
print.sType Man page
pw Man page
randchild Man page
randelt Man page
randexprFull Man page
randexprGrow Man page
randexprTypedFull Man page
randexprTypedGrow Man page
randfunc Man page
randfuncRampedHalfAndHalf Man page
randfuncTyped Man page
randfuncTypedRampedHalfAndHalf Man page
randsubtree Man page
randterminalTyped Man page
rangeTypeOfType Man page
replaceSubtreeAt Man page
rest Man page
rgpBenchmark Man page
rgp-package Man page
r_mae Man page
rmse Man page
rsquared Man page
r_sse Man page
r_ssse Man page
safeDivide Man page
safeLn Man page
safeSqroot Man page
second Man page
seSymbolic Man page
seSymbolicFunction Man page
setSTypeOnFormalsStack Man page
sizeWeightedNumberOfCommonSubexpressions Man page
sizeWeightedNumberOfDifferingSubexpressions Man page
smse Man page
SNCSdist Man page
sObject Man page
sortBy Man page
sortByRange Man page
sortByRanking Man page
sortByType Man page
splitList Man page
sse Man page
ssse Man page
st Man page
sType Man page
sTypeq Man page
subDataFrame Man page
subexpressions Man page
subtreeAt Man page
subtrees Man page
summary.geneticProgrammingResult Man page
summary.population Man page
symbolicRegression Man page
tabulateFunction Man page
third Man page
toName Man page
trivialMetric Man page
typedGeneticProgramming Man page

Files

rgp
rgp/inst
rgp/inst/unittests
rgp/inst/unittests/runner.r
rgp/inst/unittests/runit-gp.r
rgp/inst/doc
rgp/inst/doc/rgp_introduction.R
rgp/inst/doc/rgp_introduction.pdf
rgp/inst/doc/rgp_introduction.Rnw
rgp/src
rgp/src/unification.c
rgp/src/initialization.c
rgp/src/linear_gp_genotype.c
rgp/src/mutation.h
rgp/src/sexp_utils.c
rgp/src/complexity.h
rgp/src/unification.h
rgp/src/eval_vectorized.c
rgp/src/list_utils.h
rgp/src/initialization.h
rgp/src/complexity.c
rgp/src/eval_vectorized.h
rgp/src/mutation.c
rgp/src/crossover.h
rgp/src/list_utils.c
rgp/src/error_measures.c
rgp/src/random_utils.h
rgp/src/evaluate_language_expression.h
rgp/src/random_utils.c
rgp/src/linear_gp_genotype.h
rgp/src/sexp_utils.h
rgp/src/crossover.c
rgp/NAMESPACE
rgp/demo
rgp/demo/00Index
rgp/demo/demo1sine.r
rgp/R
rgp/R/stypes.r
rgp/R/plot_utils.r
rgp/R/recombination.r
rgp/R/niching.r
rgp/R/search_space.r
rgp/R/test_utils.r
rgp/R/creation.r
rgp/R/population.r
rgp/R/expression_utils.r
rgp/R/building_blocks.r
rgp/R/complexity.r
rgp/R/data_driven_gp.r
rgp/R/similarity.r
rgp/R/breeding.r
rgp/R/design_of_experiments.r
rgp/R/data_utils.r
rgp/R/search_heuristics.r
rgp/R/symbolic_regression.r
rgp/R/selection.r
rgp/R/individual.r
rgp/R/list_utils.r
rgp/R/evolution.r
rgp/R/time_utils.r
rgp/R/fitness.r
rgp/R/function_utils.r
rgp/R/mutation.r
rgp/R/pareto_utils.r
rgp/R/rgp.r
rgp/vignettes
rgp/vignettes/tufte-common.def
rgp/vignettes/Makefile
rgp/vignettes/figures
rgp/vignettes/figures/rgpui.png
rgp/vignettes/figures/weierstrass_ensemble.pdf
rgp/vignettes/figures/logo_spotseven.pdf
rgp/vignettes/figures/best_versus_true_sine.pdf
rgp/vignettes/figures/example_ensemble.pdf
rgp/vignettes/figures/do_arith_trig_1.pdf
rgp/vignettes/figures/logo_rgp.pdf
rgp/vignettes/rgp_introduction-013.pdf
rgp/vignettes/rgp_introduction.Rnw
rgp/vignettes/tufte-handout.cls
rgp/vignettes/rgp_introduction.bib
rgp/MD5
rgp/build
rgp/build/vignette.rds
rgp/DESCRIPTION
rgp/ChangeLog
rgp/man
rgp/man/orderByParetoMeasure.Rd rgp/man/summary.geneticProgrammingResult.Rd rgp/man/seSymbolic.Rd rgp/man/makeSeSymbolicFitnessFunction.Rd rgp/man/new.function.Rd rgp/man/makeTinyGpSearchHeuristic.Rd rgp/man/exprLabel.Rd rgp/man/do.call.ignore.unused.arguments.Rd rgp/man/sortingAlgorithms.Rd rgp/man/makeCommaEvolutionStrategySearchHeuristic.Rd rgp/man/rgpTestingAndBenchmarking.Rd rgp/man/subDataFrame.Rd rgp/man/rmse.Rd rgp/man/arity.primitive.Rd rgp/man/r_sse.Rd rgp/man/multiNicheSymbolicRegression.Rd rgp/man/tabulateFunction.Rd rgp/man/dataDrivenGeneticProgramming.Rd rgp/man/populationCreation.Rd rgp/man/expressionCrossover.Rd rgp/man/plotParetoFront.Rd rgp/man/exprToPlotmathExpr.Rd rgp/man/gpIndividualVisualization.Rd rgp/man/expressionSimilarityMeasures.Rd rgp/man/expressionTransformation.Rd rgp/man/randomExpressionChilds.Rd rgp/man/new.alist.Rd rgp/man/populationClustering.Rd rgp/man/mae.Rd rgp/man/randterminalTyped.Rd rgp/man/paretoSorting.Rd rgp/man/randomFunctionCreationTyped.Rd rgp/man/exprChildrenOrEmptyList.Rd rgp/man/formatSeconds.Rd rgp/man/individualAnalysis.Rd rgp/man/gridDesign.Rd rgp/man/expressionNames.Rd rgp/man/randelt.Rd rgp/man/normalizedDesign.Rd rgp/man/latinHypercubeDesign.Rd rgp/man/funcToPlotmathExpr.Rd rgp/man/r_mae.Rd rgp/man/expressionCounts.Rd rgp/man/defaultGPFunctionAndConstantSets.Rd rgp/man/randomExpressionCreation.Rd rgp/man/variablePresenceMaps.Rd rgp/man/expressionComposing.Rd rgp/man/makeFunctionFitnessFunction.Rd rgp/man/selectionFunctions.Rd rgp/man/smse.Rd rgp/man/sortByRanking.Rd rgp/man/searchSpaceDefinition.Rd rgp/man/is.sType.Rd rgp/man/buildingBlockTags.Rd rgp/man/makeAgeFitnessComplexityParetoGpSearchHeuristic.Rd rgp/man/symbolicRegression.Rd rgp/man/extractAttributes.Rd rgp/man/r_ssse.Rd rgp/man/inversePermutation.Rd rgp/man/sse.Rd rgp/man/iterate.Rd rgp/man/randomExpressionCreationTyped.Rd rgp/man/ssse.Rd rgp/man/seSymbolicFunction.Rd rgp/man/listSplittingAndGrouping.Rd rgp/man/evolutionRestartStrategies.Rd rgp/man/joinElites.Rd rgp/man/nondeterministicRanking.Rd rgp/man/randomFunctionCreation.Rd rgp/man/plotFunction3d.Rd rgp/man/paretoFrontKneeIndex.Rd rgp/man/expressionComplexityMeasures.Rd rgp/man/evolutionStopConditions.Rd rgp/man/sTypeConstructors.Rd rgp/man/makeNaryFunctionFitnessFunction.Rd rgp/man/customDist.Rd rgp/man/nmse.Rd rgp/man/normalize.Rd rgp/man/buildingBlocks.Rd rgp/man/multiNicheGeneticProgramming.Rd rgp/man/mse.Rd rgp/man/rangeTypeOfType.Rd rgp/man/arity.Rd rgp/man/plotFunctions.Rd rgp/man/makeRegressionFitnessFunction.Rd rgp/man/sortByType.Rd rgp/man/evolutionRestartConditions.Rd rgp/man/booleanFunctionManipulation.Rd rgp/man/embedDataFrame.Rd rgp/man/rgp-package.Rd rgp/man/popfitness.Rd rgp/man/geneticProgramming.Rd rgp/man/plotPopulationFitnessComplexity.Rd rgp/man/predict.symbolicRegressionModel.Rd rgp/man/lispLists.Rd rgp/man/rsquared.Rd rgp/man/expressionMutation.Rd rgp/man/sortBy.Rd rgp/man/safeGPfunctions.Rd rgp/man/sTypeInference.Rd rgp/man/sortByRange.Rd rgp/man/breeding.Rd rgp/man/makeClosure.Rd rgp/man/print.sType.Rd rgp/man/makeArchiveBasedParetoTournamentSearchHeuristic.Rd

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.