/// <summary> /// Constructs with the provided IActivationFunctionLibrary, NeatGenomeParameters and ID generators. /// </summary> public RbfGenomeFactory(int inputNeuronCount, int outputNeuronCount, IActivationFunctionLibrary activationFnLibrary, NeatGenomeParameters neatGenomeParams, UInt32IdGenerator genomeIdGenerator, UInt32IdGenerator innovationIdGenerator) : base(inputNeuronCount, outputNeuronCount, activationFnLibrary, neatGenomeParams, genomeIdGenerator, innovationIdGenerator) { }
/// <summary> /// Constructs a NeatGenomeFactory with the provided NeatGenomeParameters and ID generators initialized to zero. /// </summary> public NeatGenomeFactory(int inputNeuronCount, int outputNeuronCount, NeatGenomeParameters neatGenomeParams) { _inputNeuronCount = inputNeuronCount; _outputNeuronCount = outputNeuronCount; _activationFnLibrary = DefaultActivationFunctionLibrary.CreateLibraryNeat(neatGenomeParams.ActivationFn); _neatGenomeParamsCurrent = neatGenomeParams; _neatGenomeParamsComplexifying = _neatGenomeParamsCurrent; _neatGenomeParamsSimplifying = NeatGenomeParameters.CreateSimplifyingParameters(_neatGenomeParamsComplexifying); _genomeIdGenerator = new UInt32IdGenerator(); _innovationIdGenerator = new UInt32IdGenerator(); }
/// <summary> /// Constructs with the provided IActivationFunctionLibrary, NeatGenomeParameters and /// ID Generators. /// This overload required for CPPN support. /// </summary> public NeatGenomeFactory(int inputNeuronCount, int outputNeuronCount, IActivationFunctionLibrary activationFnLibrary, NeatGenomeParameters neatGenomeParams, UInt32IdGenerator genomeIdGenerator, UInt32IdGenerator innovationIdGenerator) { _inputNeuronCount = inputNeuronCount; _outputNeuronCount = outputNeuronCount; _activationFnLibrary = activationFnLibrary; _neatGenomeParamsCurrent = neatGenomeParams; _neatGenomeParamsComplexifying = _neatGenomeParamsCurrent; _neatGenomeParamsSimplifying = NeatGenomeParameters.CreateSimplifyingParameters(_neatGenomeParamsComplexifying); _genomeIdGenerator = genomeIdGenerator; _innovationIdGenerator = innovationIdGenerator; }
/// <summary> /// Construct by assigning new IDs gemnerated by the provided UInt32IdGenerator. /// </summary> public AddedNeuronGeneStruct(UInt32IdGenerator idGenerator) { _addedNeuronId = idGenerator.NextId; _addedInputConnectionId = idGenerator.NextId; _addedOutputConnectionId = idGenerator.NextId; }