CreateRouletteWheelLayout_NonDestructive() private method

private CreateRouletteWheelLayout_NonDestructive ( ) : DiscreteDistribution
return Redzen.Numerics.DiscreteDistribution
示例#1
0
        /// <summary>
        /// Creates parameters suitable for use during the simplifying mode of a NEAT search. Addition
        /// mutations are disabled, deletion and weight mutation rates are increased.
        /// </summary>
        public static NeatGenomeParameters CreateSimplifyingParameters(NeatGenomeParameters copyFrom)
        {
            NeatGenomeParameters newParams = new NeatGenomeParameters(copyFrom);

            newParams._connectionWeightMutationProbability = 0.6;
            newParams._addNodeMutationProbability          = 0.0;
            newParams._addConnectionMutationProbability    = 0.0;
            newParams._nodeAuxStateMutationProbability     = copyFrom._nodeAuxStateMutationProbability;
            newParams._deleteConnectionMutationProbability = 0.4;
            newParams._rouletteWheelLayout = newParams.CreateRouletteWheelLayout();
            newParams._rouletteWheelLayoutNonDestructive = newParams.CreateRouletteWheelLayout_NonDestructive();

            newParams._connectionMutationInfoList = new ConnectionMutationInfoList(copyFrom._connectionMutationInfoList);
            newParams._connectionMutationInfoList.Initialize();
            return(newParams);
        }
示例#2
0
        /// <summary>
        /// Creates parameters suitable for use during the simplifying mode of a NEAT search. Addition
        /// mutations are disabled, deletion and weight mutation rates are increased.
        /// </summary>
        public static NeatGenomeParameters CreateSimplifyingParameters(NeatGenomeParameters copyFrom)
        {
            NeatGenomeParameters newParams = new NeatGenomeParameters(copyFrom);

            newParams._connectionWeightMutationProbability = 0.6;
            newParams._addNodeMutationProbability          = 0.0;
            newParams._addConnectionMutationProbability    = 0.0;
            // TODO: better method for automatically generating simplifying parameters?
            newParams._nodeAuxStateMutationProbability     = copyFrom._nodeAuxStateMutationProbability;
            newParams._deleteConnectionMutationProbability = 0.4;
            newParams._rouletteWheelLayout = newParams.CreateRouletteWheelLayout();
            newParams._rouletteWheelLayoutNonDestructive = newParams.CreateRouletteWheelLayout_NonDestructive();

            newParams._connectionMutationInfoList = new ConnectionMutationInfoList(copyFrom._connectionMutationInfoList);

            // SharpNEAT version 1.x used this scheme.
            // newParams._connectionMutationInfoList.Add(new ConnectionMutationInfo(0.333, ConnectionPerturbanceType.JiggleUniform, ConnectionSelectionType.Proportional, 0.3, 0, 0.05, 0.0));
            // newParams._connectionMutationInfoList.Add(new ConnectionMutationInfo(0.333, ConnectionPerturbanceType.JiggleUniform, ConnectionSelectionType.Proportional, 0.1, 0, 0.05, 0.0));
            // newParams._connectionMutationInfoList.Add(new ConnectionMutationInfo(0.333, ConnectionPerturbanceType.JiggleUniform, ConnectionSelectionType.Proportional, 0.01, 0, 0.05, 0.0));
            newParams._connectionMutationInfoList.Initialize();
            return(newParams);
        }
        /// <summary>
        /// Creates parameters suitable for use during the simplifying mode of a NEAT search. Addition 
        /// mutations are disabled, deletion and weight mutation rates are increased.
        /// </summary>
        public static NeatGenomeParameters CreateSimplifyingParameters(NeatGenomeParameters copyFrom)
        {
            NeatGenomeParameters newParams = new NeatGenomeParameters(copyFrom);
            newParams._connectionWeightMutationProbability = 0.6;
            newParams._addNodeMutationProbability = 0.0;
            newParams._addConnectionMutationProbability = 0.0;
            // TODO: better method for automatically generating simplifying parameters?
            newParams._nodeAuxStateMutationProbability = copyFrom._nodeAuxStateMutationProbability;
            newParams._deleteConnectionMutationProbability = 0.4;
            newParams._rouletteWheelLayout = newParams.CreateRouletteWheelLayout();
            newParams._rouletteWheelLayoutNonDestructive = newParams.CreateRouletteWheelLayout_NonDestructive();

            newParams._connectionMutationInfoList = new ConnectionMutationInfoList(copyFrom._connectionMutationInfoList);

            // SharpNEAT version 1.x used this scheme.
            // newParams._connectionMutationInfoList.Add(new ConnectionMutationInfo(0.333, ConnectionPerturbanceType.JiggleUniform, ConnectionSelectionType.Proportional, 0.3, 0, 0.05, 0.0));
            // newParams._connectionMutationInfoList.Add(new ConnectionMutationInfo(0.333, ConnectionPerturbanceType.JiggleUniform, ConnectionSelectionType.Proportional, 0.1, 0, 0.05, 0.0));
            // newParams._connectionMutationInfoList.Add(new ConnectionMutationInfo(0.333, ConnectionPerturbanceType.JiggleUniform, ConnectionSelectionType.Proportional, 0.01, 0, 0.05, 0.0));
            newParams._connectionMutationInfoList.Initialize();
            return newParams;
        }