A Systematic Evaluation of Evolving Highly Nonlinear Boolean Functions in Odd Sizes
Claude Carlet, Marko Ðurasevic, Domagoj Jakobovic, Stjepan Picek, Luca Mariot
TL;DR
This study tackles the challenge of evolving highly nonlinear Boolean functions in odd dimensions using three encodings across four sizes, demonstrating that the problem is difficult and optimal solutions are scarce. The authors systematically compare bitstring, symbolic GP, and floating-point encodings, and show that genetic programming generally offers the strongest performance, with local search dramatically boosting certain constrained spaces. A key breakthrough is the discovery of a nine-variable function with nonlinearity $NL=241$ achieved via a local-search-augmented approach, surpassing prior evolutionary results. The work informs future design of EA-based Boolean function synthesis, highlighting the value of hybrid methods that combine global search with targeted local refinement and subsystem-aware encodings.
Abstract
Boolean functions are mathematical objects used in diverse applications. Different applications also have different requirements, making the research on Boolean functions very active. In the last 30 years, evolutionary algorithms have been shown to be a strong option for evolving Boolean functions in different sizes and with different properties. Still, most of those works consider similar settings and provide results that are mostly interesting from the evolutionary algorithm's perspective. This work considers the problem of evolving highly nonlinear Boolean functions in odd sizes. While the problem formulation sounds simple, the problem is remarkably difficult, and the related work is extremely scarce. We consider three solutions encodings and four Boolean function sizes and run a detailed experimental analysis. Our results show that the problem is challenging, and finding optimal solutions is impossible except for the smallest tested size. However, once we added local search to the evolutionary algorithm, we managed to find a Boolean function in nine inputs with nonlinearity 241, which, to our knowledge, had never been accomplished before with evolutionary algorithms.
