Hide Comments
Hide Comments

RSGenerics.GeneticProgramming Namespace

Comments (0)

Represents namespace RSGenerics.GeneticProgramming.

expandingClasses

 

Name

Description

public class

TRSCustomGeneticProgramming<T>

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 publishe 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.
 

noteNote

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.

public class

TRSCustomGeneticProgrammingExecutor<T>

Defines the base class for a component that can read and execute a genetic program. Use this class when you have already evolved a solution to your problem and need to execute the genetic program.

noteNote

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

public class

TRSGPIndividual<T>

Represents one individual, or candidate solution, in the Population of solutions in a genetic programming problem. In genetic programming ( RSGenerics.GeneticProgramming.TRSCustomGeneticProgramming<T> component), there is a population of individuals (TRSGPPopulation<T>), which contain tree-based DNA programs. Each candidate individual (represented by a TRSGPIndividual<T> class) has "DNA", which contains one program containing functions and terminals (constants and variables)

Genetic Programming works by evolving your population towards the solution of the problem. Parents are selected from the current generation to reproduce the children of the next generation. Evolving a new generation involves:
 

Selecting 2 parents (Individuals) to reproduce
Splicing the DNA program trees of the 2 parents together to make a child (the child inherits the parents trees or sub-trees)
Optionally Mutating and Inverting the DNA trees of the child to provide randomness
Repeating the above steps until the population of the new generation has been produced.



After the new generation is bred, genetic programming looks at the new population to see if any of the individuals solve the problem. In genetic programming terms, this usually means evaluating the "fitness" of each individual (a numeric score that measures the ability of the individual). If any individual is "fit enough", the evolutionary search stops.

noteNote

This is a generics-based implementation of a genetic programming population. 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.



public class

TRSGPPopulation<T>

Represents the entire population (collection of RSGenerics.GeneticProgramming.TRSGPIndividual<T> ) in a genetic programming problem. The population class represents the set of candidate solutions in a genetic programming problem. In genetic programming ( RSGenerics.GeneticProgramming.TRSCustomGeneticProgramming<T> component), there is a population of individuals (TRSGPPopulation<T>), which contain tree-based DNA programs. Each candidate individual (represented by a TRSGPIndividual<T> class) has "DNA", which contains one program containing functions and terminals (constants and variables)

Genetic Programming works by evolving your population towards the solution of the problem. Parents are selected from the current generation to reproduce the children of the next generation. Evolving a new generation involves:
 

Selecting 2 parents (Individuals) to reproduce
Splicing the DNA program trees of the 2 parents together to make a child (the child inherits the parents trees or sub-trees)
Optionally Mutating and Inverting the DNA trees of the child to provide randomness
Repeating the above steps until the population of the new generation has been produced.

After the new generation is bred, genetic programming looks at the new population to see if any of the individuals solve the problem. In genetic programming terms, this usually means evaluating the "fitness" of each individual (a numeric score that measures the ability of the individual). If any individual is "fit enough", the evolutionary search stops.

noteNote

This is a generics-based implementation of a genetic programming population. 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.

Top

expandingTypes

 

Name

Description

public type

TRSCustomGeneticProgramming<T>.TContext

Represents an alias of the TRSGPContext<T> type.

public type

TRSCustomGeneticProgramming<T>.TIndividual

Represents an alias of the TRSGPIndividual<T> type.

public type

TRSCustomGeneticProgramming<T>.TInstruction

Represents an alias of the TRSGPInstruction<T> type.

public type

TRSCustomGeneticProgramming<T>.TInstructionList

Represents an alias of the TList type.

public type

TRSCustomGeneticProgramming<T>.TInstructions

Represents an alias of the TRSGPInstructions<T> type.

public type

TRSCustomGeneticProgramming<T>.TNode

Represents an alias of the TRSGPNode<T> type.

public type

TRSCustomGeneticProgramming<T>.TNodeList

Represents an alias of the TList type.

public type

TRSCustomGeneticProgramming<T>.TPopulation

Represents an alias of the TRSGPPopulation<T> type.

public type

TRSCustomGeneticProgramming<T>.TValues

Represents an alias of the TRSGPValues<T> type.

public type

TRSCustomGeneticProgrammingExecutor<T>.TContext

Represents an alias of the TRSGPContext<T> type.

public type

TRSCustomGeneticProgrammingExecutor<T>.TIndividual

Represents an alias of the TRSGPIndividual<T> type.

public type

TRSCustomGeneticProgrammingExecutor<T>.TInstruction

Represents an alias of the TRSGPInstruction<T> type.

public type

TRSCustomGeneticProgrammingExecutor<T>.TInstructions

Represents an alias of the TRSGPInstructions<T> type.

public type

TRSCustomGeneticProgrammingExecutor<T>.TNode

Represents an alias of the TRSGPNode<T> type.

public type

TRSCustomGeneticProgrammingExecutor<T>.TValues

Represents an alias of the TRSGPValues<T> type.

public type

TRSGPIndividual<T>.TNode

Represents an alias of the TRSGPNode<T> type.

public type

TRSGPIndividual<T>.TNodeList

Represents an alias of the TList type.

Top

expandingRoutines

 

Name

Description

public method

Correlation(Double[],Double[])

Represents method Correlation(Double[],Double[]).

public method

CoVariance(Double[],Double[])

Represents method CoVariance(Double[],Double[]).

Top

Comments (0)