English

Faster Evaluation of Subtraction Games

Data Structures and Algorithms 2018-04-19 v1 Number Theory

Abstract

Subtraction games are played with one or more heaps of tokens, with players taking turns removing from a single heap a number of tokens belonging to a specified subtraction set; the last player to move wins. We describe how to compute the set of winning heap sizes in single-heap subtraction games (for an input consisting of the subtraction set and maximum heap size nn), in time O~(n)\tilde O(n), where the O~\tilde O elides logarithmic factors. For multi-heap games, the optimal game play is determined by the nim-value of each heap; we describe how to compute the nim-values of all heaps of size up to~nn in time O~(mn)\tilde O(mn), where mm is the maximum nim-value occurring among these heap sizes. These time bounds improve naive dynamic programming algorithms with time O(nS)O(n|S|), because mSm\le|S| for all such games. We apply these results to the game of subtract-a-square, whose set of winning positions is a maximal square-difference-free set of a type studied in number theory in connection with the Furstenberg-S\'ark\"ozy theorem. We provide experimental evidence that, for this game, the set of winning positions has a density comparable to that of the densest known square-difference-free sets, and has a modular structure related to the known constructions for these dense sets. Additionally, this game's nim-values are (experimentally) significantly smaller than the size of its subtraction set, implying that our algorithm achieves a polynomial speedup over dynamic programming.

Keywords

Cite

@article{arxiv.1804.06515,
  title  = {Faster Evaluation of Subtraction Games},
  author = {David Eppstein},
  journal= {arXiv preprint arXiv:1804.06515},
  year   = {2018}
}

Comments

12 pages, 4 figures. To appear in the Proceedings of the 9th International Conference on Fun with Algorithms (FUN 2018), Leibniz International Proceedings in Informatics

R2 v1 2026-06-23T01:27:06.249Z