Reinforcement Learning for Battlesnake

UVic AI’s primary project is using reinforcement learning to build a top competitor in the game Battlesnake. Battlesnake is an internationally played game in which 4 snakes fight for survival in a digital environment. Each turn, every snake’s code is sent the complete state of the environment and given 500ms to compute and submit their next move. To train in this multi-agent synchronous game environment, we have built a modified Monte Carlo Tree Search algorithm that trains via self-play (inspired by AlphaZero). Our current model is at an intermediate level of play and showing no signs of diminishing returns.

Our paper, as it was submitted to CUCAI 2023.

Our future goals are to improve the interpretability of this RL model, to implement Random Network Distillation and other MCTS modifications, and to scale up training until we’re first place on the leaderboard.

We also help those with less programming experience write their first battlesnakes using basic heuristics during the lead-up to seasonal Battlesnake tournaments.

UVic Robotics Collaboration

UVic AI will be collaborating with the UVic Robotics team to work on automating their Mars-like rover. Potential projects include soil analysis, object detection, and robotic arm movement.

Mechanistic Interpretability

Starting Fall 2023, we looked into working on a number of mini projects to help us better understand the field of mechanistic interpretability. Problems will be pulled from Neel Nanda’s post: 200 Concrete Open Problems in Mechanistic Interpretability. Stay tuned.

Group Education

In addition to our projects, we also run two weekly group study sessions/tutorials for a PyTorch course and the TensorFlow Certificate exam. Everyone is welcome to come learn with us, so feel free to email us or join our discord to learn more! These sessions will be starting later in the semester.