SharpNEAT - Evolution of Neural Networks. A C# .NET Framework.
For details see: SharpNEAT 4.1.0 Release Notes
This release make one small change. The connection weight random deltas are sampled from a gaussian distribution; this changes changes the sigma of that distribution from 0.1 to 0.01. This matches the behaviour of SharpNEAT 2.x.
The intention for the SharpNEAT 4.0 release was to keep parameters such as these identical to SharpNEAT 2.x, so that the core neuroevolution algorithm is as close as possible between the two versions, despite the big architectural overhaul that was made as part of the 4.0 release. This allows us to compare the performance/efficacy of 2.x and 4.x, to give some assurance that there isn't some bug/flaw in the new 4.0 code base that impacts performance.
Future releases can then be free to explore tuning of hyper parameters and such, once we have established that 4.x performs at least as well as 2.x.
For details see: SharpNEAT 4.0.0 Release Notes
Major rewrite/refactor performed over a period of about 6 years (between 2017 and 2022).
The target platform is now .NET [Core] 7. Previously SharpNEAT was a .NET Framework project, with some parts later targeting .NET Standard. All code in this project now targets .NET 7.
This release contains significant performance improvements, through use of Span<T>, ArrayPool, Vector<T>, and general improvements, e.g. to reduce memory allocations and Garbage Collection overhead.
Improved / cleaner API, code structure, and just generally provides a good foundation for future NEAT research.
v2.4.4
Nuget updates
Prey capture task
Code quality
For details see: SharpNEAT 2.4.3 Release Notes
For details see: SharpNEAT 2.4.2 Release Notes
For details see: SharpNEAT 2.4.1 Release Notes
For details see: SharpNEAT 2.4.0 Release Notes
No major changes. This is a marker release to be used to record and report efficacy sampler results against with the gcServer setting enabled which appears to result in a significant performance improvement. Note that the main SharpNEATGUI assemble/project was already set to use gcServer mode, therefore the main GUI app is not affected by that change.
Added OutputSignalArray and OutputMappingSignalArray. These ensure that the neural net output values are always in the interval [0,1] even if the activation output interval is beyond that range.
Activation functions review and clean-up.
Efficacy sampler: Enabled gcServer setting; this seems to result in a significant performance improvement; it may also prevent a sporadic ExecutionEngine exception.
Fixes to innovation ID re-use. Performance improvement in k-means speciation.
See SharpNEAT 2.3.0 for details.