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).


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.


The project had a goal to provide the working implementation of psycho-demographic profiling algorithm, which can be used to profile Internet users based on digital footprints they leave by using various Internet services. We provide full source code implementation in the R programming language of the algorithms described in the corresponding research paper.