# Efficient Reasoning in Regular Boardgames

arXiv: https://arxiv.org/abs/2006.08295 · HTML: https://mlsanity.com/paper/2006.08295/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 15 Jun 2020.

## Built on by (most cited first, 5 of 5)

- [Split Moves for Monte-Carlo Tree Search](https://mlsanity.com/paper/2112.07761/) (2021)
- [Optimised Playout Implementations for the Ludii General Game System](https://mlsanity.com/paper/2111.02839/) (2021)
- [Fast and Knowledge-Free Deep Learning for General Game Playing (Student Abstract)](https://mlsanity.com/paper/2312.14121/) (2023)
- [A Research Agenda for Usability and Generalisation in Reinforcement Learning](https://mlsanity.com/paper/2412.16970/) (2024)
- [Ludax: A GPU-Accelerated Domain Specific Language for Board Games](https://mlsanity.com/paper/2506.22609/) (2025)

## Abstract (arXiv)

We present the technical side of reasoning in Regular Boardgames (RBG) language -- a universal General Game Playing (GGP) formalism for the class of finite deterministic games with perfect information, encoding rules in the form of regular expressions. RBG serves as a research tool that aims to aid in the development of generalized algorithms for knowledge inference, analysis, generation, learning, and playing games. In all these tasks, both generality and efficiency are important. In the first part, this paper describes optimizations used by the RBG compiler. The impact of these optimizations ranges from 1.7 to even 33-fold efficiency improvement when measuring the number of possible game playouts per second. Then, we perform an in-depth efficiency comparison with three other modern GGP systems (GDL, Ludii, Ai Ai). We also include our own highly optimized game-specific reasoners to provide a point of reference of the maximum speed. Our experiments show that RBG is currently the fastest among the abstract general game playing languages, and its efficiency can be competitive to common interface-based systems that rely on handcrafted game-specific implementations. Finally, we discuss some issues and methodology of computing benchmarks like this.
