|
Name
|
Description
|
|
CrossoverMethod
|
Controls how the genetic algorithm does crossover (also known as recombination) when two parents of the current generation reproduce to create a new child.
Crossover is one of the evolutionary biology techniques used by the genetic algorithm component, along with inheritance, mutation, and selection. In crossover, the genetic algorithm component splices out the first random n-bits of one parent and concatenates it with the last chromosome size-n bits of the other parent. The chromosome size of the child is the same as its parents.
The CrossoverMethod property controls how the break is selected: on a gene boundary, bit boundary, or byte, word, or longword boundary. Note that crossover on a non-gene boundary could possibly cause invalid gene values because the newly combined gene at the crossover point is a random mixture of bits from the 2 parents.
The Operations property controls whether crossover occurs at all during evolution, while the CrossoverProbability property controls the likelihood that crossover will occur when 2 parents are selected to create a child (e.g., if there are 100 children created each generation, the CrossoverProbability will be tested 100 times).
|
|
FittestIndividual
|
Returns the fittest individual in the Population. The individual is chosen based on the FitnessMethod and the Fitness evaluations of all the individuals in the population. The FittestIndividual is re-chosen every time the population is evolved.
|
|
Genes
|
Allows you to define the genes that make up the DNA of the Population's chromosomes. The chromosomes are created by taking the parameters or factors (integers, booleans, floats, and enumerations) of your search problem and concatenating them together into a sequence of bits. The Genes property allows you to define the sequence of genes ( RSGeneticAlgorithm.TRSGAGene ) that make up these bits.
Each TRSGAGene provides a mapping that gives meaning to a certain number of bits in the individual. The TRSGAGene class is a helper class which helps you define and manipulate the genes of your population easily by defining n-bit integers, booleans, floats, etc. Each gene defines a characteristic of an individual. While the chromosomes are specific to an individual, the gene definition (TRSGAGene) defines the meaning of each gene for the entire population.
Note
|
Genes are optional. These classes help you decode the bits of an individual but if you don't want to use them, you do not have to. If they are defined, the size of the chromosomes for every individual is the same.
|
As an alternative to defining the genes of your population, you can use the GeneSize property to just define the number of bits in the chromosome with no mapping.
|
|
GeneSize
|
Defines the size of the chromosomes for all the Population. This value is automatically calculated for you if you define genes using the Genes collection. Alternatively, if you don't want to define the Genes specifically, you can just set this property.
|
|
Population
|
Represents the entire population of candidate individuals ( RSGeneticAlgorithm.TRSGAIndividual ) in the current Generation, including the FittestIndividual.
The TRSCustomGeneticAlgorithm component seeks to solve your optimization or search 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. After every call to Evolve , the Population property contains the next generation of individuals (the children), with the PreviousGeneration property holding the previous generation (the parents, what was the Population before the Evolve call).
|
|
PreviousGeneration
|
Contains the parents of the current generation, which is represented by the Population property. After every call to Evolve, the Population property contains the next generation of individuals (the children), with the PreviousGeneration property holding the previous generation (the parents, what was the Population before the Evolve call).
|
Top
|