Hide Comments
Hide Comments

Comments (0)

Represents namespace RSGeneticProgramming.

expandingClasses

 

Name

Description

public class

TRSBinaryGeneticProgramming

The TRSBinaryGeneticProgramming component is the descendant class of the RSGeneticProgramming.TRSCustomBinaryGeneticProgramming component which publishes all the properties needed to use genetic algorithms in your programs.

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 TRSBinaryGeneticProgramming class contains a population of individuals (TRSGPPopulation<TGAFloat>), 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<TGAFloat> class.

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

alert_noteNotes to Implementers

The TRSBinaryGeneticProgramming class redeclares the Instructions property and OnConstantMutation event to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSCustomBinaryGeneticProgramming

The TRSCustomBinaryGeneticProgramming component is the base class for including genetic programming (GP) in your programs that use floating point values and use functions of at most arity = 2. It instantiates the RSGenerics.GeneticProgramming.TRSCustomGeneticProgramming<T> generics class using TGAFloat and ensures the correct TRSGPInstruction<T> and TRSGPNode<T> classes are created for it. This class creates nodes and instructions with functions of at most arity = 2, it is slightly faster and uses less memory than the RSGeneticProgramming.TRSCustomGeneticProgramming class, which is the more general solution.

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 TRSCustomBinaryGeneticProgramming class contains a population of individuals (TRSGPPopulation<TGAFloat>), 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<TGAFloat> 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.
 

alert_noteNotes to Implementers

The TRSCustomBinaryGeneticProgramming class redeclares the Instructions property and OnConstantMutation event to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSCustomGeneticProgramming

The TRSCustomGeneticProgramming component is the base class for including genetic programming (GP) in your programs that use floating point values. It instantiates the RSGenerics.GeneticProgramming.TRSCustomGeneticProgramming<T> generics class using TGAFloat and ensures the correct TRSGPInstruction<T> and TRSGPNode<T> classes are created for it. This class creates nodes and instructions with arbitrary number of child nodes (arity > 0). If your problem requires at most functions of arity = 2, it is recommended to use the RSGeneticProgramming.TRSCustomBinaryGeneticProgramming class as it is slightly faster and uses slightly less memory.

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 the 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 class contains a population of individuals (TRSGPPopulation<TGAFloat>), 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<TGAFloat> 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.
 

alert_noteNotes to Implementers

The TRSCustomGeneticProgramming class redeclares the Instructions property and OnConstantMutation event to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSCustomGeneticProgrammingExecutor

The TRSCustomGeneticProgrammingExecutor component is the base class for reading and executing a genetic program. Use this class when you have already evolved a solution to your problem and need to execute the genetic program. It instantiates the RSGenerics.GeneticProgramming|TRSCustomGeneticProgrammingExector<T> generics class using TGAFloat and ensures the correct TRSGPInstruction<T> are created for it.

alert_noteNotes to Implementers

The TRSCustomGeneticProgrammingExecutor class redeclares the Instructions property to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSCustomGeneticProgrammingVariant

The TRSCustomGeneticProgrammingVariant component is the base class for including genetic programming (GP) in your programs that use Variant values. It instantiates the RSGenerics.GeneticProgramming.TRSCustomGeneticProgramming<T> generics class using Variant and ensures the correct TRSGPInstruction<T> and TRSGPNode<T> classes are created for it. This class creates nodes and instructions with arbitrary number of child nodes (arity > 0).

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 the 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 TRSCustomGeneticProgrammingVariant class contains a population of individuals (TRSGPPopulation<Variant>), 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<Variant> 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.

alert_noteTip

The TRSCustomGeneticProgrammingVariant component uses more memory and will be generally slower than the TRSCustomGeneticProgramming component (which uses doubles as opposed to variants). On the other hand, variants can pass around many more types of values and generally be more flexible. However, it is important to remember that your functions must satisfy the closure property, i.e., all functions in the instructions should be able to accept any other function or terminal as inputs.

alert_noteNotes to Implementers

The TRSCustomGeneticProgrammingVariant class redeclares the Instructions property and OnConstantMutation event to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<Variant>), Delphi will not publish the property and make it available at design-time.

public class

TRSCustomGeneticProgrammingVariantExecutor

The TRSCustomGeneticProgrammingVariantExecutor component is the base class for reading and executing a genetic program using variants. Use this class when you have already evolved a solution to your problem and need to execute the genetic program. It instantiates the RSGenerics.GeneticProgramming|TRSCustomGeneticProgrammingVariantExector<T> generics class using TGAFloat and ensures the correct TRSGPInstruction<T> are created for it.

alert_noteNotes to Implementers

The TRSCustomGeneticProgrammingVariantExecutor class redeclares the Instructions property to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<Variant>), Delphi will not publish the property and make it available at design-time.

public class

TRSGeneticProgramming

The TRSGeneticProgramming component is the descendant class of the RSGeneticProgramming.TRSCustomGeneticProgramming component which publishes all the properties needed to use genetic algorithms in your programs.

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 TRSGeneticProgramming class contains a population of individuals (TRSGPPopulation<TGAFloat>), 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<TGAFloat> class.

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

alert_noteNotes to Implementers

The TRSGeneticProgramming class redeclares the Instructions property and OnConstantMutation event to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSGeneticProgrammingExecutor

The TRSGeneticProgrammingExecutor component is the descendant class of the RSGeneticProgramming.TRSCustomGeneticProgrammingExecutor component which publishes all the properties needed for reading and executing a genetic program. Use this class when you have already evolved a solution to your problem and need to execute the genetic program. It instantiates the RSGenerics.GeneticProgramming|TRSCustomGeneticProgrammingExector<T> generics class using TGAFloat and ensures the correct TRSGPInstruction<T> are created for it.

