|
|
<?xml version="1.0"?><doc> <assembly> <name>AForge.Genetic</name> </assembly> <members> <member name="T:AForge.Genetic.BinaryChromosome"> <summary> Binary chromosome, which supports length from 2 till 64. </summary> <remarks><para>The binary chromosome is the simplest type of chromosomes, which is represented by a set of bits. Maximum number of bits comprising the chromosome is 64.</para></remarks> </member> <member name="F:AForge.Genetic.BinaryChromosome.length"> <summary> Chromosome's length in bits. </summary> </member> <member name="F:AForge.Genetic.BinaryChromosome.val"> <summary> Numerical chromosome's value. </summary> </member> <member name="F:AForge.Genetic.BinaryChromosome.rand"> <summary> Random number generator for chromosoms generation, crossover, mutation, etc. </summary> </member> <member name="F:AForge.Genetic.BinaryChromosome.MaxLength"> <summary> Chromosome's maximum length. </summary> <remarks><para>Maxim chromosome's length in bits, which is supported by the class</para></remarks> </member> <member name="P:AForge.Genetic.BinaryChromosome.Length"> <summary> Chromosome's length. </summary> <remarks><para>Length of the chromosome in bits.</para></remarks> </member> <member name="P:AForge.Genetic.BinaryChromosome.Value"> <summary> Chromosome's value. </summary> <remarks><para>Current numerical value of the chromosome.</para></remarks> </member> <member name="P:AForge.Genetic.BinaryChromosome.MaxValue"> <summary> Max possible chromosome's value. </summary> <remarks><para>Maximum possible numerical value, which may be represented by the chromosome of current length.</para></remarks> </member> <member name="M:AForge.Genetic.BinaryChromosome.#ctor(System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.BinaryChromosome"/> class. </summary> <param name="length">Chromosome's length in bits, [2, <see cref="F:AForge.Genetic.BinaryChromosome.MaxLength"/>].</param> </member> <member name="M:AForge.Genetic.BinaryChromosome.#ctor(AForge.Genetic.BinaryChromosome)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.BinaryChromosome"/> class. </summary> <param name="source">Source chromosome to copy.</param> <remarks><para>This is a copy constructor, which creates the exact copy of specified chromosome.</para></remarks> </member> <member name="M:AForge.Genetic.BinaryChromosome.ToString"> <summary> Get string representation of the chromosome. </summary> <returns>Returns string representation of the chromosome.</returns> </member> <member name="M:AForge.Genetic.BinaryChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.BinaryChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.</para></remarks> </member> <member name="M:AForge.Genetic.BinaryChromosome.Clone"> <summary> Clone the chromosome. </summary> <returns>Return's clone of the chromosome.</returns> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.BinaryChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation, changing randomly one of its bits.</para></remarks> </member> <member name="M:AForge.Genetic.BinaryChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes ?interchanging range of bits between these chromosomes.</para></remarks> </member> <member name="T:AForge.Genetic.ChromosomeBase"> <summary> Chromosomes' base class. </summary> <remarks><para>The base class provides implementation of some <see cref="T:AForge.Genetic.IChromosome"/> methods and properties, which are identical to all types of chromosomes.</para></remarks> </member> <member name="F:AForge.Genetic.ChromosomeBase.fitness"> <summary> Chromosome's fitness value. </summary> </member> <member name="P:AForge.Genetic.ChromosomeBase.Fitness"> <summary> Chromosome's fitness value. </summary> <remarks><para>Fitness value (usefulness) of the chromosome calculate by calling <see cref="M:AForge.Genetic.ChromosomeBase.Evaluate(AForge.Genetic.IFitnessFunction)"/> method. The greater the value, the more useful the chromosome. </para></remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome class.</para></remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.Clone"> <summary> Clone the chromosome. </summary> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation, changing its part randomly.</para></remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes – interchanging some parts of chromosomes.</para></remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.Evaluate(AForge.Genetic.IFitnessFunction)"> <summary> Evaluate chromosome with specified fitness function. </summary> <param name="function">Fitness function to use for evaluation of the chromosome.</param> <remarks><para>Calculates chromosome's fitness using the specifed fitness function.</para></remarks> </member> <member name="M:AForge.Genetic.ChromosomeBase.CompareTo(System.Object)"> <summary> Compare two chromosomes. </summary> <param name="o">Binary chromosome to compare to.</param> <returns>Returns comparison result, which equals to 0 if fitness values of both chromosomes are equal, 1 if fitness value of this chromosome is less than fitness value of the specified chromosome, -1 otherwise.</returns> </member> <member name="T:AForge.Genetic.DoubleArrayChromosome"> <summary> Double array chromosome. </summary> <remarks><para>Double array chromosome represents array of double values. Array length is in the range of [2, 65536]. </para> <para>See documentation to <see cref="M:AForge.Genetic.DoubleArrayChromosome.Mutate"/> and <see cref="M:AForge.Genetic.DoubleArrayChromosome.Crossover(AForge.Genetic.IChromosome)"/> methods for information regarding implemented mutation and crossover operators.</para> </remarks> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.chromosomeGenerator"> <summary> Chromosome generator. </summary> <remarks><para>This random number generator is used to initialize chromosome's genes, which is done by calling <see cref="M:AForge.Genetic.DoubleArrayChromosome.Generate"/> method.</para></remarks> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.mutationMultiplierGenerator"> <summary> Mutation multiplier generator. </summary> <remarks><para>This random number generator is used to generate random multiplier values, which are used to multiply chromosome's genes during mutation.</para></remarks> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.mutationAdditionGenerator"> <summary> Mutation addition generator. </summary> <remarks><para>This random number generator is used to generate random addition values, which are used to add to chromosome's genes during mutation.</para></remarks> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.rand"> <summary> Random number generator for crossover and mutation points selection. </summary> <remarks><para>This random number generator is used to select crossover and mutation points.</para></remarks> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.MaxLength"> <summary> Chromosome's maximum length. </summary> <remarks><para>Maxim chromosome's length in array elements.</para></remarks> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.length"> <summary> Chromosome's length in number of elements. </summary> </member> <member name="F:AForge.Genetic.DoubleArrayChromosome.val"> <summary> Chromosome's value. </summary> </member> <member name="P:AForge.Genetic.DoubleArrayChromosome.Length"> <summary> Chromosome's length. </summary> <remarks><para>Length of the chromosome in array elements.</para></remarks> </member> <member name="P:AForge.Genetic.DoubleArrayChromosome.Value"> <summary> Chromosome's value. </summary> <remarks><para>Current value of the chromosome.</para></remarks> </member> <member name="P:AForge.Genetic.DoubleArrayChromosome.MutationBalancer"> <summary> Mutation balancer to control mutation type, [0, 1]. </summary> <remarks><para>The property controls type of mutation, which is used more frequently. A random number is generated each time before doing mutation - if the random number is smaller than the specified balance value, then one mutation type is used, otherwse another. See <see cref="M:AForge.Genetic.DoubleArrayChromosome.Mutate"/> method for more information.</para> <para>Default value is set to <b>0.5</b>.</para> </remarks> </member> <member name="P:AForge.Genetic.DoubleArrayChromosome.CrossoverBalancer"> <summary> Crossover balancer to control crossover type, [0, 1]. </summary> <remarks><para>The property controls type of crossover, which is used more frequently. A random number is generated each time before doing crossover - if the random number is smaller than the specified balance value, then one crossover type is used, otherwse another. See <see cref="M:AForge.Genetic.DoubleArrayChromosome.Crossover(AForge.Genetic.IChromosome)"/> method for more information.</para> <para>Default value is set to <b>0.5</b>.</para> </remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.#ctor(AForge.Math.Random.IRandomNumberGenerator,AForge.Math.Random.IRandomNumberGenerator,AForge.Math.Random.IRandomNumberGenerator,System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.DoubleArrayChromosome"/> class. </summary> <param name="chromosomeGenerator">Chromosome generator - random number generator, which is used to initialize chromosome's genes, which is done by calling <see cref="M:AForge.Genetic.DoubleArrayChromosome.Generate"/> method or in class constructor.</param> <param name="mutationMultiplierGenerator">Mutation multiplier generator - random number generator, which is used to generate random multiplier values, which are used to multiply chromosome's genes during mutation.</param> <param name="mutationAdditionGenerator">Mutation addition generator - random number generator, which is used to generate random addition values, which are used to add to chromosome's genes during mutation.</param> <param name="length">Chromosome's length in array elements, [2, <see cref="F:AForge.Genetic.DoubleArrayChromosome.MaxLength"/>].</param> <remarks><para>The constructor initializes the new chromosome randomly by calling <see cref="M:AForge.Genetic.DoubleArrayChromosome.Generate"/> method.</para></remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.#ctor(AForge.Math.Random.IRandomNumberGenerator,AForge.Math.Random.IRandomNumberGenerator,AForge.Math.Random.IRandomNumberGenerator,System.Double[])"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.DoubleArrayChromosome"/> class. </summary> <param name="chromosomeGenerator">Chromosome generator - random number generator, which is used to initialize chromosome's genes, which is done by calling <see cref="M:AForge.Genetic.DoubleArrayChromosome.Generate"/> method or in class constructor.</param> <param name="mutationMultiplierGenerator">Mutation multiplier generator - random number generator, which is used to generate random multiplier values, which are used to multiply chromosome's genes during mutation.</param> <param name="mutationAdditionGenerator">Mutation addition generator - random number generator, which is used to generate random addition values, which are used to add to chromosome's genes during mutation.</param> <param name="values">Values used to initialize the chromosome.</param> <remarks><para>The constructor initializes the new chromosome with specified <paramref name="values">values</paramref>. </para></remarks> <exception cref="T:System.ArgumentOutOfRangeException">Invalid length of values array.</exception> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.#ctor(AForge.Genetic.DoubleArrayChromosome)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.DoubleArrayChromosome"/> class. </summary> <param name="source">Source chromosome to copy.</param> <remarks><para>This is a copy constructor, which creates the exact copy of specified chromosome.</para></remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.ToString"> <summary> Get string representation of the chromosome. </summary> <returns>Returns string representation of the chromosome.</returns> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.</para></remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.Clone"> <summary> Clone the chromosome. </summary> <returns>Return's clone of the chromosome.</returns> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation, adding random number to chromosome's gene or multiplying the gene by random number. These random numbers are generated with help of <see cref="F:AForge.Genetic.DoubleArrayChromosome.mutationMultiplierGenerator">mutation multiplier</see> and <see cref="F:AForge.Genetic.DoubleArrayChromosome.mutationAdditionGenerator">mutation addition</see> generators.</para> <para>The exact type of mutation applied to the particular gene is selected randomly each time and depends on <see cref="P:AForge.Genetic.DoubleArrayChromosome.MutationBalancer"/>. Before mutation is done a random number is generated in [0, 1] range - if the random number is smaller than <see cref="P:AForge.Genetic.DoubleArrayChromosome.MutationBalancer"/>, then multiplication mutation is done, otherwise addition mutation. </para></remarks> </member> <member name="M:AForge.Genetic.DoubleArrayChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes, selecting randomly the exact type of crossover to perform, which depends on <see cref="P:AForge.Genetic.DoubleArrayChromosome.CrossoverBalancer"/>. Before crossover is done a random number is generated in [0, 1] range - if the random number is smaller than <see cref="P:AForge.Genetic.DoubleArrayChromosome.CrossoverBalancer"/>, then the first crossover type is used, otherwise second type is used.</para> <para>The <b>first crossover type</b> is based on interchanging range of genes (array elements) between these chromosomes and is known as one point crossover. A crossover point is selected randomly and chromosomes interchange genes, which start from the selected point.</para> <para>The <b>second crossover type</b> is aimed to produce one child, which genes' values are between corresponding genes of parents, and another child, which genes' values are outside of the range formed by corresponding genes of parents. Let take, for example, two genes with 1.0 and 3.0 value?(of course chromosomes have more genes, but for simplicity lets think about one). First of all we randomly choose a factor in the [0, 1] range, let's take 0.4. Then, for each pair of genes (we have one pair) we calculate difference value, which is 2.0 in our case. In the result we抣l have two children ?one between and one outside of the range formed by parents genes' values. We may have 1.8 and 3.8 children, or we may have 0.2 and 2.2 children. As we can see we add/subtract (chosen randomly) <i>difference * factor</i>. So, this gives us exploration in between and in near outside. The randomly chosen factor is applied to all genes of the chromosomes participating in crossover.</para> </remarks> </member> <member name="T:AForge.Genetic.ExtendedGeneFunction"> <summary> Genetic programming gene, which represents arithmetic functions, common mathematical functions and arguments. </summary> <remarks><para>Extended gene function may represent arithmetic functions (+, -, *, /), some common mathematical functions (sin, cos, ln, exp, sqrt) or an argument to functions. This class is used by Genetic Programming (or Gene Expression Programming) chromosomes to build arbitrary expressions with help of genetic operators.</para> </remarks> </member> <member name="T:AForge.Genetic.ExtendedGeneFunction.Functions"> <summary> Enumeration of supported functions. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Add"> <summary> Addition operator. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Subtract"> <summary> Suntraction operator. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Multiply"> <summary> Multiplication operator. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Divide"> <summary> Division operator. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Sin"> <summary> Sine function. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Cos"> <summary> Cosine function. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Ln"> <summary> Natural logarithm function. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Exp"> <summary> Exponent function. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.Functions.Sqrt"> <summary> Square root function. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.FunctionsCount"> <summary> Number of different functions supported by the class. </summary> </member> <member name="F:AForge.Genetic.ExtendedGeneFunction.rand"> <summary> Random number generator for chromosoms generation. </summary> </member> <member name="P:AForge.Genetic.ExtendedGeneFunction.GeneType"> <summary> Gene type. </summary> <remarks><para>The property represents type of a gene - function, argument, etc.</para> </remarks> </member> <member name="P:AForge.Genetic.ExtendedGeneFunction.ArgumentsCount"> <summary> Arguments count. </summary> <remarks><para>Arguments count of a particular function gene.</para></remarks> </member> <member name="P:AForge.Genetic.ExtendedGeneFunction.MaxArgumentsCount"> <summary> Maximum arguments count. </summary> <remarks><para>Maximum arguments count of a function gene supported by the class. The property may be used by chromosomes' classes to allocate correctly memory for functions' arguments, for example.</para></remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.#ctor(System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.ExtendedGeneFunction"/> class. </summary> <param name="variablesCount">Total amount of variables in the task which is supposed to be solved.</param> <remarks><para>The constructor creates randomly initialized gene with random type and value by calling <see cref="M:AForge.Genetic.ExtendedGeneFunction.Generate"/> method.</para></remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.#ctor(System.Int32,AForge.Genetic.GPGeneType)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.ExtendedGeneFunction"/> class. </summary> <param name="variablesCount">Total amount of variables in the task which is supposed to be solved.</param> <param name="type">Gene type to set.</param> <remarks><para>The constructor creates randomly initialized gene with random value and preset gene type.</para></remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.ToString"> <summary> Get string representation of the gene. </summary> <returns>Returns string representation of the gene.</returns> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.Clone"> <summary> Clone the gene. </summary> <remarks><para>The method clones the chromosome returning the exact copy of it.</para></remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.Generate"> <summary> Randomize gene with random type and value. </summary> <remarks><para>The method randomizes the gene, setting its type and value randomly.</para></remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.Generate(AForge.Genetic.GPGeneType)"> <summary> Randomize gene with random value. </summary> <param name="type">Gene type to set.</param> <remarks><para>The method randomizes a gene, setting its value randomly, but type is set to the specified one.</para></remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.CreateNew"> <summary> Creates new gene with random type and value. </summary> <remarks><para>The method creates new randomly initialized gene . The method is useful as factory method for those classes, which work with gene's interface, but not with particular gene class.</para> </remarks> </member> <member name="M:AForge.Genetic.ExtendedGeneFunction.CreateNew(AForge.Genetic.GPGeneType)"> <summary> Creates new gene with certain type and random value. </summary> <param name="type">Gene type to create.</param> <remarks><para>The method creates new gene with specified type, but random value. The method is useful as factory method for those classes, which work with gene's interface, but not with particular gene class.</para> </remarks> </member> <member name="T:AForge.Genetic.GEPChromosome"> <summary> The chromosome represents a Gene Expression, which is used for different tasks of Genetic Expression Programming (GEP). </summary> <remarks><para>This type of chromosome represents combination of ideas taken from Genetic Algorithms (GA), where chromosomes are linear structures of fixed length, and Genetic Programming (GP), where chromosomes are expression trees. The GEP chromosome is also a fixed length linear structure, but with some additional features which make it possible to generate valid expression tree from any GEP chromosome.</para> <para>The theory of Gene Expression Programming is well described in the next paper: <b>Ferreira, C., 2001. Gene Expression Programming: A New Adaptive Algorithm for Solving Problems. Complex Systems, Vol. 13, issue 2: 87-129</b>. A copy of the paper may be obtained on the <a href="http://www.gene-expression-programming.com/">gene expression programming</a> web site.</para> </remarks> </member> <member name="F:AForge.Genetic.GEPChromosome.headLength"> <summary> Length of GEP chromosome's head. </summary> <remarks><para>GEP chromosome's head is a part of chromosome, which may contain both functions' and arguments' nodes. The rest of chromosome (tail) may contain only arguments' nodes. </para></remarks> </member> <member name="F:AForge.Genetic.GEPChromosome.length"> <summary> GEP chromosome's length. </summary> <remarks><para><note>The variable keeps chromosome's length, but not expression length represented by the chromosome.</note></para></remarks> </member> <member name="F:AForge.Genetic.GEPChromosome.genes"> <summary> Array of chromosome's genes. </summary> </member> <member name="F:AForge.Genetic.GEPChromosome.rand"> <summary> Random generator used for chromosoms' generation. </summary> </member> <member name="M:AForge.Genetic.GEPChromosome.#ctor(AForge.Genetic.IGPGene,System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.GEPChromosome"/> class. </summary> <param name="ancestor">A gene, which is used as generator for the genetic tree.</param> <param name="headLength">Length of GEP chromosome's head (see <see cref="F:AForge.Genetic.GEPChromosome.headLength"/>).</param> <remarks><para>This constructor creates a randomly generated GEP chromosome, which has all genes of the same type and properties as the specified <paramref name="ancestor"/>. </para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.#ctor(AForge.Genetic.GEPChromosome)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.GEPChromosome"/> class. </summary> <param name="source">Source GEP chromosome to clone from.</param> </member> <member name="M:AForge.Genetic.GEPChromosome.ToString"> <summary> Get string representation of the chromosome by providing its expression in reverse polish notation (postfix notation). </summary> <returns>Returns string representation of the expression represented by the GEP chromosome.</returns> </member> <member name="M:AForge.Genetic.GEPChromosome.ToStringNative"> <summary> Get string representation of the chromosome. </summary> <returns>Returns the chromosome in native linear representation.</returns> <remarks><para><note>The method is used for debugging mostly.</note></para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.GetTree"> <summary> Get tree representation of the chromosome. </summary> <returns>Returns expression's tree represented by the chromosome.</returns> <remarks><para>The method builds expression's tree for the native linear representation of the GEP chromosome.</para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.</para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.Clone"> <summary> Clone the chromosome. </summary> <returns>Return's clone of the chromosome.</returns> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation by calling on of the methods randomly: <see cref="M:AForge.Genetic.GEPChromosome.MutateGene"/>, <see cref="M:AForge.Genetic.GEPChromosome.TransposeIS"/>, <see cref="M:AForge.Genetic.GEPChromosome.TransposeRoot"/>. </para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.MutateGene"> <summary> Usual gene mutation. </summary> <remarks><para>The method performs usual gene mutation by randomly changing randomly selected gene.</para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.TransposeIS"> <summary> Transposition of IS elements (insertion sequence). </summary> <remarks><para>The method performs transposition of IS elements by copying randomly selected region of genes into chromosome's head (into randomly selected position). First gene of the chromosome's head is not affected - can not be selected as target point.</para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.TransposeRoot"> <summary> Root transposition. </summary> <remarks><para>The method performs root transposition of the GEP chromosome - inserting new root of the chromosome and shifting existing one. The method first of all randomly selects a function gene in chromosome's head - starting point of the sequence to put into chromosome's head. Then it randomly selects the length of the sequence making sure that the entire sequence is located within head. Once the starting point and the length of the sequence are known, it is copied into chromosome's head shifting existing elements in the head.</para> </remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs one-point or two-point crossover selecting them randomly with equal probability.</para></remarks> </member> <member name="M:AForge.Genetic.GEPChromosome.RecombinationOnePoint(AForge.Genetic.GEPChromosome)"> <summary> One-point recombination (crossover). </summary> <param name="pair">Pair chromosome to crossover with.</param> </member> <member name="M:AForge.Genetic.GEPChromosome.RecombinationTwoPoint(AForge.Genetic.GEPChromosome)"> <summary> Two point recombination (crossover). </summary> <param name="pair">Pair chromosome to crossover with.</param> </member> <member name="M:AForge.Genetic.GEPChromosome.Recombine(AForge.Genetic.IGPGene[],AForge.Genetic.IGPGene[],System.Int32,System.Int32)"> <summary> Swap parts of two chromosomes. </summary> <param name="src1">First chromosome participating in genes' interchange.</param> <param name="src2">Second chromosome participating in genes' interchange.</param> <param name="point">Index of the first gene in the interchange sequence.</param> <param name="length">Length of the interchange sequence - number of genes to interchange.</param> <remarks><para>The method performs interchanging of genes between two chromosomes starting from the <paramref name="point"/> position.</para></remarks> </member> <member name="T:AForge.Genetic.GPTreeChromosome"> <summary> Tree chromosome represents a tree of genes, which is is used for different tasks of Genetic Programming (GP). </summary> <remarks><para>This type of chromosome represents a tree, where each node is represented by <see cref="T:AForge.Genetic.GPTreeNode"/> containing <see cref="T:AForge.Genetic.IGPGene"/>. Depending on type of genes used to build the tree, it may represent different types of expressions aimed to solve different type of tasks. For example, a particular implementation of <see cref="T:AForge.Genetic.IGPGene"/> interface may represent simple algebraic operations and their arguments. </para> <para>See documentation to <see cref="T:AForge.Genetic.IGPGene"/> implementations for additional information about possible Genetic Programming trees.</para> </remarks> </member> <member name="F:AForge.Genetic.GPTreeChromosome.rand"> <summary> Random generator used for chromosoms' generation. </summary> </member> <member name="P:AForge.Genetic.GPTreeChromosome.MaxInitialLevel"> <summary> Maximum initial level of genetic trees, [1, 25]. </summary> <remarks><para>The property sets maximum possible initial depth of new genetic programming tree. For example, if it is set to 1, then largest initial tree may have a root and one level of children.</para> <para>Default value is set to <b>3</b>.</para> </remarks> </member> <member name="P:AForge.Genetic.GPTreeChromosome.MaxLevel"> <summary> Maximum level of genetic trees, [1, 50]. </summary> <remarks><para>The property sets maximum possible depth of genetic programming tree, which may be created with mutation and crossover operators. This property guarantees that genetic programmin tree will never have higher depth, than the specified value.</para> <para>Default value is set to <b>5</b>.</para> </remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.#ctor(AForge.Genetic.IGPGene)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.GPTreeChromosome"/> class. </summary> <param name="ancestor">A gene, which is used as generator for the genetic tree.</param> <remarks><para>This constructor creates a randomly generated genetic tree, which has all genes of the same type and properties as the specified <paramref name="ancestor"/>. </para></remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.#ctor(AForge.Genetic.GPTreeChromosome)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.GPTreeChromosome"/> class. </summary> <param name="source">Source genetic tree to clone from.</param> <remarks><para>This constructor creates new genetic tree as a copy of the specified <paramref name="source"/> tree.</para></remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.ToString"> <summary> Get string representation of the chromosome by providing its expression in reverse polish notation (postfix notation). </summary> <returns>Returns string representation of the genetic tree.</returns> <remarks><para>The method returns string representation of the tree's root node (see <see cref="M:AForge.Genetic.GPTreeNode.ToString"/>).</para></remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.Generate(AForge.Genetic.GPTreeNode,System.Int32)"> <summary> Generate chromosome's subtree of specified level. </summary> <param name="node">Sub tree's node to generate.</param> <param name="level">Sub tree's level to generate.</param> </member> <member name="M:AForge.Genetic.GPTreeChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.</para></remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.Clone"> <summary> Clone the chromosome. </summary> <returns>Return's clone of the chromosome.</returns> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation by regenerating tree's randomly selected node.</para></remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes ?interchanging randomly selected sub trees.</para></remarks> </member> <member name="M:AForge.Genetic.GPTreeChromosome.RandomSwap(AForge.Genetic.GPTreeNode)"> <summary> Crossover helper routine - selects random node of chromosomes tree and swaps it with specified node. </summary> </member> <member name="M:AForge.Genetic.GPTreeChromosome.Trim(AForge.Genetic.GPTreeNode,System.Int32)"> <summary> Trim tree node, so its depth does not exceed specified level. </summary> </member> <member name="T:AForge.Genetic.GPTreeNode"> <summary> Represents tree node of genetic programming tree. </summary> <remarks><para>In genetic programming a chromosome is represented by a tree, which is represented by <see cref="T:AForge.Genetic.GPTreeChromosome"/> class. The <see cref="T:AForge.Genetic.GPTreeNode"/> class represents single node of such genetic programming tree.</para> <para>Each node may or may not have children. This means that particular node of a genetic programming tree may represent its sub tree or even entire tree.</para> </remarks> </member> <member name="F:AForge.Genetic.GPTreeNode.Gene"> <summary> Gene represented by the chromosome. </summary> </member> <member name="F:AForge.Genetic.GPTreeNode.Children"> <summary> List of node's children. </summary> </member> <member name="M:AForge.Genetic.GPTreeNode.#ctor"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.GPTreeNode"/> class. </summary> </member> <member name="M:AForge.Genetic.GPTreeNode.#ctor(AForge.Genetic.IGPGene)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.GPTreeNode"/> class. </summary> </member> <member name="M:AForge.Genetic.GPTreeNode.ToString"> <summary> Get string representation of the node. </summary> <returns>Returns string representation of the node.</returns> <remarks><para>String representation of the node lists all node's children and then the node itself. Such node's string representations equals to its reverse polish notation.</para> <para>For example, if nodes value is '+' and its children are '3' and '5', then nodes string representation is "3 5 +".</para> </remarks> </member> <member name="M:AForge.Genetic.GPTreeNode.Clone"> <summary> Clone the tree node. </summary> <returns>Returns exact clone of the node.</returns> </member> <member name="T:AForge.Genetic.GPGeneType"> <summary> Types of genes in Genetic Programming. </summary> </member> <member name="F:AForge.Genetic.GPGeneType.Function"> <summary> Function gene - represents function to be executed. </summary> </member> <member name="F:AForge.Genetic.GPGeneType.Argument"> <summary> Argument gene - represents argument of function. </summary> </member> <member name="T:AForge.Genetic.IGPGene"> <summary> Genetic Programming's gene interface. </summary> <remarks><para>This is a gene interface, which is used for building chromosomes in Genetic Programming (GP) and Gene Expression Programming (GEP). </para></remarks> </member> <member name="P:AForge.Genetic.IGPGene.GeneType"> <summary> Gene type. </summary> <remarks><para>The property represents type of a gene - function, argument, etc.</para> </remarks> </member> <member name="P:AForge.Genetic.IGPGene.ArgumentsCount"> <summary> Arguments count. </summary> <remarks><para>Arguments count of a particular function gene.</para></remarks> </member> <member name="P:AForge.Genetic.IGPGene.MaxArgumentsCount"> <summary> Maximum arguments count. </summary> <remarks><para>Maximum arguments count of a function gene. The property may be used by chromosomes' classes to allocate correctly memory for functions' arguments, for example.</para></remarks> </member> <member name="M:AForge.Genetic.IGPGene.Clone"> <summary> Clone gene. </summary> <remarks><para>The method clones gene returning the exact copy of it.</para></remarks> </member> <member name="M:AForge.Genetic.IGPGene.Generate"> <summary> Randomize gene with random type and value. </summary> <remarks><para>The method randomizes a gene, setting its type and value randomly.</para></remarks> </member> <member name="M:AForge.Genetic.IGPGene.Generate(AForge.Genetic.GPGeneType)"> <summary> Randomize gene with random value. </summary> <param name="type">Gene type to set.</param> <remarks><para>The method randomizes a gene, setting its value randomly, but type is set to the specified one.</para></remarks> </member> <member name="M:AForge.Genetic.IGPGene.CreateNew"> <summary> Creates new gene with random type and value. </summary> <remarks><para>The method creates new randomly initialized gene . The method is useful as factory method for those classes, which work with gene's interface, but not with particular gene class.</para> </remarks> </member> <member name="M:AForge.Genetic.IGPGene.CreateNew(AForge.Genetic.GPGeneType)"> <summary> Creates new gene with certain type and random value. </summary> <param name="type">Gene type to create.</param> <remarks><para>The method creates new gene with specified type, but random value. The method is useful as factory method for those classes, which work with gene's interface, but not with particular gene class.</para> </remarks> </member> <member name="T:AForge.Genetic.SimpleGeneFunction"> <summary> Genetic programming gene, which represents simple arithmetic functions and arguments. </summary> <remarks><para>Simple gene function may represent an arithmetic function (+, -, *, /) or an argument to function. This class is used by Genetic Programming (or Gene Expression Programming) chromosomes to build arbitrary expressions with help of genetic operators.</para> </remarks> </member> <member name="T:AForge.Genetic.SimpleGeneFunction.Functions"> <summary> Enumeration of supported functions. </summary> </member> <member name="F:AForge.Genetic.SimpleGeneFunction.Functions.Add"> <summary> Addition operator. </summary> </member> <member name="F:AForge.Genetic.SimpleGeneFunction.Functions.Subtract"> <summary> Suntraction operator. </summary> </member> <member name="F:AForge.Genetic.SimpleGeneFunction.Functions.Multiply"> <summary> Multiplication operator. </summary> </member> <member name="F:AForge.Genetic.SimpleGeneFunction.Functions.Divide"> <summary> Division operator. </summary> </member> <member name="F:AForge.Genetic.SimpleGeneFunction.FunctionsCount"> <summary> Number of different functions supported by the class. </summary> </member> <member name="F:AForge.Genetic.SimpleGeneFunction.rand"> <summary> Random number generator for chromosoms generation. </summary> </member> <member name="P:AForge.Genetic.SimpleGeneFunction.GeneType"> <summary> Gene type. </summary> <remarks><para>The property represents type of a gene - function, argument, etc.</para> </remarks> </member> <member name="P:AForge.Genetic.SimpleGeneFunction.ArgumentsCount"> <summary> Arguments count. </summary> <remarks><para>Arguments count of a particular function gene.</para></remarks> </member> <member name="P:AForge.Genetic.SimpleGeneFunction.MaxArgumentsCount"> <summary> Maximum arguments count. </summary> <remarks><para>Maximum arguments count of a function gene supported by the class. The property may be used by chromosomes' classes to allocate correctly memory for functions' arguments, for example.</para></remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.#ctor(System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.SimpleGeneFunction"/> class. </summary> <param name="variablesCount">Total amount of variables in the task which is supposed to be solved.</param> <remarks><para>The constructor creates randomly initialized gene with random type and value by calling <see cref="M:AForge.Genetic.SimpleGeneFunction.Generate"/> method.</para></remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.#ctor(System.Int32,AForge.Genetic.GPGeneType)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.SimpleGeneFunction"/> class. </summary> <param name="variablesCount">Total amount of variables in the task which is supposed to be solved.</param> <param name="type">Gene type to set.</param> <remarks><para>The constructor creates randomly initialized gene with random value and preset gene type.</para></remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.ToString"> <summary> Get string representation of the gene. </summary> <returns>Returns string representation of the gene.</returns> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.Clone"> <summary> Clone the gene. </summary> <remarks><para>The method clones the chromosome returning the exact copy of it.</para></remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.Generate"> <summary> Randomize gene with random type and value. </summary> <remarks><para>The method randomizes the gene, setting its type and value randomly.</para></remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.Generate(AForge.Genetic.GPGeneType)"> <summary> Randomize gene with random value. </summary> <param name="type">Gene type to set.</param> <remarks><para>The method randomizes a gene, setting its value randomly, but type is set to the specified one.</para></remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.CreateNew"> <summary> Creates new gene with random type and value. </summary> <remarks><para>The method creates new randomly initialized gene . The method is useful as factory method for those classes, which work with gene's interface, but not with particular gene class.</para> </remarks> </member> <member name="M:AForge.Genetic.SimpleGeneFunction.CreateNew(AForge.Genetic.GPGeneType)"> <summary> Creates new gene with certain type and random value. </summary> <param name="type">Gene type to create.</param> <remarks><para>The method creates new gene with specified type, but random value. The method is useful as factory method for those classes, which work with gene's interface, but not with particular gene class.</para> </remarks> </member> <member name="T:AForge.Genetic.IChromosome"> <summary> Chromosome interface. </summary> <remarks><para>The interfase should be implemented by all classes, which implement particular chromosome type.</para></remarks> </member> <member name="P:AForge.Genetic.IChromosome.Fitness"> <summary> Chromosome's fitness value. </summary> <remarks><para>The fitness value represents chromosome's usefulness - the greater the value, the more useful it is.</para></remarks> </member> <member name="M:AForge.Genetic.IChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.IChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome class.</para></remarks> </member> <member name="M:AForge.Genetic.IChromosome.Clone"> <summary> Clone the chromosome. </summary> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.IChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation, changing its part randomly.</para></remarks> </member> <member name="M:AForge.Genetic.IChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes ?interchanging some parts of chromosomes.</para></remarks> </member> <member name="M:AForge.Genetic.IChromosome.Evaluate(AForge.Genetic.IFitnessFunction)"> <summary> Evaluate chromosome with specified fitness function. </summary> <param name="function">Fitness function to use for evaluation of the chromosome.</param> <remarks><para>Calculates chromosome's fitness using the specifed fitness function.</para></remarks> </member> <member name="T:AForge.Genetic.PermutationChromosome"> <summary> Permutation chromosome. </summary> <remarks><para>Permutation chromosome is based on short array chromosome, but has two features:</para> <list type="bullet"> <item>all genes are unique within chromosome, i.e. there are no two genes with the same value;</item> <item>maximum value of each gene is equal to chromosome length minus 1.</item> </list> </remarks> </member> <member name="M:AForge.Genetic.PermutationChromosome.#ctor(System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.PermutationChromosome"/> class. </summary> </member> <member name="M:AForge.Genetic.PermutationChromosome.#ctor(AForge.Genetic.PermutationChromosome)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.PermutationChromosome"/> class. </summary> <param name="source">Source chromosome to copy.</param> <remarks><para>This is a copy constructor, which creates the exact copy of specified chromosome.</para></remarks> </member> <member name="M:AForge.Genetic.PermutationChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.PermutationChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.</para></remarks> </member> <member name="M:AForge.Genetic.PermutationChromosome.Clone"> <summary> Clone the chromosome. </summary> <returns>Return's clone of the chromosome.</returns> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.PermutationChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation, swapping two randomly chosen genes (array elements).</para></remarks> </member> <member name="M:AForge.Genetic.PermutationChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes ?interchanging some parts between these chromosomes.</para></remarks> </member> <member name="T:AForge.Genetic.ShortArrayChromosome"> <summary> Short array chromosome. </summary> <remarks><para>Short array chromosome represents array of unsigned short values. Array length is in the range of [2, 65536]. </para></remarks> </member> <member name="F:AForge.Genetic.ShortArrayChromosome.length"> <summary> Chromosome's length in number of elements. </summary> </member> <member name="F:AForge.Genetic.ShortArrayChromosome.maxValue"> <summary> Maximum value of chromosome's gene (element). </summary> </member> <member name="F:AForge.Genetic.ShortArrayChromosome.val"> <summary> Chromosome's value. </summary> </member> <member name="F:AForge.Genetic.ShortArrayChromosome.rand"> <summary> Random number generator for chromosoms generation, crossover, mutation, etc. </summary> </member> <member name="F:AForge.Genetic.ShortArrayChromosome.MaxLength"> <summary> Chromosome's maximum length. </summary> <remarks><para>Maxim chromosome's length in array elements.</para></remarks> </member> <member name="P:AForge.Genetic.ShortArrayChromosome.Length"> <summary> Chromosome's length. </summary> <remarks><para>Length of the chromosome in array elements.</para></remarks> </member> <member name="P:AForge.Genetic.ShortArrayChromosome.Value"> <summary> Chromosome's value. </summary> <remarks><para>Current value of the chromosome.</para></remarks> </member> <member name="P:AForge.Genetic.ShortArrayChromosome.MaxValue"> <summary> Max possible value of single chromosomes element - gene. </summary> <remarks><para>Maximum possible numerical value, which may be represented by single chromosome's gene (array element).</para></remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.#ctor(System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.ShortArrayChromosome"/> class. </summary> <param name="length">Chromosome's length in array elements, [2, <see cref="F:AForge.Genetic.ShortArrayChromosome.MaxLength"/>].</param> <remarks>This constructor initializes chromosome setting genes' maximum value to maximum posible value of <see langword="ushort"/> type.</remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.#ctor(System.Int32,System.Int32)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.ShortArrayChromosome"/> class. </summary> <param name="length">Chromosome's length in array elements, [2, <see cref="F:AForge.Genetic.ShortArrayChromosome.MaxLength"/>].</param> <param name="maxValue">Maximum value of chromosome's gene (array element).</param> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.#ctor(AForge.Genetic.ShortArrayChromosome)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.ShortArrayChromosome"/> class. </summary> <param name="source">Source chromosome to copy.</param> <remarks><para>This is a copy constructor, which creates the exact copy of specified chromosome.</para></remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.ToString"> <summary> Get string representation of the chromosome. </summary> <returns>Returns string representation of the chromosome.</returns> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.Generate"> <summary> Generate random chromosome value. </summary> <remarks><para>Regenerates chromosome's value using random number generator.</para> </remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.CreateNew"> <summary> Create new random chromosome with same parameters (factory method). </summary> <remarks><para>The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.</para></remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.Clone"> <summary> Clone the chromosome. </summary> <returns>Return's clone of the chromosome.</returns> <remarks><para>The method clones the chromosome returning the exact copy of it.</para> </remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.Mutate"> <summary> Mutation operator. </summary> <remarks><para>The method performs chromosome's mutation, changing randomly one of its genes (array elements).</para></remarks> </member> <member name="M:AForge.Genetic.ShortArrayChromosome.Crossover(AForge.Genetic.IChromosome)"> <summary> Crossover operator. </summary> <param name="pair">Pair chromosome to crossover with.</param> <remarks><para>The method performs crossover between two chromosomes ?interchanging range of genes (array elements) between these chromosomes.</para></remarks> </member> <member name="T:AForge.Genetic.IFitnessFunction"> <summary> Fitness function interface. </summary> <remarks>The interface should be implemented by all fitness function classes, which are supposed to be used for calculation of chromosomes fitness values. All fitness functions should return positive (<b>greater then zero</b>) value, which indicates how good is the evaluated chromosome - the greater the value, the better the chromosome. </remarks> </member> <member name="M:AForge.Genetic.IFitnessFunction.Evaluate(AForge.Genetic.IChromosome)"> <summary> Evaluates chromosome. </summary> <param name="chromosome">Chromosome to evaluate.</param> <returns>Returns chromosome's fitness value.</returns> <remarks>The method calculates fitness value of the specified chromosome.</remarks> </member> <member name="T:AForge.Genetic.OptimizationFunction1D"> <summary>Base class for one dimensional function optimizations.</summary> <remarks><para>The class is aimed to be used for one dimensional function optimization problems. It implements all methods of <see cref="T:AForge.Genetic.IFitnessFunction"/> interface and requires overriding only one method - <see cref="M:AForge.Genetic.OptimizationFunction1D.OptimizationFunction(System.Double)"/>, which represents the function to optimize.</para> <para><note>The optimization function should be greater than 0 on the specified optimization range.</note></para> <para>The class works only with binary chromosomes (<see cref="T:AForge.Genetic.BinaryChromosome"/>).</para> <para>Sample usage:</para> <code> // define optimization function public class UserFunction : OptimizationFunction1D { public UserFunction( ) : base( new Range( 0, 255 ) ) { } public override double OptimizationFunction( double x ) { return Math.Cos( x / 23 ) * Math.Sin( x / 50 ) + 2; } } ... // create genetic population Population population = new Population( 40, new BinaryChromosome( 32 ), new UserFunction( ), new EliteSelection( ) ); while ( true ) { // run one epoch of the population population.RunEpoch( ); // ... } </code> </remarks> </member> <member name="T:AForge.Genetic.OptimizationFunction1D.Modes"> <summary> Optimization modes. </summary> <remarks>The enumeration defines optimization modes for the one dimensional function optimization.</remarks> </member> <member name="F:AForge.Genetic.OptimizationFunction1D.Modes.Maximization"> <summary> Search for function's maximum value. </summary> </member> <member name="F:AForge.Genetic.OptimizationFunction1D.Modes.Minimization"> <summary> Search for function's minimum value. </summary> </member> <member name="P:AForge.Genetic.OptimizationFunction1D.Range"> <summary> Optimization range. </summary> <remarks>Defines function's input range. The function's extreme point will be searched in this range only. </remarks> </member> <member name="P:AForge.Genetic.OptimizationFunction1D.Mode"> <summary> Optimization mode. </summary> <remarks>Defines optimization mode - what kind of extreme point to search.</remarks> </member> <member name="M:AForge.Genetic.OptimizationFunction1D.#ctor(AForge.Range)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.OptimizationFunction1D"/> class. </summary> <param name="range">Specifies range for optimization.</param> </member> <member name="M:AForge.Genetic.OptimizationFunction1D.Evaluate(AForge.Genetic.IChromosome)"> <summary> Evaluates chromosome. </summary> <param name="chromosome">Chromosome to evaluate.</param> <returns>Returns chromosome's fitness value.</returns> <remarks>The method calculates fitness value of the specified chromosome.</remarks> </member> <member name="M:AForge.Genetic.OptimizationFunction1D.Translate(AForge.Genetic.IChromosome)"> <summary> Translates genotype to phenotype. </summary> <param name="chromosome">Chromosome, which genoteype should be translated to phenotype.</param> <returns>Returns chromosome's fenotype - the actual solution encoded by the chromosome.</returns> <remarks>The method returns double value, which represents function's input point encoded by the specified chromosome.</remarks> </member> <member name="M:AForge.Genetic.OptimizationFunction1D.OptimizationFunction(System.Double)"> <summary> Function to optimize. </summary> <param name="x">Function's input value.</param> <returns>Returns function output value.</returns> <remarks>The method should be overloaded by inherited class to specify the optimization function.</remarks> </member> <member name="T:AForge.Genetic.OptimizationFunction2D"> <summary>Base class for two dimenstional function optimization.</summary> <remarks><para>The class is aimed to be used for two dimensional function optimization problems. It implements all methods of <see cref="T:AForge.Genetic.IFitnessFunction"/> interface and requires overriding only one method - <see cref="M:AForge.Genetic.OptimizationFunction2D.OptimizationFunction(System.Double,System.Double)"/>, which represents the function to optimize.</para> <para><note>The optimization function should be greater than 0 on the specified optimization range.</note></para> <para>The class works only with binary chromosomes (<see cref="T:AForge.Genetic.BinaryChromosome"/>).</para> <para>Sample usage:</para> <code> // define optimization function public class UserFunction : OptimizationFunction2D { public UserFunction( ) : base( new Range( -4, 4 ), new Range( -4, 4 ) ) { } public override double OptimizationFunction( double x, double y ) { return ( Math.Cos( y ) * x * y ) / ( 2 - Math.Sin( x ) ); } } ... // create genetic population Population population = new Population( 40, new BinaryChromosome( 32 ), new UserFunction( ), new EliteSelection( ) ); // run one epoch of the population population.RunEpoch( ); </code> </remarks> </member> <member name="T:AForge.Genetic.OptimizationFunction2D.Modes"> <summary> Optimization modes. </summary> <remarks>The enumeration defines optimization modes for the two dimensional function optimization.</remarks> </member> <member name="F:AForge.Genetic.OptimizationFunction2D.Modes.Maximization"> <summary> Search for function's maximum value. </summary> </member> <member name="F:AForge.Genetic.OptimizationFunction2D.Modes.Minimization"> <summary> Search for function's minimum value. </summary> </member> <member name="P:AForge.Genetic.OptimizationFunction2D.RangeX"> <summary> X variable's optimization range. </summary> <remarks>Defines function's X range. The function's extreme will be searched in this range only. </remarks> </member> <member name="P:AForge.Genetic.OptimizationFunction2D.RangeY"> <summary> Y variable's optimization range. </summary> <remarks>Defines function's Y range. The function's extreme will be searched in this range only. </remarks> </member> <member name="P:AForge.Genetic.OptimizationFunction2D.Mode"> <summary> Optimization mode. </summary> <remarks>Defines optimization mode - what kind of extreme to search.</remarks> </member> <member name="M:AForge.Genetic.OptimizationFunction2D.#ctor(AForge.Range,AForge.Range)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.OptimizationFunction2D"/> class. </summary> <param name="rangeX">Specifies X variable's range.</param> <param name="rangeY">Specifies Y variable's range.</param> </member> <member name="M:AForge.Genetic.OptimizationFunction2D.Evaluate(AForge.Genetic.IChromosome)"> <summary> Evaluates chromosome. </summary> <param name="chromosome">Chromosome to evaluate.</param> <returns>Returns chromosome's fitness value.</returns> <remarks>The method calculates fitness value of the specified chromosome.</remarks> </member> <member name="M:AForge.Genetic.OptimizationFunction2D.Translate(AForge.Genetic.IChromosome)"> <summary> Translates genotype to phenotype </summary> <param name="chromosome">Chromosome, which genoteype should be translated to phenotype</param> <returns>Returns chromosome's fenotype - the actual solution encoded by the chromosome</returns> <remarks>The method returns array of two double values, which represent function's input point (X and Y) encoded by the specified chromosome.</remarks> </member> <member name="M:AForge.Genetic.OptimizationFunction2D.OptimizationFunction(System.Double,System.Double)"> <summary> Function to optimize. </summary> <param name="x">Function X input value.</param> <param name="y">Function Y input value.</param> <returns>Returns function output value.</returns> <remarks>The method should be overloaded by inherited class to specify the optimization function.</remarks> </member> <member name="T:AForge.Genetic.SymbolicRegressionFitness"> <summary> Fitness function for symbolic regression (function approximation) problem </summary> <remarks><para>The fitness function calculates fitness value of <see cref="T:AForge.Genetic.GPTreeChromosome">GP</see> and <see cref="T:AForge.Genetic.GEPChromosome">GEP</see> chromosomes with the aim of solving symbolic regression problem. The fitness function's value is computed as: <code>100.0 / ( error + 1 )</code> where <b>error</b> equals to the sum of absolute differences between function values (computed using the function encoded by chromosome) and input values (function to be approximated).</para> <para>Sample usage:</para> <code> // constants double[] constants = new double[5] { 1, 2, 3, 5, 7 }; // function to be approximated double[,] data = new double[5, 2] { {1, 1}, {2, 3}, {3, 6}, {4, 10}, {5, 15} }; // create population Population population = new Population( 100, new GPTreeChromosome( new SimpleGeneFunction( 1 + constants.Length ) ), new SymbolicRegressionFitness( data, constants ), new EliteSelection( ) ); // run one epoch of the population population.RunEpoch( ); </code> </remarks> </member> <member name="M:AForge.Genetic.SymbolicRegressionFitness.#ctor(System.Double[0:,0:],System.Double[])"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.SymbolicRegressionFitness"/> class. </summary> <param name="data">Function to be approximated.</param> <param name="constants">Array of constants to be used as additional paramters for genetic expression.</param> <remarks><para>The <paramref name="data"/> parameter defines the function to be approximated and represents a two dimensional array of (x, y) points.</para> <para>The <paramref name="constants"/> parameter is an array of constants, which can be used as additional variables for a genetic expression. The actual amount of variables for genetic expression equals to the amount of constants plus one - the <b>x</b> variable.</para> </remarks> </member> <member name="M:AForge.Genetic.SymbolicRegressionFitness.Evaluate(AForge.Genetic.IChromosome)"> <summary> Evaluates chromosome. </summary> <param name="chromosome">Chromosome to evaluate.</param> <returns>Returns chromosome's fitness value.</returns> <remarks>The method calculates fitness value of the specified chromosome.</remarks> </member> <member name="M:AForge.Genetic.SymbolicRegressionFitness.Translate(AForge.Genetic.IChromosome)"> <summary> Translates genotype to phenotype . </summary> <param name="chromosome">Chromosome, which genoteype should be translated to phenotype.</param> <returns>Returns chromosome's fenotype - the actual solution encoded by the chromosome.</returns> <remarks>The method returns string value, which represents approximation expression written in polish postfix notation.</remarks> </member> <member name="T:AForge.Genetic.TimeSeriesPredictionFitness"> <summary> Fitness function for times series prediction problem </summary> <remarks><para>The fitness function calculates fitness value of <see cref="T:AForge.Genetic.GPTreeChromosome">GP</see> and <see cref="T:AForge.Genetic.GEPChromosome">GEP</see> chromosomes with the aim of solving times series prediction problem using sliding window method. The fitness function's value is computed as: <code>100.0 / ( error + 1 )</code> where <b>error</b> equals to the sum of absolute differences between predicted value and actual future value.</para> <para>Sample usage:</para> <code> // number of points from the past used to predict new one int windowSize = 5; // time series to predict double[] data = new double[13] { 1, 2, 4, 7, 11, 16, 22, 29, 37, 46, 56, 67, 79 }; // constants double[] constants = new double[10] { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23 }; // create population Population population = new Population( 100, new GPTreeChromosome( new SimpleGeneFunction( windowSize + constants.Length ) ), new TimeSeriesPredictionFitness( data, windowSize, 1, constants ), new EliteSelection( ) ); // run one epoch of the population population.RunEpoch( ); </code> </remarks> </member> <member name="M:AForge.Genetic.TimeSeriesPredictionFitness.#ctor(System.Double[],System.Int32,System.Int32,System.Double[])"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.TimeSeriesPredictionFitness"/> class. </summary> <param name="data">Time series to be predicted.</param> <param name="windowSize">Window size - number of past samples used to predict future value.</param> <param name="predictionSize">Prediction size - number of values to be predicted. These values are excluded from training set.</param> <param name="constants">Array of constants to be used as additional paramters for genetic expression.</param> <remarks><para>The <paramref name="data"/> parameter is a one dimensional array, which defines times series to predict. The amount of learning samples is equal to the number of samples in the provided time series, minus window size, minus prediction size.</para> <para>The <paramref name="predictionSize"/> parameter specifies the amount of samples, which should be excluded from training set. This set of samples may be used for future verification of the prediction model.</para> <para>The <paramref name="constants"/> parameter is an array of constants, which can be used as additional variables for a genetic expression. The actual amount of variables for genetic expression equals to the amount of constants plus the window size.</para> </remarks> </member> <member name="M:AForge.Genetic.TimeSeriesPredictionFitness.Evaluate(AForge.Genetic.IChromosome)"> <summary> Evaluates chromosome. </summary> <param name="chromosome">Chromosome to evaluate.</param> <returns>Returns chromosome's fitness value.</returns> <remarks>The method calculates fitness value of the specified chromosome.</remarks> </member> <member name="M:AForge.Genetic.TimeSeriesPredictionFitness.Translate(AForge.Genetic.IChromosome)"> <summary> Translates genotype to phenotype. </summary> <param name="chromosome">Chromosome, which genoteype should be translated to phenotype.</param> <returns>Returns chromosome's fenotype - the actual solution encoded by the chromosome.</returns> <remarks><para>The method returns string value, which represents prediction expression written in polish postfix notation.</para> <para>The interpretation of the prediction expression is very simple. For example, let's take a look at sample expression, which was received with window size equal to 5: <code lang="none">$0 $1 - $5 / $2 *</code> The above expression in postfix polish notation should be interpreted as a next expression: <code lang="none">( ( x[t - 1] - x[t - 2] ) / const1 ) * x[t - 3]</code> </para> </remarks> </member> <member name="T:AForge.Genetic.Population"> <summary> Population of chromosomes. </summary> <remarks><para>The class represents population - collection of individuals (chromosomes) and provides functionality for common population's life cycle - population growing with help of genetic operators and selection of chromosomes to new generation with help of selection algorithm. The class may work with any type of chromosomes implementing <see cref="T:AForge.Genetic.IChromosome"/> interface, use any type of fitness functions implementing <see cref="T:AForge.Genetic.IFitnessFunction"/> interface and use any type of selection algorithms implementing <see cref="T:AForge.Genetic.ISelectionMethod"/> interface.</para> </remarks> </member> <member name="P:AForge.Genetic.Population.CrossoverRate"> <summary> Crossover rate, [0.1, 1]. </summary> <remarks><para>The value determines the amount of chromosomes which participate in crossover.</para> <para>Default value is set to <b>0.75</b>.</para> </remarks> </member> <member name="P:AForge.Genetic.Population.MutationRate"> <summary> Mutation rate, [0.1, 1]. </summary> <remarks><para>The value determines the amount of chromosomes which participate in mutation.</para> <para>Defaul value is set to <b>0.1</b>.</para></remarks> </member> <member name="P:AForge.Genetic.Population.RandomSelectionPortion"> <summary> Random selection portion, [0, 0.9]. </summary> <remarks><para>The value determines the amount of chromosomes which will be randomly generated for the new population. The property controls the amount of chromosomes, which are selected to a new population using <see cref="P:AForge.Genetic.Population.SelectionMethod">selection operator</see>, and amount of random chromosomes added to the new population.</para> <para>Default value is set to <b>0</b>.</para></remarks> </member> <member name="P:AForge.Genetic.Population.AutoShuffling"> <summary> Determines of auto shuffling is on or off. </summary> <remarks><para>The property specifies if automatic shuffling needs to be done on each <see cref="M:AForge.Genetic.Population.RunEpoch">epoch</see> by calling <see cref="M:AForge.Genetic.Population.Shuffle"/> method.</para> <para>Default value is set to <see langword="false"/>.</para></remarks> </member> <member name="P:AForge.Genetic.Population.SelectionMethod"> <summary> Selection method to use with the population. </summary> <remarks><para>The property sets selection method which is used to select population members for a new population - filter population after reproduction was done with operators like crossover and mutations.</para></remarks> </member> <member name="P:AForge.Genetic.Population.FitnessFunction"> <summary> Fitness function to apply to the population. </summary> <remarks><para>The property sets fitness function, which is used to evaluate usefulness of population's chromosomes. Setting new fitness function causes recalculation of fitness values for all population's members and new best member will be found.</para> </remarks> </member> <member name="P:AForge.Genetic.Population.FitnessMax"> <summary> Maximum fitness of the population. </summary> <remarks><para>The property keeps maximum fitness of chromosomes currently existing in the population.</para> <para><note>The property is recalculate only after <see cref="M:AForge.Genetic.Population.Selection">selection</see> or <see cref="M:AForge.Genetic.Population.Migrate(AForge.Genetic.Population,System.Int32,AForge.Genetic.ISelectionMethod)">migration</see> was done.</note></para> </remarks> </member> <member name="P:AForge.Genetic.Population.FitnessSum"> <summary> Summary fitness of the population. </summary> <remarks><para>The property keeps summary fitness of all chromosome existing in the population.</para> <para><note>The property is recalculate only after <see cref="M:AForge.Genetic.Population.Selection">selection</see> or <see cref="M:AForge.Genetic.Population.Migrate(AForge.Genetic.Population,System.Int32,AForge.Genetic.ISelectionMethod)">migration</see> was done.</note></para> </remarks> </member> <member name="P:AForge.Genetic.Population.FitnessAvg"> <summary> Average fitness of the population. </summary> <remarks><para>The property keeps average fitness of all chromosome existing in the population.</para> <para><note>The property is recalculate only after <see cref="M:AForge.Genetic.Population.Selection">selection</see> or <see cref="M:AForge.Genetic.Population.Migrate(AForge.Genetic.Population,System.Int32,AForge.Genetic.ISelectionMethod)">migration</see> was done.</note></para> </remarks> </member> <member name="P:AForge.Genetic.Population.BestChromosome"> <summary> Best chromosome of the population. </summary> <remarks><para>The property keeps the best chromosome existing in the population or <see langword="null"/> if all chromosomes have 0 fitness.</para> <para><note>The property is recalculate only after <see cref="M:AForge.Genetic.Population.Selection">selection</see> or <see cref="M:AForge.Genetic.Population.Migrate(AForge.Genetic.Population,System.Int32,AForge.Genetic.ISelectionMethod)">migration</see> was done.</note></para> </remarks> </member> <member name="P:AForge.Genetic.Population.Size"> <summary> Size of the population. </summary> <remarks>The property keeps initial (minimal) size of population. Population always returns to this size after selection operator was applied, which happens after <see cref="M:AForge.Genetic.Population.Selection"/> or <see cref="M:AForge.Genetic.Population.RunEpoch"/> methods call.</remarks> </member> <member name="P:AForge.Genetic.Population.Item(System.Int32)"> <summary> Get chromosome with specified index. </summary> <param name="index">Chromosome's index to retrieve.</param> <remarks>Allows to access individuals of the population.</remarks> </member> <member name="M:AForge.Genetic.Population.#ctor(System.Int32,AForge.Genetic.IChromosome,AForge.Genetic.IFitnessFunction,AForge.Genetic.ISelectionMethod)"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.Population"/> class. </summary> <param name="size">Initial size of population.</param> <param name="ancestor">Ancestor chromosome to use for population creatioin.</param> <param name="fitnessFunction">Fitness function to use for calculating chromosome's fitness values.</param> <param name="selectionMethod">Selection algorithm to use for selection chromosome's to new generation.</param> <remarks>Creates new population of specified size. The specified ancestor becomes first member of the population and is used to create other members with same parameters, which were used for ancestor's creation.</remarks> <exception cref="T:System.ArgumentException">Too small population's size was specified. The exception is thrown in the case if <paramref name="size"/> is smaller than 2.</exception> </member> <member name="M:AForge.Genetic.Population.Regenerate"> <summary> Regenerate population. </summary> <remarks>The method regenerates population filling it with random chromosomes.</remarks> </member> <member name="M:AForge.Genetic.Population.Crossover"> <summary> Do crossover in the population. </summary> <remarks>The method walks through the population and performs crossover operator taking each two chromosomes in the order of their presence in the population. The total amount of paired chromosomes is determined by <see cref="P:AForge.Genetic.Population.CrossoverRate">crossover rate</see>.</remarks> </member> <member name="M:AForge.Genetic.Population.Mutate"> <summary> Do mutation in the population. </summary> <remarks>The method walks through the population and performs mutation operator taking each chromosome one by one. The total amount of mutated chromosomes is determined by <see cref="P:AForge.Genetic.Population.MutationRate">mutation rate</see>.</remarks> </member> <member name="M:AForge.Genetic.Population.Selection"> <summary> Do selection. </summary> <remarks>The method applies selection operator to the current population. Using specified selection algorithm it selects members to the new generation from current generates and adds certain amount of random members, if is required (see <see cref="P:AForge.Genetic.Population.RandomSelectionPortion"/>).</remarks> </member> <member name="M:AForge.Genetic.Population.RunEpoch"> <summary> Run one epoch of the population. </summary> <remarks>The method runs one epoch of the population, doing crossover, mutation and selection by calling <see cref="M:AForge.Genetic.Population.Crossover"/>, <see cref="M:AForge.Genetic.Population.Mutate"/> and <see cref="M:AForge.Genetic.Population.Selection"/>.</remarks> </member> <member name="M:AForge.Genetic.Population.Shuffle"> <summary> Shuffle randomly current population. </summary> <remarks><para>Population shuffling may be useful in cases when selection operator results in not random order of chromosomes (for example, after elite selection population may be ordered in ascending/descending order).</para></remarks> </member> <member name="M:AForge.Genetic.Population.AddChromosome(AForge.Genetic.IChromosome)"> <summary> Add chromosome to the population. </summary> <param name="chromosome">Chromosome to add to the population.</param> <remarks><para>The method adds specified chromosome to the current population. Manual adding of chromosome maybe useful, when it is required to add some initialized chromosomes instead of random.</para> <para><note>Adding chromosome manually should be done very carefully, since it may break the population. The manually added chromosome must have the same type and initialization parameters as the ancestor passed to constructor.</note></para> </remarks> </member> <member name="M:AForge.Genetic.Population.Migrate(AForge.Genetic.Population,System.Int32,AForge.Genetic.ISelectionMethod)"> <summary> Perform migration between two populations. </summary> <param name="anotherPopulation">Population to do migration with.</param> <param name="numberOfMigrants">Number of chromosomes from each population to migrate.</param> <param name="migrantsSelector">Selection algorithm used to select chromosomes to migrate.</param> <remarks><para>The method performs migration between two populations - current and the <paramref name="anotherPopulation">specified one</paramref>. During migration <paramref name="numberOfMigrants">specified number</paramref> of chromosomes is choosen from each population using <paramref name="migrantsSelector">specified selection algorithms</paramref> and put into another population replacing worst members there.</para></remarks> </member> <member name="M:AForge.Genetic.Population.Resize(System.Int32)"> <summary> Resize population to the new specified size. </summary> <param name="newPopulationSize">New size of population.</param> <remarks><para>The method does resizing of population. In the case if population should grow, it just adds missing number of random members. In the case if population should get smaller, the <see cref="P:AForge.Genetic.Population.SelectionMethod">population's selection method</see> is used to reduce the population.</para></remarks> <exception cref="T:System.ArgumentException">Too small population's size was specified. The exception is thrown in the case if <paramref name="newPopulationSize"/> is smaller than 2.</exception> </member> <member name="M:AForge.Genetic.Population.Resize(System.Int32,AForge.Genetic.ISelectionMethod)"> <summary> Resize population to the new specified size. </summary> <param name="newPopulationSize">New size of population.</param> <param name="membersSelector">Selection algorithm to use in the case if population should get smaller.</param> <remarks><para>The method does resizing of population. In the case if population should grow, it just adds missing number of random members. In the case if population should get smaller, the specified selection method is used to reduce the population.</para></remarks> <exception cref="T:System.ArgumentException">Too small population's size was specified. The exception is thrown in the case if <paramref name="newPopulationSize"/> is smaller than 2.</exception> </member> <member name="T:AForge.Genetic.EliteSelection"> <summary> Elite selection method. </summary> <remarks>Elite selection method selects specified amount of best chromosomes to the next generation.</remarks> </member> <member name="M:AForge.Genetic.EliteSelection.#ctor"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.EliteSelection"/> class. </summary> </member> <member name="M:AForge.Genetic.EliteSelection.ApplySelection(System.Collections.Generic.List{AForge.Genetic.IChromosome},System.Int32)"> <summary> Apply selection to the specified population. </summary> <param name="chromosomes">Population, which should be filtered.</param> <param name="size">The amount of chromosomes to keep.</param> <remarks>Filters specified population keeping only specified amount of best chromosomes.</remarks> </member> <member name="T:AForge.Genetic.ISelectionMethod"> <summary> Genetic selection method interface. </summary> <remarks>The interface should be implemented by all classes, which implement genetic selection algorithm. These algorithms select members of current generation, which should be kept in the new generation. Basically, these algorithms filter provided population keeping only specified amount of members.</remarks> </member> <member name="M:AForge.Genetic.ISelectionMethod.ApplySelection(System.Collections.Generic.List{AForge.Genetic.IChromosome},System.Int32)"> <summary> Apply selection to the specified population. </summary> <param name="chromosomes">Population, which should be filtered.</param> <param name="size">The amount of chromosomes to keep.</param> <remarks>Filters specified population according to the implemented selection algorithm.</remarks> </member> <member name="T:AForge.Genetic.RankSelection"> <summary> Rank selection method. </summary> <remarks><para>The algorithm selects chromosomes to the new generation depending on their fitness values - the better fitness value chromosome has, the more chances it has to become member of the new generation. Each chromosome can be selected several times to the new generation.</para> <para>This algorithm is similar to <see cref="T:AForge.Genetic.RouletteWheelSelection">Roulette Wheel Selection</see> algorithm, but the difference is in "wheel" and its sectors' size calculation method. The size of the wheel equals to <b>size * ( size + 1 ) / 2</b>, where <b>size</b> is the current size of population. The worst chromosome has its sector's size equal to 1, the next chromosome has its sector's size equal to 2, etc.</para> </remarks> </member> <member name="M:AForge.Genetic.RankSelection.#ctor"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.RankSelection"/> class. </summary> </member> <member name="M:AForge.Genetic.RankSelection.ApplySelection(System.Collections.Generic.List{AForge.Genetic.IChromosome},System.Int32)"> <summary> Apply selection to the specified population. </summary> <param name="chromosomes">Population, which should be filtered.</param> <param name="size">The amount of chromosomes to keep.</param> <remarks>Filters specified population keeping only those chromosomes, which won "roulette" game.</remarks> </member> <member name="T:AForge.Genetic.RouletteWheelSelection"> <summary> Roulette wheel selection method. </summary> <remarks><para>The algorithm selects chromosomes to the new generation according to their fitness values - the more fitness value chromosome has, the more chances it has to become member of new generation. Each chromosome can be selected several times to the new generation.</para> <para>The "roulette's wheel" is divided into sectors, which size is proportional to the fitness values of chromosomes - the size of the wheel is the sum of all fitness values, size of each sector equals to fitness value of chromosome.</para> </remarks> </member> <member name="M:AForge.Genetic.RouletteWheelSelection.#ctor"> <summary> Initializes a new instance of the <see cref="T:AForge.Genetic.RouletteWheelSelection"/> class. </summary> </member> <member name="M:AForge.Genetic.RouletteWheelSelection.ApplySelection(System.Collections.Generic.List{AForge.Genetic.IChromosome},System.Int32)"> <summary> Apply selection to the specified population. </summary> <param name="chromosomes">Population, which should be filtered.</param> <param name="size">The amount of chromosomes to keep.</param> <remarks>Filters specified population keeping only those chromosomes, which won "roulette" game.</remarks> </member> </members></doc>
|