I have recently tried to make my own implementation of NEAT (Neuroevolution of Augmenting Topologies), and it seems to be getting stuck in some sort of local maximum when solving the XOR problem.
My implementation is able to add hidden nodes and connections as expected by the NEAT algorithm, and it is possible that my algorithm can solve it, as it is able to solve it on rare occasions after hundreds of generations.
All of my code for this project can be found at https://github.com/Maxwell-Hunt/NEAT, and the original paper on this algorithm can be found at http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf.
When I try to make it solve XOR, it usually is able to get the correct results: [0,0] -> [0], [0,1] -> [1], [1,0] -> [1], but it also gets that [1,1] -> 1 which is incorrect.