Esempio n. 1
0
        public static Genotype FromPrototype(Genotype protoGenotype)
        {
            var neuronGenes = protoGenotype.NeuronGenes
                              .Select(g => NeuronGene.FromPrototype(g))
                              .ToGeneList();
            var synapseGenes = protoGenotype.SynapseGenes
                               .Select(g => SynapseGene.FromPrototype(g))
                               .ToGeneList();

            return(new Genotype(neuronGenes, synapseGenes));
        }
Esempio n. 2
0
        public void TestNeuronGene()
        {
            var neuronGene = new NeuronGene(3, NeuronType.HiddenNeuron, 0.1f, 0.2f, 0.3f, 0.4f, 0.0f, 1.0f);

            Assert.AreEqual(neuronGene.InnovationId, 3);
            Assert.AreEqual(neuronGene.a, 0.1f);
            Assert.AreEqual(neuronGene.b, 0.2f);
            Assert.AreEqual(neuronGene.c, 0.3f);
            Assert.AreEqual(neuronGene.d, 0.4f);

            var neuronGeneRand = NeuronGene.FromPrototype(neuronGene);

            Assert.AreEqual(neuronGeneRand.InnovationId, 3);
            Assert.AreNotEqual(neuronGeneRand.a, neuronGene.a);
            Assert.AreNotEqual(neuronGeneRand.b, neuronGene.b);
            Assert.AreNotEqual(neuronGeneRand.c, neuronGene.c);
            Assert.AreNotEqual(neuronGeneRand.d, neuronGene.d);
        }