Skip to content

Latest commit

 

History

History
4 lines (2 loc) · 810 Bytes

File metadata and controls

4 lines (2 loc) · 810 Bytes

cpp-Neat

This is an implementation of NEAT (Neuroevolution of augmenting topologies) which is a genetic machine learning algorithm. It works be creating really simple neural networks and then randomly mutating them and combining the most successful networks via mating to spread their mutations across a species. There are species that divide the population to make sure that no one type of network dominates. In my specific implementation networks are also trained using backpropagation to discover their true potential at the cost of time. However, this could easily be changed to strictly follow the pure form. The base case for testing is a continuous XOR which isn't very challenging. This is fully tested with limited multithreading. There is also an incredibly basic hpc branch that works with MPI.