Beispiel #1
0
        MutateBaby(CGenome baby)
        {
            if (baby.NumNeurons() < _params.MaxPermittedNeurons)
            {
                baby.AddNeuron(_params.ChanceAddNode, innovation,
                               _params.NumTriesToFindOldLink);
            }

            baby.AddLink(_params.ChanceAddLink,
                         _params.ChanceAddRecurrentLink, innovation,
                         _params.NumTriesToFindLoopedLink,
                         _params.NumAddLinkAttempts);

            baby.MutateWeights(_params.MutationRate,
                               _params.ChanceWeightReplaced,
                               _params.MaxWeightPerturbation);

            baby.MutateActivationResponse(_params.ActivationMutationRate,
                                          _params.MaxActivationPerturbation);
        }