
Urban Larsson

Johan Wästlund
Keywords:
Combinatorial Games, Computational Complexity, Logic in Computer Science,
Abstract
We study socalled invariant games played with a fixed number $d$ of heaps of matches. A game is described by a finite list $\mathcal{M}$ of integer vectors of length $d$ specifying the legal moves. A move consists in changing the current gamestate by adding one of the vectors in $\mathcal{M}$, provided all elements of the resulting vector are nonnegative. For instance, in a twoheap game, the vector $(1,2)$ would mean adding one match to the first heap and removing two matches from the second heap. If $(1,2) \in \mathcal{M}$, such a move would be permitted provided there are at least two matches in the second heap. Two players take turns, and a player unable to make a move loses. We show that these games embrace computational universality, and that therefore a number of basic questions about them are algorithmically undecidable. In particular, we prove that there is no algorithm that takes two games $\mathcal{M}$ and $\mathcal{M}'$ (with the same number of heaps) as input, and determines whether or not they are equivalent in the sense that every startingposition which is a first player win in one of the games is a first player win in the other.