# Spatial State-Action Features for General Games

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

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- Builds on 29 of its 115 references that are in the map.
- First posted on arXiv 17 Jan 2022.

## Builds on (most cited first, 29 of 29)

- [Fully Convolutional Networks for Semantic Segmentation](https://mlsanity.com/paper/1411.4038/) (2014)
- [Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges](https://mlsanity.com/paper/2104.13478/) (2021)
- [Prioritized Experience Replay](https://mlsanity.com/paper/1511.05952/) (2015)
- [Deep Reinforcement Learning at the Edge of the Statistical Precipice](https://mlsanity.com/paper/2108.13264/) (2021)
- [Generating Sequences With Recurrent Neural Networks](https://mlsanity.com/paper/1308.0850/) (2013)
- [Thinking Fast and Slow with Deep Learning and Tree Search](https://mlsanity.com/paper/1705.08439/) (2017)
- [Accounting for Variance in Machine Learning Benchmarks](https://mlsanity.com/paper/2103.03098/) (2021)
- [Accelerating Self-Play Learning in Go](https://mlsanity.com/paper/1902.10565/) (2019)
- [ELF OpenGo: An Analysis and Open Reimplementation of AlphaZero](https://mlsanity.com/paper/1902.04522/) (2019)
- [Ludii -- The Ludemic General Game System](https://mlsanity.com/paper/1905.05013/) (2019)
- [Classification with Costly Features as a Sequential Decision-Making Problem](https://mlsanity.com/paper/1909.02564/) (2019)
- [Pruning Random Forests for Prediction on a Budget](https://mlsanity.com/paper/1606.05060/) (2016)
- [Polygames: Improved Zero Learning](https://mlsanity.com/paper/2001.09832/) (2020)
- [Learning to Play Two-Player Perfect-Information Games without Knowledge](https://mlsanity.com/paper/2008.01188/) (2020)
- [Minimax Strikes Back](https://mlsanity.com/paper/2012.10700/) (2020)
- [Modern Techniques for Ancient Games](https://mlsanity.com/paper/2101.10066/) (2020)
- [General Board Game Concepts](https://mlsanity.com/paper/2107.01078/) (2021)
- [Deep Learning for General Game Playing with Ludii and Polygames](https://mlsanity.com/paper/2101.09562/) (2021)
- [Feature-Budgeted Random Forest](https://mlsanity.com/paper/1502.05925/) (2015)
- [Transfer of Fully Convolutional Policy-Value Networks Between Games and Game Variants](https://mlsanity.com/paper/2102.12375/) (2021)
- [SAI, a Sensible Artificial Intelligence that plays Go](https://mlsanity.com/paper/1809.03928/) (2018)
- [Mobile Networks for Computer Go](https://mlsanity.com/paper/2008.10080/) (2020)
- [Biasing MCTS with Features for General Games](https://mlsanity.com/paper/1903.08942/) (2019)
- [Strategic Features for General Games](https://mlsanity.com/paper/2101.00843/) (2021)
- [Ludii Game Logic Guide](https://mlsanity.com/paper/2101.02120/) (2021)
- [Manipulating the Distributions of Experience used for Self-Play Learning in Expert Iteration](https://mlsanity.com/paper/2006.00283/) (2020)
- [Foundations of Digital Archaeoludology](https://mlsanity.com/paper/1905.13516/) (2019)
- [Using Graph Convolutional Networks and TD(λ) to play the game of Risk](https://mlsanity.com/paper/2009.06355/) (2020)
- [General Board Geometry](https://mlsanity.com/paper/2111.11329/) (2021)

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

- [Unveiling the Decision-Making Process in Reinforcement Learning with Genetic Programming](https://mlsanity.com/paper/2407.14714/) (2024)
- [CogniPlay: a work-in-progress Human-like model for General Game Playing](https://mlsanity.com/paper/2507.05868/) (2025)
- [A Selective Temporal Hamming distance to find patterns in state transition event timeseries, at scale](https://mlsanity.com/paper/2512.01440/) (2025)

## Abstract (arXiv)

In many board games and other abstract games, patterns have been used as features that can guide automated game-playing agents. Such patterns or features often represent particular configurations of pieces, empty positions, etc., which may be relevant for a game's strategies. Their use has been particularly prevalent in the game of Go, but also many other games used as benchmarks for AI research. In this paper, we formulate a design and efficient implementation of spatial state-action features for general games. These are patterns that can be trained to incentivise or disincentivise actions based on whether or not they match variables of the state in a local area around action variables. We provide extensive details on several design and implementation choices, with a primary focus on achieving a high degree of generality to support a wide variety of different games using different board geometries or other graphs. Secondly, we propose an efficient approach for evaluating active features for any given set of features. In this approach, we take inspiration from heuristics used in problems such as SAT to optimise the order in which parts of patterns are matched and prune unnecessary evaluations. This approach is defined for a highly general and abstract description of the problem -- phrased as optimising the order in which propositions of formulas in disjunctive normal form are evaluated -- and may therefore also be of interest to other types of problems than board games. An empirical evaluation on 33 distinct games in the Ludii general game system demonstrates the efficiency of this approach in comparison to a naive baseline, as well as a baseline based on prefix trees, and demonstrates that the additional efficiency significantly improves the playing strength of agents using the features to guide search.
