PC3 – The AI Go Tournament

Lecturer: Benjamin Paaßen
Fields: Artificial Intelligence/Machine Learning


Go is an ancient and deceptively simple game: Two players alternate at placing a stone somewhere on a 19 x 19 grid. Whenever a group of opposing stones is surrounded, it is removed. And whoever has more stones left at the end of the game wins (in simplified Chinese rules). But despite its simplicity, Go is exceptionally hard to master. Any move can have highly chaotic repercussions a hundred moves later.
As such, it was celebrated as a breakthrough when Google DeepMind released AlphaGo, an AI that could win at the game of Go four out of five games against the world champion Lee Sedol.

In this course, we will attempt a much more modest goal: Programming an AI which learns to play the game of Go on a 5 x 5 board, where games are short and the chaos more tame. In the introductory session, we will consider the problem in more detail and get a small reinforcement learning prior. Then, each participant (you can also form groups) starts to program their AI. We will check in again one week after start and at the deadline after two weeks. Then, all AIs need to be submitted as Python programs. The submitted AIs will compete against each other in a tournament and the results of the tournament will be announced at the last evening of IK.

There will be a limit of 30 participants for this course to keep things manageable. A list for registration will be made available at the conference.

Link to the source code


  • Wikipedia (2021). Basic rules of go. https://en.wikipedia.org/wiki/Go_(game)#Basic_rules
  • DeepMind (2020). AlphaGo – The Movie. https://www.youtube.com/watch?v=WXuK6gekU1Y
  • Silver, D., Schrittwieser, J., Simonyan, K. et al. (2017). Mastering the game of Go without human knowledge. Nature 550, 354-359. https://doi.org/10.1038/nature24270
  • Brunskill, E. (2019). Reinforcement Learning | Winter 2019 | Lecture 1 – Introduction. https://www.youtube.com/watch?v=FgzM3zpZ55o&list=PLoROMvodv4rOSOPzutgyCTapiGlY2Nd8u


Dr. Benjamin Paassen

Benjamin Paassen received their doctoral degree in 2019 from Bielefeld University, Germany on the topic of ‘Metric Learning for Structured Data’. They have spent an adventurous pandemic year 2020 at The University of Sydney using neural networks for processing students’ computer programs and supporting their programming skill. Now they are affiliated with the Humboldt-University of Berlin, continuing work to improving education with machine learning. Other research interests include hand prothesis research, fairness in machine learning, and video game culture.

Affiliation: Humboldt-University of Berlin
Homepage: https://bpaassen.gitlab.io/