Building on AlphaZero with Julia
2021-07-28 , Green

In this talk, we give an introduction to the AlphaZero algorithm and discuss some research challenges of using it beyond board games. In an effort to make this algorithm widely accessible to students and researchers, we introduce AlphaZero.jl. We show how this package leverages Julia's strengths to provide an implementation that is simple and flexible, while being up to two orders of magnitude faster than comparable Python implementations.


Deepmind's AlphaZero algorithm illustrates a general methodology of combining learning and search to solve complex combinatorial problems. Yet, despite its much-publicized success at the game of Go and a wide range of potential applications, few researchers have managed to build on it.

In an effort to make AlphaZero widely accessible to students and researchers, we introduce AlphaZero.jl. Leveraging Julia's unique strengths, this package provides an implementation of Deepmind's algorithm that is simple and flexible, while being up to two orders of magnitude faster than comparable Python implementations.

In this talk, we give a short lecture on the AlphaZero algorithm and discuss some research challenges of using it to solve problems beyond board games. Then, we introduce our AlphaZero.jl package. We show how Julia enables a unique combination of simplicity, flexibility and speed, while also identifying areas in which improvements to the Julia ecosystem could lead to further performance gains. We conclude the talk with more general thoughts on how we believe Julia can have a transformative impact on reinforcement-learning research.

Jonathan Laurent is a PhD student in Computer Science at Carnegie Mellon University. His current research interests lie at the intersection of machine learning and automated theorem proving.