This repository contains the intelligent agent for the Atari game Breakout, presented at Tedx IST Alamdeda 2018 in Lisbon, Portugal. In my talk, I explained the analogy between natural evolution and simulated evolution. I illustrated, how humanity has bred wolves into dogs and how we can use the same principles in computer science to develop artificial intelligence that excels at playing video games from the 1970s.
If you want to run the code on your personal machine, please follow these instructions.
The backbone of the program in the OpenAI Gym. Please follow the official installation guidelines. If you work on a Windows machine, please follow the instruction here.
The underlying algorithm is Neuroevolution of Augmenting Topologies. We use the Python implementation of this algorithm. The installation guidelines can be found here.
Additional third party dependencies are numpy, matplotlib and tqdm. They can be installed as follows, using Anaconda:
conda install numpy
conda install matplotlib
pip install tqdm
The evolve.py module in the src folder is the central module for this program. From there, you can start new runs and continue from an existing checkpoint.
If you want to start with a new run, call the start_run() function. This creates a new NEAT population, based on the defined configuration.
If you want to continue from an existing checkpoint, call the continue_run(filename) function. This continues an existing run from a checkpoint file, described in filename.
- Jan-Benedikt Jagusch - jbj2505
This project is licensed under the MIT License - see the LICENSE.md file for details