schrum2 / MM-NEATv2

MM-NEAT version 2.0 is no longer supported. Please get MM-NEAT 3+ from https://github.com/schrum2/MM-NEAT
Other
11 stars 5 forks source link

Grow substrate network architecture #458

Open schrum2 opened 6 years ago

schrum2 commented 6 years ago

This is very speculative, but after completing #457 perhaps I can come up with a way to grow the architecture during evolution. The result could be something reminiscent of cascade correlation training, in which a new processing layer is inserted between the previous highest processing layer and the outputs, while still maintaining all previously existing connections. In the context of evolution, it seems like such a change could greatly hurt a genotype, so I'm not sure if this should be a probabilistic mutation operation or a global change to all members of the population. In light of new ways of creating the structure of the substrate network ( #413 ) that depend on different numbers of CPPN outputs, it may not even make sense to treat this as a mutation (since the CPPN may not need to change at all). However, if the old way of creating the substrate from the CPPN is used, then the CPPN would need to change, and these changes would be similar to module mutation.