コード例 #1
0
        /// <summary>
        /// Adds new mutation operators to the metadata.
        /// </summary>
        /// <param name="mutationOptions">The mutation options.</param>
        /// <param name="weight">The operator weight.</param>
        internal override void AddMutationOperators(NeuralMutation mutationOptions, double weight = 1)
        {
            var mutations = GeneticFactory.ConstructNeuralMutationOperators(mutationOptions, weight);

            if (_mutations == null)
            {
                _mutations = mutations;
            }
            else
            {
                _mutations.AddRange(mutations);
            }

            _mutationF += ComputeWeightedSum(mutations);
        }
コード例 #2
0
 /// <summary>
 /// Gets the default mutation operators.
 /// </summary>
 /// <returns>The default mutation operators.</returns>
 protected override List <IMutation> GetDefaultMutations()
 {
     return(GeneticFactory.ConstructNeuralMutationOperators(DEFAULT_MUTATION_OPTIONS));
 }
コード例 #3
0
        private NeuralChromosome GetMutation(NeuralChromosome chromosome, NeuralMutation mutation)
        {
            var rator = GeneticFactory.ConstructNeuralMutationOperators(mutation).First();

            return(rator.Invoke(chromosome) as NeuralChromosome);
        }