Run AwAI: StarCraft II Adversary Avoidance Using Neural Networks and Genetic Algorithms - June 2018
RunAwAI was the capstone project for our undergraduate machine learning course. The project was led by myself and Alex Mirov, with additional engineering team members Simon Wu and Xin Jin.
[ GitHub Project Page ], [ PDF Report ]
Abstract: This project explores the integration of a neural network and an evolutionary
genetic algorithm with the Star Craft II API. The goal of this project was to
successfully control a StarCraft II agent via a neural network, and maximize
its fitness through a genetic evolutionary algorithm. The agent uses the PySC2
API to connect with StarCraft II, and a neural network to control its
actions. The fitness function is defined as the survival duration for an agent
in a sandbox environment with hostile units, where surviving for longer is
better. The action space of the agent was limited to movement in order to
achieve a realistic scope for the project. The fitness of an individual is
evaluated by running multiple simulation episodes and averaging the
performance (survival time) for each episode. The neural network uses an
explicit topologically unrestricted implementation. This implementation
provides high degrees of freedom while minimizing the network size. The genetic
algorithm uses tournament selection to select the most fit neural network
(individuals) to breed. Each successive generation of neural networks is
slightly better at surviving in the hostile sandbox environment. After 50
iterative generations, our resulting neural network had increased the average
survival time of an agent by 288%.
Keywords: Machine Learning, Genetic Algorithms, Neural Networks,
StarCraftII.
Figures
References
[1] Kenneth A. De Jong. Evolutionary Computation: A Unified Approach. MIT Press, Feb 3, 2006.
[2] Google DeepMind pysc2. https://github.com/deepmind/pysc2.
[3] Andrew Hunt, David Thomas. The Pragmatic Programmer: From Journeyman to Master
Addison-Wesley (Reading, Mass., 2000)
[4] Joel Lehman et al. The Surprising Creativity of Digital Evolution: A Collection of
Anecdotes from the Evolutionary Computation and Artificial Life Research Communities.
https://arxiv.org/pdf/1803.03453.pdf.
[5] Stuart Russell, Peter Norvig. Artificial Intelligence: A Modern Approach. Upper Saddle River
(New Jersey, 1995).
[6] Kenneth O. Stanley, Risto Miikkulainen. Evolving Neural Networks through Augmenting Topologies. The MIT Press Journals.