Hands-On Neuroevolution With Python

Neuroevolution is a form of artificial intelligence learning that uses evolutionary algorithms to simplify the process of solving complex tasks in domains such as games, robotics, and the simulation of natural processes. This book will give you comprehensive insights into essential neuroevolution concepts and equip you with the skills you need to apply neuroevolution-based algorithms to solve practical, real-world problems.


In this paper, we look at how Artificial Swarm Intelligence can evolve using evolutionary algorithms that try to minimize the sensory surprise of the system. We will show how to apply the free-energy principle, borrowed from statistical physics, to quantitatively describe the optimization method (sensory surprise minimization), which can be used to support lifelong learning.

Creation of Autonomous Artificial Intelligent Agents using Novelty Search method of fitness function optimization

The Novelty Search optimization seems like a natural fit for Neuro-evolution family of genetic algorithms producing elegant custom Artificial Neural Networks (ANNs). In the experiment we combined NS with Neuroevolution of Augmented Topologies algorithm which efficiently evolve ANNs through complexification by augmenting its topologies.


In this work we describe experiment of applying Novelty Search method of fitness function optimization combined with Neuro-Evolution of Augmenting Topologies (NEAT) algorithm to produce Autonomous Artificial Intelligent Agents capable to solve spatial navigation task in complex maze environment.

Self Replication to Preserve Innate Learned Structures in Artificial Neural Networks

It’s interesting to investigate combination of deep neuro-evolution and self-replication to evolve Artificial Neural Networks (ANNs) able to keep and complexify innate learned structures aimed to fulfill auxiliary tasks (orthogonal to the self-replication).

GO NEAT Novelty Search

This project provides GOLang implementation of Neuro-Evolution of Augmented Topologies (NEAT) algorithm which uses Novelty Search optimization to find a solution for deceptive tasks with strong local optima.