/// <summary> /// Read json into a target instance of <see cref="NeatReproductionSexualSettings"/>. /// Settings that are present are read and set on the target settings object; all other settings /// remain unchanged on the target object. /// </summary> /// <param name="target">The target settings object to store the read values on.</param> /// <param name="jelem">The json element to read from.</param> public static void Read( NeatReproductionSexualSettings target, JsonElement jelem) { ReadDoubleOptional(jelem, "secondaryParentGeneProbability", x => target.SecondaryParentGeneProbability = x); target.Validate(); }
/// <summary> /// Construct a new instance. /// </summary> /// <param name="metaNeatGenome">NeatGenome metadata.</param> /// <param name="genomeBuilder">NeatGenome builder.</param> /// <param name="genomeIdSeq">Genome ID sequence; for obtaining new genome IDs.</param> /// <param name="generationSeq">Generation sequence; for obtaining the current generation number.</param> /// <param name="settings">Sexual reproduction settings.</param> public NeatReproductionSexual( MetaNeatGenome <T> metaNeatGenome, INeatGenomeBuilder <T> genomeBuilder, Int32Sequence genomeIdSeq, Int32Sequence generationSeq, NeatReproductionSexualSettings settings) { _strategy = new UniformCrossoverReproductionStrategy <T>( metaNeatGenome.IsAcyclic, settings.SecondaryParentGeneProbability, genomeBuilder, genomeIdSeq, generationSeq); }
public NeatReproductionSexual( MetaNeatGenome <T> metaNeatGenome, INeatGenomeBuilder <T> genomeBuilder, Int32Sequence genomeIdSeq, Int32Sequence innovationIdSeq, Int32Sequence generationSeq, AddedNodeBuffer addedNodeBuffer, NeatReproductionSexualSettings settings, IRandomSourceBuilder rngBuilder) { _settings = settings; _rng = rngBuilder.Create(); _strategy = new UniformCrossoverReproductionStrategy <T>( metaNeatGenome, genomeBuilder, genomeIdSeq, generationSeq, rngBuilder.Create()); }
/// <summary> /// Read json into a target instance of <see cref="NeatReproductionSexualSettings"/>. /// Settings that are present are read and set on the target settings object; all other settings /// remain unchanged on the target object. /// </summary> /// <param name="target">The target settings object to store the read values on.</param> /// <param name="jobj">The json object to read from.</param> public static void Read( NeatReproductionSexualSettings target, JObject jobj) { ReadDoubleOptional(jobj, "secondaryParentGeneProbability", x => target.SecondaryParentGeneProbability = x); }