Software

Note to HyperNEAT Users: We now host a HyperNEAT Users Page that provides general information on HyperNEAT.


Software is listed in reverse-chronological order of date of first release.  Some software may have been updated more recently.


2013

Indirectly Encoded Sodarace (IESoR) in Javascript/C# (Archive)

By Paul Szerlip ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

Selection of multiple ambulating Sodaracers

This package contains the code for interacting with the Indirectly Encoded SodaRace (IESoR) environment. The code includes two components, the Sodarace-like environment implemented in Javascript, and a C# HyperNEAT implementation used for exploring different morphologies using evolution. The morphology experiments are described in detail in the ECAL 2013 paper, Indirectly Encoded Sodarace for Artificial Life

In addition, you can view and interact with the results of the paper at http://eplex.cs.ucf.edu/ecal13/demo/PCA.html (Note: the code provided in this package allows the user to create their own similar interactive demo). 


Quadruped Environment C#

By Gregory Morse ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

Quadruped Environment

This package contains a C# implementation for a quadruped environment using the ODE physics engine.  It also contains experiments implementing three different HyperNEAT-based neural architectures for control of the quadruped.  One of these experiments is based on a new type of neuron called a Single-Unit Pattern Generator.  All experiments are described in detail in the GECCO 2013 paper, Single-Unit Pattern Generators for Quadruped Locomotion.


2012

ES-HyperNEAT C#

By Sebastian Risi ( This email address is being protected from spambots. You need JavaScript enabled to view it.  )

This is a public implementation of evolvable-substrate HyperNEAT in C#. It is build upon the HyperSharpNEAT-Compatible Multiagent Simulator and Experimental Platform. ES-HyperNEAT is an extension of the original HyperNEAT method for evolving large-scale artificial neural networks. While in the original HyperNEAT the human user had to decide the placement and number of hidden neurons, ES-HyperNEAT can determine the proper density and position of hidden neurons entirely on its own while still preserving the advances introduced by the original HyperNEAT. This package includes an implementation of the evolvable-substrate experiment described in the GECCO 2011 paper, Enhancing ES-HyperNEAT to Evolve More Complex Neural Networks. However, it is desgined to allow easy implementation of other agent-based experiments using HyperNEAT or ES-HyperNEAT. The software includes a GUI and a CPPN and substrate visualization tool.


2011 

MaestroGenesis (version 1.0)

MaestroGenesis Screenshot

MaestroGenesis allows you to generate musical accompaniment for existing MIDI compositions through a breeding process similar to animal breeding.  The result is that amateur musicians and  non-musicians can create accompaniment without any musical expertise.  The algorithm inside  MaestroGenesis is called Functional Scaffolding for Musical Composition (FSMC), which builds on a prior approach called NEAT Drummer.


Retina Problem with HyperNEAT C#

By Phillip Verbancsics ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

This package contains a C# implementation of the Retina Left and Right problem (introduced by Clune et al. in Investigating Whether HyperNEAT Produces Modular Neural Networks), a HyperNEAT in C# library that includes an implementation of the Link Expression Output (LEO), and a visualizer for the Retina Left and Right solutions produced by HyperNEAT. The experiment implemented in this package is from the GECCO 2011 paper: Constraining Connectivity to Encourage Modularity in HyperNEAT. (Released 4/2/11)  


OctopusArm Simulator and Experimental Platform (version 1.0)

By Brian G. Woolley  ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

This free software comes with no warranty. You are welcome to redistribute it under the conditions of the GNU General Public License. Please report bugs to This email address is being protected from spambots. You need JavaScript enabled to view it. .

This package extends the ANJI neuroevolution platform to support the evolution of connective CPPNs that describe the connectivity pattern of the scaleable octopus arm controller ANN (see published results). However, the octopusArm simulation package can operate independently of the ANJI package and supports creating other (i.e. non-HyperNEAT) controllers provided that they implement the Agent interface. To familiarize yourself with the simulation environment, begin by running the keyboardCtrl to see how muscle create the kinematic effects of the arm.

(Released 3/6/2011)


2010

HyperSharpNEAT-Compatible Multiagent Simulator and Experimental Platform Now Including the Evolvable Substrate (Version 1.0)

By David D'Ambrosio, Joel Lehman, and Sebastian Risi ( This email address is being protected from spambots. You need JavaScript enabled to view it. , This email address is being protected from spambots. You need JavaScript enabled to view it. , This email address is being protected from spambots. You need JavaScript enabled to view it. )

Please report bugs to This email address is being protected from spambots. You need JavaScript enabled to view it. .

simulator_preview

This package is designed to be an extensible single- and multiagent experimental platform.  It contains an updated implemenation of HyperSharpNEAT that is a modification of the SharpNEAT package by Colin Green, which is available at http://sharpneat.sourceforge.net.  The package contains an implementation of the room-clearing experiments described in the AAMAS 2010 paper, Evolving Policy Geometry for Scalable Multiagent Learning and an implementation of the evolvable-substrate experiment described in the GECCO 2011 paper, Enhancing ES-HyperNEAT to Evolve More Complex Neural Networks. However, it is desgined to allow easy implementation of other agent-based experiments using HyperNEAT or multiagent HyperNEAT. The software includes a GUI and a CPPN and substrate visualization tool.

