Screw discrete dynamical systems and their applications to exact slow NIM
Abstract
Given integers n,k, such that 0<k<n, \; 1< and an integer vector x = (x1,…,xn); denote by m = m(x) the number of entries of x that are multiple of . Choose n-k entries of x as follows: if n-k ≤ m(x), take n-k smallest entries of x multiple of ; 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,,x0) = (x0 x1 … xj …). It is ``quasi-periodic". More precisely, there is a function N = N(n,k,,x0) such that for all j ≥ N we have m(xj) ≥ n-k and range(xj) ≤ , where range(x) = ((xi i ∈ [n]) - (xi i ∈ [n]). Furthermore, N is a polynomial in n,k,, and range(x0) and can be computed in time linear in n,k,, and (1 + range(x0)). After N steps, the system moves ``like a screw". Assuming that x1 ≤ … ≤ xn, introduce the cyclical order on [n] = \1, …, n\ considering 1 and n as neighbors. Then, bears and bulls partition [n] into two intervals, rotating by the angle 2 π k /n with every steps. Furthermore, after every p = n / GCD(n,k) = LCM(n,k) / k steps all entries of x are reduced by the same value δ = pk/n, that is, xij+p - xij = δ for all i ∈ [n] and j ≥ N. We provide an algorithm computing N (and xj) in time linear in n,k,, (1 + range(x0)) (and (1+j)). In case k=n-1 and = 2 such screw dynamical system are applicable to impartial games.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.