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.


The neuroevolution methods of ANN training allows us to start with a very simple synthetic organism and evolve it to produce a unit of intelligence that represents an approximation of a complex real-world concept. The training accomplished by gradual complexification of the topology of neural networks that are encoded into the genome of a synthetic intelligence unit. There can be several ANNs joined into the complex hierarchy of modules.