Download at GitHub
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.
Version 2.0+: June 2016
Project moves to GitHub at this address
Project is active and ongoing. Some recent additions include:
- Evolution in Tetris via RL-Glue
- Many developments in a toroidal predator/prey grid-world
- Re-implementation of the Picbreeder system
- Beginnings of rudimentary support for VizDoom (work ongoing)
Version 1.1: October 2015
Code for a new version of Ms. Pac-Man featuring isolated tasks is added,
as well as batch files that launch experiments in this domain.
Version 1.0: May 2014
Initial release containing code from Jacob Schrum's 2014 dissertation.