Modular Multiobjective NEAT is a software framework in Java that builds on the basic principles of Neuro-Evolution of Augmenting Topologies
. MM-NEAT uses Non-Dominated Sorting Genetic Algorithm II to carry out multiobjective evolution, and supports networks with multiple output modules. Evolved agents can use different modules for different behaviors: Human-specified task divisions can be defined using the Multitask Learning approach, or the task division can be learned using preference neurons. Evolution can also learn how many modules to use with various forms of Module Mutation. Finally, multiobjective evolution can be improved using Targeting Unachieved Goals (TUG), a fitness-based shaping technique that turns objectives off when they are not needed. For more information on these techniques, see the associated publications.
The primary domain in which these methods were evaluated is Ms. Pac-Man
. Batch files are included to recreate all experiments from Jacob Schrum's
2014 dissertation. Some RL-Glue domains are also included, as well as a simplified version of BREVE Monsters
, which is a precursor to MM-NEAT.