protected Genometype ChangeWeightInGenome(Genometype genome, bool fullyRandom = false, float weightRange = 1f)
        {
            Genometype newGenome = genome.Clone();

            for (int i = 0; i < newGenome.connectionGenes.Length; i++)
            {
                if (fullyRandom)
                {
                    newGenome.connectionGenes[i].weight = Random.Range(-weightRange, weightRange);
                }
                else
                {
                    newGenome.connectionGenes[i].weight += Random.Range(-weightRange, weightRange);
                }
            }

            return(newGenome);
        }
Пример #2
0
 public void Reset()
 {
     m_genome = genome.Clone();
     // for (int i = 0; i < m_genome.connectionGenes.Length; i++)
     // m_genome.nodeGenes[i].value = 0;
 }