protected IBreeding <Synapse> NewBreeding(System.Random random) { ISelection <Synapse> selector; if (roulteWheelSelection) { selector = new RouletteWheelSelection <Synapse>(random, 2); } else { selector = new EliteSelection <Synapse>(2); } var crossover = new SinglePointCrossover <Synapse>(random); var mutator = new FixedNeuralNetMutation( random, geneMutChance, mutRange); return(new BreedingBase <Synapse>( poplLne - (int)(poplLne * reinsertPart), selector, crossover, mutator)); }
private IBreeding <Synapse> NewBreeding(System.Random random) { var selector = new EliteSelection <Synapse>(2); //var selector = new RouletteWheelSelection<Synapse>(random, 2); var crossover = new SinglePointCrossover <Synapse>(random); var mutator = new FixedNeuralNetMutation( random, geneMutChance, weightMutRange); return(new BreedingBase <Synapse>( poplLen - (int)(partToReinsert * poplLen), selector, crossover, mutator)); }