Ejemplo n.º 1
0
    public void GeneralReplacement(int recombination, int brainsize)
    {
        /*
         * 1 = OnePointCrossover
         * 2 = TwoPointCrossover
         * 3 = TemplateCrossover
         * 4 = UniformCrossover
         * 5 = SchuffleCrossover
         * defautl = Debug.Break()
         */
        switch (recombination)
        {
        case 1:
            for (int i = 0; i < population.playerNum; i += 2)
            {
                recom.OnePointCrossover(population.Players[i], population.Players[i + 1], brainsize);
                population.Mutate(population.Players[i]);
                population.Mutate(population.Players[i + 1]);
            }
            break;

        case 2:

            for (int i = 0; i < population.playerNum; i += 2)
            {
                recom.TwoPointCrossover(population.Players[i], population.Players[i + 1], brainsize);
                population.Mutate(population.Players[i]);
                population.Mutate(population.Players[i + 1]);
            }

            break;
        }
    }