Version 0.5 (9/9/10): Initial release

Version 1.0 (07/11/11): Now including the evolvable-substrate


Keepaway Server and HyperNEAT C#

By Phillip Verbancsics ( This email address is being protected from spambots. You need JavaScript enabled to view it.  )

Keepaway Soccer

This package contains a fast C# reimplementation of the RoboCup Keepaway server (original is at www.sserver.sourceforge.net/) and also a unique implementation of HyperNEAT in C# (i.e. it is different from David D'Ambrosio's HyperSharpNEAT and different from Colin Green's SHarpNEAT-HyperNEAT). To avoid confusion, this implementation can be called, "Keepaway HyperNEAT C#." The experiment implemented in this package is from the JMLR paper: Evolving Static Representations for Task Transfer. (Released 6/29/10)


2009

Galactic Arms Race

GAR Image

Galactic Arms Race (GAR) is the first video game to generate its own content.  Every particle weapon in GAR, like the one above, is evolved by the game itself.  Thus GAR is in effect a major experiment in automatic content generation in games.  Now available! (Released 6/2/09) Update 11/3/10: GAR 1.2 is currently in production and will be released in the near future.


2008

Novelty Search C++ 1.0

By Joel Lehman ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

This is a public implementation of the novelty search algorithm in C++. Novelty search offers a new perspective on search, harnessing the power of open-ended evolution to solve real world problems. This package includes the maze navigation domain described in this paper.

For questions or suggestions, please email This email address is being protected from spambots. You need JavaScript enabled to view it. .  


2007

Dance Evolution (links to project page)

dance evolution pic

Interactively evolve dancers to your favorite songs: Dancers in Dance Evolution are controlled by artificial neural networks that evolve interactively with NEAT.  Music from any MIDI song can be input directly into the dancers' neural networks, allowing them to "hear" the rhythm and respond by making up their own moves accordingly.  Dance Evolution is the winner of the Best Student Video Award at the AAAI-07 AI Video Competion.



picbreeder logo

Picbreeder is a massive online experiment in collaborative interactive evolution.  More than a software package, Picbreeder is actually an online service that allows you to evolve images and branch from other users' creations.  You can produce high quality, high resolution art without any artistic talent or experience.


HyperSharpNEAT 2.1

By David B. D'Ambrosio ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

This package is an update to HyperSharpNEAT 1.0 and is another implementation of the HyperNEAT algorithm in C#.  It is a modification of the SharpNEAT package by Colin Green which is available at http://sharpneat.sourceforge.net/.   This package includes the multiagent predator prey experiment described in this paper.  Improvements over the original version included a multithreading support, the new experiment, and a GUI.

Version 1.0 contains the food gathering experiment from this paper.

For questions, comments, or suggestions, please email This email address is being protected from spambots. You need JavaScript enabled to view it. .


HyperNEAT 4.0 C++ Download (Windows & Linux)

By Jason Gauci ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

This HyperNEAT package contains source code and executables for the HyperNEAT method for evolving large-scale neural networks with regularities and symmetries that exploit task geometry.  This package specifically includes the simple visual discrimination experiment described in this paper, in which working neural networks with millions of connections were produced.  The package also comes with several sample networks (generated by connective Compositional Pattern Producing Networks, i.e. connective CPPNs) included from that experiment  We encourage you to build new experiments with HyperNEAT.

Please note, HyperNEAT version 2.4 and older do not include Tinyxmldll, which is available here

Version 2.0 (April 2008) contains the checkers experiments mentioned in this paper .

Version 2.2 (July 2008) includes a way to disable the GUI interface when building.

Version 2.3 (August 2008) Has a fix to be backwards compatible with the experiments from version 1.0

Version 2.4 (September 2008) includes more bug fixes and performance enhancements.

Version 2.6 (November 2008) has a fix for crossover

Version 3.0 (March 2010) includes a manual, bug fixes, checkers experiments, and a 3d substrate visualization tool.

Version 4.0 (August 2011) includes bug fixes and significant speedup.  Here are some notes on compiling the new version.

Additional information will be available at Jason Gauci's HyperNEAT support site.

For questions, comments, or suggestions, please email This email address is being protected from spambots. You need JavaScript enabled to view it. .    


NEAT Particles 2.0 

By Erin Hastings ( This email address is being protected from spambots. You need JavaScript enabled to view it. )

NEAT Particles is an interactive content generation tool that uses interactive evolution of NEAT neural networks to evolve a wide variety of particle systems for video games or other media.  It is a demonstration of the potential for evolution to drive practical content generation for real-world applications.

A complete description of this work and its results is available in this publication

For questions, comments, or suggestions, please email This email address is being protected from spambots. You need JavaScript enabled to view it. .