Screw discrete dynamical systems and their applications to exact slow NIM
Vladimir Gurvich,Mariya Naumova
2023-12-12
Abstract:Given integers $n,k,\ell$ such that $0<k<n, \; 1<\ell$ and an integer vector $x = (x_1,\ldots,x_n)$; denote by $m = m(x)$ the number of entries of $x$ that are multiple of $\ell$. Choose $n-k$ entries of $x$ as follows: if $n-k \leq m(x)$, take $n-k$ smallest entries of $x$ multiple of $\ell$; if $n-k > m(x)$, take all $m$ such entries, if any, and add remaining $n-k-m$ entries arbitrarily, for example, take the largest ones. In one step, the chosen $n-k$ entries (bears) keep their values, while the remaining $k$ (bulls) are reduced by 1. Repeat such steps getting the sequence $S = S(n,k,\ell,x^0) = (x^0 \to x^1 \to \ldots \to x^j \to \ldots)$. It is ``quasi-periodic". More precisely, there is a function $N = N(n,k,\ell,x^0)$ such that for all $j \geq N$ we have $m(x^j) \geq n-k$ and $range(x^j) \leq \ell$, where $range(x) = (\max(x_i \mid i \in [n]) - \min(x_i \mid i \in [n])$. Furthermore, $N$ is a polynomial in $n,k,\ell,$ and $range(x^0)$ and can be computed in time linear in $n,k,\ell$, and $\log(1 + range(x^0))$. After $N$ steps, the system moves ``like a screw". Assuming that $x_1 \leq \dots \leq x_n$, introduce the cyclical order on $[n] = \{1, \ldots, n\}$ considering 1 and $n$ as neighbors. Then, bears and bulls partition $[n]$ into two intervals, rotating by the angle $2 \pi k /n$ with every $\ell$ steps. Furthermore, after every $p = \ell n / GCD(n,k) = \ell LCM(n,k) / k$ steps all entries of $x$ are reduced by the same value $\delta = pk/n$, that is, $x_i^{j+p} - x_i^j = \delta$ for all $i \in [n]$ and $j \geq N$. We provide an algorithm computing $N$ (and $x^j$) in time linear in $n,k,\ell, \log(1 + range(x^0))$ (and $\log (1+j)$). In case $k=n-1$ and $\ell = 2$ such screw dynamical system are applicable to impartial games.
Combinatorics