alert_noteNotes to Implementers

The TRSGeneticProgrammingExecutor class redeclares the Instructions property to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSGeneticProgrammingVariant

The TRSGeneticProgrammingVariant component is the descendant class of the RSGeneticProgramming.TRSCustomGeneticProgrammingVariant component which publishes all the properties needed to use genetic algorithms in your programs.

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 TRSGeneticProgrammingVariant class contains a population of individuals (TRSGPPopulation<Variant>), 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<Variant> class.

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

alert_noteTip

The TRSGeneticProgrammingVariant component uses more memory and will be generally slower than the TRSGeneticProgramming component (which uses doubles as opposed to variants). On the other hand, variants can pass around many more types of values and generally be more flexible. However, it is important to remember that your functions must satisfy the closure property, i.e., all functions in the instructions should be able to accept any other function or terminal as inputs.

alert_noteNotes to Implementers

The TRSGeneticProgrammingVariant class redeclares the Instructions property and OnConstantMutation event to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<Variant>), Delphi will not publish the property and make it available at design-time.

public class

TRSGeneticProgrammingVariantExecutor

The TRSGeneticProgrammingVariantExecutor component is the descendant class of the RSGeneticProgramming.TRSCustomGeneticProgrammingVariantExecutor component which publishes all the properties needed for reading and executing a genetic program. Use this class when you have already evolved a solution to your problem and need to execute the genetic program. It instantiates the RSGenerics.GeneticProgramming|TRSCustomGeneticProgrammingExector<T> generics class using Variants and ensures the correct TRSGPInstruction<T> are created for it.

alert_noteNotes to Implementers

The TRSGeneticProgrammingVariantExecutor class redeclares the Instructions property to use instantiated generics types that look like non-generic types. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstructions<Variant>), Delphi will not publish the property and make it available at design-time.
 

public class

TRSGPBinaryFloatNode

Defines the floating point node for tree-based genetic programming which can contain at most 2 children. Each node represents one function or terminal (constant, variable) in a genetic program. It has one   Parent (or nil if root node) and 0 or more   Child nodes (terminals have no children).

noteNote

If your instructions have arity greater than 2, use the RSGeneticProgramming.TRSGPFloatNode class instead.

alert_noteNotes to Implementers

The TRSGPBinaryFloatNode class was created so that LoadValueFromXML. SaveValueToXML. amd ValueToString methods could be defined (using FloatToStr and StrToFloat).

public class

TRSGPFloatInstruction

Defines one instruction (function, variable, or constant) in the genetic program.

noteNote

When the instruction executes, it needs no information beyond the nodes and the values passed in, so it may be multi-threaded as long as the values are copied and unless the OnExecute event does something unsafe.

alert_noteNotes to Implementers

The TRSGPFloatInstruction class was created so that LoadValueFromXML and SaveValueToXML methods could be defined (using FloatToStr and StrToFloat). In addition, the OnExecute event handler could be declared published using a instantiated generic type that looks non-generic. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstruction<TGAFloat>), Delphi will not publish the property and make it available at design-time.

public class

TRSGPFloatInstructions

Represents type TRSGPFloatInstructions.

public class

TRSGPFloatNode

Defines the floating point node for tree-based genetic programming which can contain an arbitrary number of children. Each node represents one function or terminal (constant, variable) in a genetic program. It has one   Parent (or nil if root node) and 0 or more   Child nodes (terminals have no children).

noteNote

For the TRSGPFloatNode class, the children are stored in a list. If you restrict your instructions to 2 or less children, it is recommended to use the RSGeneticProgramming.TRSGPBinaryFloatNode as it uses slightly less memory and is slightly faster.

alert_noteNotes to Implementers

The TRSGPFloatNode class was created so that LoadValueFromXML. SaveValueToXML. amd ValueToString methods could be defined (using FloatToStr and StrToFloat).

public class

TRSGPVariantInstruction

Defines one instruction (function, variable, or constant) in the genetic program.

noteNote

When the instruction executes, it needs no information beyond the nodes and the values passed in, so it may be multi-threaded as long as the values are copied and unless the OnExecute event does something unsafe.

alert_noteNotes to Implementers

The TRSGPVariantInstruction class was created so that LoadValueFromXML and SaveValueToXML methods could be defined. In addition, the OnExecute event handler could be declared published using a instantiated generic type that looks non-generic. Unfortunately, when a published property contains a generic, even an instantiated one (e.g., TRSGPInstruction<Variant>), Delphi will not publish the property and make it available at design-time.

public class

TRSGPVariantInstructions

Represents type TRSGPVariantInstructions.

public class

TRSGPVariantNode

Defines the Variant node for tree-based genetic programming which can contain an arbitrary number of children. Each node represents one function or terminal (constant, variable) in a genetic program. It has one   Parent (or nil if root node) and 0 or more   Child nodes (terminals have no children).

alert_noteNotes to Implementers

The TRSGPVariantNode class was created so that LoadValueFromXML. SaveValueToXML. amd ValueToString methods could be defined

Top

expandingDelegates

 

Name

Description

public delegate

TFloatNodeEvent

Defines the event handler signature for a node execute event (usually OnExecute). The Node parameter supplies the node that is executing, and the Context parameter supplies the context (state of the world and variables). The aResult parameters is where the result of the execution should be set.

public delegate

TFloatNodeNotifyEvent

Defines the event handler signature for a node notification event

public delegate

TVariantNodeEvent

Defines the event handler signature for a node execute event (usually OnExecute). The Node parameter supplies the node that is executing, and the Context parameter supplies the context (state of the world and variables). The aResult parameters is where the result of the execution should be set.

public delegate

TVariantNodeNotifyEvent

Defines the event handler signature for a node notification event

Top

Comments (0)