sharpneat

sharpneat

SharpNEAT - Evolution of Neural Networks. A C# .NET Framework.

Stars: 395

Visit
 screenshot

SharpNEAT is a complete implementation of NEAT written in C# and targeting .NET 9. It provides an implementation of an Evolutionary Algorithm (EA) with the specific goal of evolving a population of neural networks towards solving some goal problem task. The framework facilitates research into evolutionary computation and specifically evolution of neural networks, allowing for modular experimentation with genetic coding and evolutionary algorithms.

README:

SharpNEAT - Evolution of Neural Networks

NEAT is an evolutionary algorithm devised by Kenneth O. Stanley.

SharpNEAT is a full implementation of NEAT written in C# and targeting .NET 9.

What is SharpNEAT?

SharpNEAT provides an implementation of an Evolutionary Algorithm (EA) that provides the ability to evolve a population of neural networks towards solving some problem task (also known as an objective function).

The EA applies evolutionary mechanisms of mutation, recombination, and selection to search for neural networks that perform well at a given problem task. Each neural network is evaluated and assigned a fitness score representing the quality of its solution.

Some example problem tasks:

  • Controlling the limbs of a simple biped or quadruped to facilitate walking.
  • Controlling a rocket to maintain vertical flight.
  • Designing a neural network to implement digital logic, such as a multiplexer.

A distinctive feature of NEAT is its ability to evolve both the structure (the set of network nodes and how they are connected) and the connection weights of neural networks. This contrasts with approaches like backpropagation that optimize connection weights for a fixed network structure.

SharpNEAT serves as a framework or 'kit of parts' for conducting research in evolutionary computation, particularly for evolving neural networks. It includes example tasks that demonstrate how to assemble a complete, functioning evolutionary algorithm.

Key Design Principles

SharpNEAT is modular by design. This modularity allows for experimentation with alternative genetic encodings, or entirely different evolutionary algorithms. The architecture emphasizes key abstractions such as:

  • Genome – Genetic representation/encoding.
  • Evolutionary Algorithm – Mutation, recombination, and selection strategies.

This design promotes experimentation and customization, facilitating research and development in evolutionary computation.

The motivation behind SharpNEAT stems from a broader interest in biological evolution and the exploration of neuro-evolution, aiming to understand the types and complexity of problems that can be addressed through this approach.

More Info / Links

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for sharpneat

Similar Open Source Tools

For similar tasks

For similar jobs