Page 158 - 大数据技术及安全研究
P. 158
大数据技术及安全研究
Big Data Technology and Security Research
次。基本的演化算法所使用的三种操作属于个体级层次的遗传操作。为此,有的
研究者便将其他层次的一些遗传操作(称为高级操作)引入到演化算法中。虽然
高级操作的引入对演化算法的稳健性有一定改善,但它们增加了额外的计算开销
且适应的编码种类较少,而且不少人对采用这些操作能否增强演化算法的计算
性能和求解效率持怀疑态度。在演化计算中使用的基因级的高级操作包括:倒位
(Inversion)、显性基因(Dominance)、二倍体(Diploidy)、重复(Duplication)、
缺失(Deletion)、易位(Translocation)和隔离(Segregation)等。群体级的高
级操作包括:迁移(Migration)、婚配限制(Marriage Restriction)、分享(Sharing)
和挤聚(Crowding)等。
(六)控制参数的选取
在设计演化算法时,一方面,需要针对具体问题选择适当的编码方案及相应
的遗传算子;另一方面,需要选择算法的控制参数。对一个具体问题,要想获得
最优的参数设置,通常采取下述两种方法之一:①试验法。该方法是对每个参数
在某区间上按一定的间隔取有限个值,然后根据不同的参数组合执行演化算法,
以比较它们的性能,并在其中选择最优的组合。②二级演化算法(meta-EA)。
这种方法将演化算法控制参数的选取问题也作为一个优化问题,从而用一个二级
演化算法去优化控制参数。
虽然上述两种方法能就某类问题获得较佳的参数设置,但它们的计算量都比
较大,因而在计算实际问题时用得并不是很多。常用的方法是根据经验取定控制
参数值,然后多次执行算法,以获得问题的最优或近似最优解。传统演化算法在
演化过程中控制参数是不变的,这样,选取合适的控制参数对算法设计就非常重
要。因此,不少学者提出了自适应调整遗传概率的策略。其基本思想是,在演化
的初期应使用较大的遗传概率,从而使群体内具有足够的多样性,这将有助于找
到全局最优解;而在演化的后期,较小的遗传概率将使算法具有良好的收敛性,
且使搜索在某些可能有最优解的局部邻域内进行。实际上,我们还可以考虑在同
一演化代中,对不同的个体使用不同的变异概率。这样,在较好的解的局部进行
搜索,而对较差的解则在其较大的邻域内搜索。
(七)演化算法的改进
基本演化算法源于对生物演化过程的直接模拟,求解问题时,一般需要较大
的运算量且有时收敛不到全局最优解。为了提高算法的效率、改善算法的性能,
·146·

