Abstract:
A period of a Boolean function $f(x_1, \ldots, x_n)$ is a binary $n$-tuple $a = (a_1, \ldots, a_n)$ that satisfies the identity $f(x_1+a_1, \ldots, x_n+a_n) = f(x_1, \ldots, x_n)$. A Boolean function is periodic if it admits a nonzero period. We propose an algorithm that takes the Zhegalkin polynomial of a Boolean function $f(x_1, \ldots, x_n)$ as the input and finds a basis of the space of all periods of $f(x_1, \ldots, x_n)$. The complexity of this algorithm is $n^{O(d)}$, where $d$ is the degree of the function $f$. As a corollary we show that a basis of the space of all periods of a Boolean function specified by the Zhegalkin polynomial of a bounded degree may be found with complexity which is polynomial in the number of variables.
Keywords:Boolean function, Zhegalkin polynomial, periodicity, linear structure, complexity.