Return to Dr. Jacob Schrum's Homepage

Modular Multiobjective (Hyper) NEAT Source Code

Modular Multiobjective (Hyper) NEAT, or simply MM-NEAT, is a Java-based framework that extends NEAT to use the multiobjective optimization algorithm Non-dominated Sorting Genetic Algorithm II (NSGA-II) to evolve agents that effectively possess multiple brains. Different brain modules can be used in different situations, making it easy to evolve multimodal behavior. This project began as part of Dr. Jacob Schrum's dissertation, put has since been expanded upon to include an implementation of HyperNEAT, and also support several forms of interactive evolution. MM-NEAT also has many interesting domains integrated into the code: Ms. Pac-Man, Tetris, a Predator/Prey grid world, and Doom to name a few. Support for Latent Variable Evolution to generate video game levels with a Generative Adversarial Network has also recently been added. The Java source code is available via GitHub here. This version of the code uses Maven for dependency management, and continues to be developed. However, because Maven is sometimes intimidating to those unfamiliar with it, several spin-offs of the main MM-NEAT repository have been made, such as GameGAN, which is for latent variable evolution of video game levels, Quantum Zentanglement, which combines Picbreeder and WaveFunctionCollapse to generate Zentangles, and CPPN Art Evolution, which has a variety of systems for interactive art generation via Compositional Pattern Producing Networks.

Associated Movies and Images

Associated Publications


Peer-Reviewed Journal Articles

Peer-Reviewed Conference Publications

Extended Abstracts

Technical Reports

Undergraduate Poster Presentations Supervised


Last Updated: 9/22/2020