/// <summary> /// Copy constructor. /// </summary> public ConnectionMutationInfo(ConnectionMutationInfo copyFrom) { _activationProbability = copyFrom._activationProbability; _perturbanceType = copyFrom._perturbanceType; _selectionType = copyFrom._selectionType; _selectionProportion = copyFrom._selectionProportion; _selectionQuantity = copyFrom._selectionQuantity; _perturbanceMagnitude = copyFrom._perturbanceMagnitude; _sigma = copyFrom._sigma; }
/// <summary> /// Construct with the provided mutation type and supporting parameters. /// </summary> /// <param name="activationProbability">The probability that this type of mutation will be chosen</param> /// <param name="perturbanceType">The type of weight perturbance the info object represents.</param> /// <param name="selectionType">The type of connection subset selection the info object represents.</param> /// <param name="selectionProportion">For ConnectionSelectionType.Proportional this gives the proportion of connections to select.</param> /// <param name="selectionQuantity">For ConnectionSelectionType.FixedQuantity this gives the number of connections to select.</param> /// <param name="perturbanceMagnitude">For ConnectionPerturbanceType.JiggleEven this gives the magnitude of the extents of the /// even distribution used for generating jiggle weight deltas.</param> /// <param name="sigma">For For ConnectionPerturbanceType.JiggleGaussian this specifies the sigma to use for /// the gaussian distribution used for generating jiggle weight deltas.</param> public ConnectionMutationInfo(double activationProbability, ConnectionPerturbanceType perturbanceType, ConnectionSelectionType selectionType, double selectionProportion, int selectionQuantity, double perturbanceMagnitude, double sigma) { _activationProbability = activationProbability; _perturbanceType = perturbanceType; _selectionType = selectionType; _selectionProportion = selectionProportion; _selectionQuantity = selectionQuantity; _perturbanceMagnitude = perturbanceMagnitude; _sigma = sigma; }