示例#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));
        }
示例#2
0
        public void TestSynapseGene()
        {
            var synapseGene = new SynapseGene(3, 0, 1, true, 0.5f);

            Assert.AreEqual(synapseGene.InnovationId, 3);
            Assert.AreEqual(synapseGene.fromNeuronId, 0);
            Assert.AreEqual(synapseGene.toNeuronId, 1);
            Assert.AreEqual(synapseGene.isEnabled, true);
            Assert.AreEqual(synapseGene.weight, 0.5f);

            var synapseGeneRand = SynapseGene.FromPrototype(synapseGene);

            Assert.AreEqual(synapseGeneRand.InnovationId, synapseGene.InnovationId);
            Assert.AreEqual(synapseGeneRand.fromNeuronId, synapseGene.fromNeuronId);
            Assert.AreEqual(synapseGeneRand.toNeuronId, synapseGene.toNeuronId);
            Assert.AreEqual(synapseGeneRand.isEnabled, synapseGene.isEnabled);
            Assert.AreNotEqual(synapseGeneRand.weight, synapseGene.weight);
        }