Esempio n. 1
0
        public void Evolve_RandomPermutationsChromosome_VeryEasySudoku_Solved()
        {
            var sudoku = SudokuTestHelper.CreateBoard(SudokuTestDifficulty.VeryEasy);

            IChromosome chromosome = new SudokuRandomPermutationsChromosome(sudoku, 2, 3);
            var         fitness    = SudokuTestHelper.Eval(chromosome, sudoku, 50, 0, 10);

            Assert.AreEqual(0, fitness);
        }
Esempio n. 2
0
        public void Constructor_NoArgs_Length9()
        {
            var target = new SudokuRandomPermutationsChromosome();

            Assert.AreEqual(9, target.Length);

            var genes = target.GetGenes();

            Assert.AreEqual(9, genes.Length);
        }
        public void Evolve_SimpleSudokuRandomPermutationsChromosome_Progressed()
        {
            var sudoku = SudokuTestHelper.CreateBoard();

            //the Random permutations chromosome should make significant progresses over 3 generations with 5 individuals

            var chromosome = new SudokuRandomPermutationsChromosome(sudoku, 2, 3);
            var fitness1   = new SudokuFitness(sudoku).Evaluate((ISudokuChromosome)chromosome);
            var fitness2   = SudokuTestHelper.Eval(chromosome, sudoku, 5, fitness1 + 20, 3);

            Assert.GreaterOrEqual(fitness2, fitness1 + 20);
        }