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)); }
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); }