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.
翻译:布尔函数是用于多种应用的数学对象。不同应用有不同的要求,这使得布尔函数的研究非常活跃。在过去30年中,进化算法已被证明是进化不同大小和不同属性的布尔函数的强大选择。然而,这些工作大多考虑相似的设置,并提供主要从进化算法角度有趣的结果。本研究考虑了进化奇数大小下高度非线性布尔函数的问题。虽然问题表述听起来简单,但该问题异常困难,且相关工作极其稀少。我们考虑了三种解编码和四种布尔函数大小,并进行了详细的实验分析。结果表明,该问题具有挑战性,除测试的最小规模外,寻找最优解是不可能的。然而,一旦我们在进化算法中加入局部搜索,我们成功找到了一个9输入的非线性度为241的布尔函数,据我们所知,这在进化算法中此前从未实现过。