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