Closed seallard closed 4 years ago
I'm not sure if this is a bug or not. It is obviously a problem that the code gets stuck in the update method. But why should any restrictions be imposed whatsoever on which links that are allowed to be disabled? If a mutation occurs that damages the phenotype to the extent that it can not provide an output, it probably will be deleted from the population anyway over time (since NEAT uses elitism).
Maybe NEAT discovers that some of the inputs are not required to solve the problem. Then it should be allowed to disable those links. It does not make sense to try to sensor the kinds of mutations that can occur, it is the job of the genetic algorithm to filter bad phenotypes.
The input nodes become disconnected from the output nodes: Disabling crossover seems to cause the bug to not appear. Disabling the link toggle mutation does not help.