Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public override IGenotype GenerateRandomMember()
        {
            int[]  geneSequence;
            double fitness;

            geneSequence = new int[NumQueens];
            GeneDomain.CopyTo(geneSequence);
            Tools.Shuffle(geneSequence);
            fitness = FitnessFunction(geneSequence, out bool junk);

            return(new GenotypeGenericList <int>(geneSequence, fitness));
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="numQueens"></param>
        public NQueenGA(NQueenParams p) :
            base(p)
        {
            NumQueens   = p.NumQueens;
            BestFitness = 0;

            for (int i = 0; i < NumQueens; i++)
            {
                GeneDomain.Add(i);
                BestFitness += i + 1;
            }
        }