Boolean functions are mathematical objects with numerous applications in domains like coding theory, cryptography, and telecommunications. Finding Boolean functions with specific properties is a complex combinatorial optimization problem where the search space grows super-exponentially with the number of input variables. One common property of interest is the nonlinearity of Boolean functions. Constructing highly nonlinear Boolean functions is difficult as it is not always known what nonlinearity values can be reached in practice. In this paper, we investigate the effects of the genetic operators for bit-string encoding in optimizing nonlinearity. While several mutation and crossover operators have commonly been used, the link between the genotype they operate on and the resulting phenotype changes is mostly obscure. By observing the range of possible changes an operator can provide, as well as relative probabilities of specific transitions in the objective space, one can use this information to design a more effective combination of genetic operators. The analysis reveals interesting insights into operator effectiveness and indicates how algorithm design may improve convergence compared to an operator-agnostic genetic algorithm.
翻译:布尔函数是在编码理论、密码学和电信等领域具有众多应用的数学对象。寻找具有特定性质的布尔函数是一个复杂的组合优化问题,其搜索空间随输入变量数量呈超指数增长。一个常见且重要的性质是布尔函数的非线性度。构建高度非线性的布尔函数颇为困难,因为在实践中往往不清楚能达到何种非线性值。本文研究了遗传算子对位串编码在优化非线性度方面的影响。尽管多种变异和交叉算子已被普遍使用,但它们所操作的基因型与产生的表型变化之间的联系大多晦暗不明。通过观察算子可能提供的变更范围以及目标空间中特定转换的相对概率,可以利用这些信息设计更有效的遗传算子组合。分析揭示了关于算子有效性的有趣见解,并指出与忽略算子的遗传算法相比,算法设计如何能改进收敛性。