Show/Hide Toolbars

RiverSoftAVG Products Help

The TRSCustomGeneticProgramming<T> component is the base class for including genetic programming (GP) in your programs. The descendant classes (TRSBinaryGeneticProgramming, TRSGeneticProgramming, etc) instantiate this generic type for floating point values and publish the properties of this class and are what you will drop on your forms or data module.

Genetic programming is a computer science method, inspired by evolutionary biology, for automatically solving problems, without having to know or define the form or structure of optimum problem structure beforehand. You define the basic building blocks (functions, constants, and variables) of the problem and then the component does the rest. Genetic programming solves problems by evolving a group or population of candidate individuals through successive generations, selecting fitter (or better) child individuals for each generation, until a solution is found. It uses evolutionary biology techniques such as inheritance, mutation, selection, and crossover (also called recombination).

The TRSCustomGeneticProgramming<T> class contains a population of individuals (TRSGPPopulation<T>), which contain genetic program trees as DNA. These DNA are used to represent the solution to the search problem. They represent the functions, constants, and variables of each candidate solution (or individual), represented by a TRSGPIndividual<T> class.

After setting up the    Instructions that your genetic programs can use, you set the InitialPopulation , define a fitness function ( OnEvaluateFitness event) to properly "score" each individual, and then Evolve your solution.


This is a generics-based implementation of a genetic programming component. For the RSGeneticProgramming|TRSGeneticProgramming class, the generics class is instantiated as floating point values. However, you can define your own genetic programming component using whatever type you want.

Namespace: RSGenerics.GeneticProgramming

Type Parameters


RiverSoftAVG Products Help © 1996-2016 Thomas G. Grubb