Accord.Genetic.PermutationChromosome.Generate C# (CSharp) Method

Generate() public method

Generate random chromosome value.

Regenerates chromosome's value using random number generator.

public Generate ( ) : void
return void
        public override void Generate()
        {
            var rand = Generator.Random;

            // create ascending permutation initially
            for (int i = 0; i < length; i++)
            {
                val[i] = (ushort)i;
            }

            // shuffle the permutation
            for (int i = 0, n = length >> 1; i < n; i++)
            {
                ushort t;
                int j1 = rand.Next(length);
                int j2 = rand.Next(length);

                // swap values
                t = val[j1];
                val[j1] = val[j2];
                val[j2] = t;
            }
        }