private NeuralChromosome GetChromosomeY()
        {
            var creature = new CreatureFake(1);

            var nodeGenes = new List <NeuralChromosome.NodeGene>
            {
                UnitTestFactory.ConstructNodeGene(0, NeuralChromosome.NodeGene.NodeType.Input),
                UnitTestFactory.ConstructNodeGene(1, NeuralChromosome.NodeGene.NodeType.Input),
                UnitTestFactory.ConstructNodeGene(2, NeuralChromosome.NodeGene.NodeType.Input),
                UnitTestFactory.ConstructNodeGene(3, NeuralChromosome.NodeGene.NodeType.Output),
                UnitTestFactory.ConstructNodeGene(4, NeuralChromosome.NodeGene.NodeType.Hidden),
                UnitTestFactory.ConstructNodeGene(5, NeuralChromosome.NodeGene.NodeType.Hidden)
            };

            var edgeGenes = new List <NeuralChromosome.EdgeGene>
            {
                UnitTestFactory.ConstructEdgeGene(0, nodeGenes[0], nodeGenes[3], 1, true),
                UnitTestFactory.ConstructEdgeGene(1, nodeGenes[1], nodeGenes[3], 2.5, false),
                UnitTestFactory.ConstructEdgeGene(2, nodeGenes[2], nodeGenes[3], 3.5, true),
                UnitTestFactory.ConstructEdgeGene(3, nodeGenes[1], nodeGenes[4], 1, true),
                UnitTestFactory.ConstructEdgeGene(4, nodeGenes[4], nodeGenes[3], 1, false),
                UnitTestFactory.ConstructEdgeGene(5, nodeGenes[4], nodeGenes[5], 1, true),
                UnitTestFactory.ConstructEdgeGene(6, nodeGenes[5], nodeGenes[3], 1, true),
                UnitTestFactory.ConstructEdgeGene(8, nodeGenes[2], nodeGenes[4], 1, true),
                UnitTestFactory.ConstructEdgeGene(9, nodeGenes[0], nodeGenes[5], 1, true)
            };

            var chromosome = UnitTestFactory.ConstructChromosome(ChromosomeType.Neural, nodeGenes, edgeGenes);

            chromosome.Creature = creature;

            return(chromosome as NeuralChromosome);
        }
        public void DistanceTest()
        {
            var x = UnitTestFactory.ConstructChromosome(ChromosomeType.Permutation,
                                                        new uint[] { 0, 1, 2, 3, 4 });
            var y = UnitTestFactory.ConstructChromosome(ChromosomeType.Permutation,
                                                        new uint[] { 1, 3, 0, 2, 4 });

            var distance = x.Distance(y);

            Assert.AreEqual((uint)3, distance, $"Error! Expected 3 but recieved {distance}.");
        }
        public void DistanceTest()
        {
            var x = UnitTestFactory.ConstructChromosome(ChromosomeType.Binary,
                                                        new bool[] { true, false, true, true, true, false, true });
            var y = UnitTestFactory.ConstructChromosome(ChromosomeType.Binary,
                                                        new bool[] { true, false, false, true, false, false, true });

            var distance = x.Distance(y);

            Assert.AreEqual((uint)2, distance, $"Error! Expected 2 but recieved {distance}.");
        }
Beispiel #4
0
 private BinaryChromosome GetChromosome()
 {
     return(UnitTestFactory.ConstructChromosome(ChromosomeType.Binary, GENE_COUNT)
            as BinaryChromosome);
 }
Beispiel #5
0
 private PermutationChromosome GetChromosome()
 {
     return(UnitTestFactory.ConstructChromosome(ChromosomeType.Permutation, GENE_COUNT)
            as PermutationChromosome);
 }
 private NeuralChromosome GetChromosome()
 {
     return(UnitTestFactory.ConstructChromosome(ChromosomeType.Neural, INPUT_SIZE, OUTPUT_SIZE, INNOVATION_TRACKER_NAME)
            as NeuralChromosome);
 }