读《Bent Function Synthesis by Means of Cartesian Genetic Programming》

文献来源:

该文章由之前《Hyper-bent Boolean Functions and Evolutionary Algorithms》(文章HB)提到,是第一篇由计算机得到 bent 函数(非穷举)的文献。它成功找到了一个16元bent函数

In fact, the sheer amount of successful results obtained with evolutionary
algorithms makes the evolution of bent functions almost an easy problem [1–3].

[1] Hrbacek, R., Dvorak, V.: Bent function synthesis by means of cartesian genetic programming. In: Bartz-Beielstein, T., Branke, J., Filipiˇc, B., Smith, J. (eds.) PPSN 2014. LNCS, vol. 8672, pp. 414–423. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10762-2 41

思路来源

  1. 该文章主要采用笛卡尔遗传规划(CGP,Cartesian Genetic Programming)来演化布尔函数、Bent函数。

  2. 文章思路受启发于《Towards highly optimized cartesian genetic programming: from sequential via SIMD and thread to massive parallel implementation》(文章TH)
    这篇文章优化了CGP的实现,使其并行以提高效率,用基因代表不同的门(AND\XOR\NOT等等),将基因(有激活、不激活)组合起来表达出一个电路,设计了组合加法器与乘法器电路。

实验思路

与文章HB的4.3节类似,将遗传规划中的基因表示为电路,使用电路结构来表示一个布尔函数,例如函数 f ( i 5 , ⋯   , i 0 ) = o 0 = ( ( i 1 ⊕ ( i 1 + i 3 ) ) ⊕ i 2 i 5 ) ⊕ i 0 + ( i 0 + i 4 ) f(i_5,\cdots,i_0) = o_0 = ((i_1\oplus(i_1+i_3))\oplus i_2i_5) \oplus i_0 + (i_0 + i_4) f(i5,,i0)=o0=((i1(i1+i3))i2i5)i0+(i0+i4)
一个六元布尔函数
不过这样的话计算 f i t n e s s fitness fitness 就需要遍历染色体的所有活性基因,并计算它们的输出值。或者说,按照代数式计算出真值表并求非线性度。

试验消耗

试验在一个有着112个节点的计算机集群上进行:

All the experiments were performed on a computer cluster of 112 nodes with the following hardware configuration: 2× 8-core Intel E5-2670, 128 GB RAM, 2× 600 GB 15 k scratch hard disks, connected by gigabit Ethernet and Infiniband links.

结果

虽然消耗极大,但得到了新的16元Bent函数:
16元 Bent 电路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值