Esempio n. 1
0
        /// <summary>
        /// Get a random activation function
        /// </summary>
        /// <returns>a Activation function</returns>
        public static ActivationEnumeration Random()
        {
            int count = GetAll <ActivationEnumeration>().Count();
            int i     = (int)(ThreadSafeRandom.Random() * count);

            return(GetAll <ActivationEnumeration>().ToList()[i]);
        }
Esempio n. 2
0
 ///<inheritdoc/>
 public void Mutate()
 {
     if (Constants.PROBABILITY_MUTATE_LINK > ThreadSafeRandom.Random())
     {
         MutateLink();
     }
     if (Constants.PROBABILITY_MUTATE_NODE > ThreadSafeRandom.Random())
     {
         MutateNode();
     }
     if (Constants.PROBABILITY_MUTATE_WEIGHT_RANDOM > ThreadSafeRandom.Random())
     {
         MutateWeightRandom();
     }
     if (Constants.PROBABILITY_MUTATE_WEIGHT_SHIFT > ThreadSafeRandom.Random())
     {
         MutateWeightShift();
     }
     if (Constants.PROBABILITY_MUTATE_TOGGLE_LINK > ThreadSafeRandom.Random())
     {
         MutateToggleLink();
     }
     if (Constants.PROBABILITY_MUTATE_ACTIVATION_RANDOM > ThreadSafeRandom.Random())
     {
         MutateActivationRandom();
     }
 }