目前较为流行的演化计算策略有
轮盘赌、锦标赛、择优截断选择、概率选择、线性排序、指数排序、玻尔兹曼、随机遍历、精英选择等,本节对前四个策略进行了分析,并且对于不同的算法策略给出了思考和优化策略
1.轮盘赌注:
轮盘赌选择:
基本思想简述:适应度越好的个体保留概率越大;
轮盘赌选择法是依据个体的适应度值计算每个个体在子代中出现的概率,并按照此概率随机选择个体构成子代种群
此该方法也被称为适应度比例法。轮盘赌选择策略的出发点是适应度值越好的个体被选择的概率越大。
基本公式:
参数讲解:fi为当前个体适应度值,j为种群个数
理解这个公式之后我们会发现一个问题,fi的值不能为负,也就是说适应度值不能为负,该公式存在局限性
在默认种群适应度之和不为零的情况下,我们进行了如下改进
设最差的适应度值为fmin,如果其为负值,那么选择概率为0(因为分子为0)。若fj与fmin相等即分母为零,则可设概率为1/n;
思考:这个是一种策略,但是要记录最差适应度那么就得进行一次遍历排序,选出最差的适应度。在种群数量较大的情况下,这种操作降低了算法效率,有没有更优策略呢?
注:在求解最大化问题的时候,我们可以直接采用适应度值来进行选择。但是在求解最小化问题的时候,我们必须首先将问题的适应度函数进行转换(如采用倒数或相反数),以将问题转化为最大化问题
2.锦标赛选择:
基本思想:逐轮比赛,选出第一名,然后加入下一代
锦标赛选择操作如下:
1.随机选择k(通常为2或4)个个体
2.在这k个个体中选出适应度最好的个体当做胜者
3.将胜者添加到下一代种群中
4.重复步骤1-3直到选出足够数量的个体
注意,这里k的选择对锦标赛选择的结果很重要,如果k设置过小,可能会导致过早收敛,导致种群缺乏多样性。而如果设置过大,那么锦标赛选择的优势就无法得到充分发挥。同时,该方法也会存在选取到适应度较差个体的情况,因此需要与其他遗传算法操作(如交叉、变异等)结合使用以提高效果。
3.择优截断选择:
基本思想:排序选最优,加入下一代
在截断选择中,根据适应度值对种群中的个体按照从优到劣的顺序进行排序,只有前n个最好的个体被选择进入下一代。截断选择是一种非常基础的选择算法,它的优势在于能够快速地在大量种群中选择个体,但是截断选择的劣势很明显,容易陷入局部最优
其具体步骤如下:
1.计算每个个体的适应度值。
2.将个体按照适应度值从大到小排序。
3.选出前M个适应度最好的个体(M通常为当前种群个体数量的一半),作为下一代交叉和变异操作的父代。
4.使用交叉和变异算子对父代个体进行操作,产生与父代个数相等的后代。
5.将父代和后代合并,得到新的种群,代替原本的种群成为下一代种群。
思考:相比于轮盘赌截断选择择优保存的概率高,收敛快,可以针对问题选择
但是另一方面缺乏随机性容易陷入局部最优
在运用这个策略时应该加入一些优化;
例如:1.在遗传算法中,利用锦标赛选出的优胜个体更新子代的过程中,加入随机参数使其变异,跳出局部最优
- 最优个体数自适应变化,
策略一:在变化前期个体数较少以增大收敛速度,后期个体数增加,增加保留个体数,顾及全面,减小陷入局部最优概率
实现操作:1.三阶段定值或者使用三阶段函数
2.使用递减函数可以线性也可曲线函数记得设定最小最值区间,然后结果取整
策略二:使用定区间内的随机种群个数,增大随机概率,增强搜索广度
注:对于这个算法适应度值的正负不产生影响,只许根据选择判断排序顺序即可
4.概率选择
一、概率选择
概率选择,也称为随机选择,是指在多个选择项中按照一定的概率分布进行随机选取的过程。在计算机科学中,概率选择常用于解决决策问题、优化问题以及游戏策略等领域。
二、实现过程
实现概率选择的过程可以通过如下三个步骤完成:
1. 设置各个选择项的权重或概率分布;
2. 生成一个[0, 1]之间的随机数;
3. 根据随机数和权重或概率分布进行概率选择。
三、主要函数分析
函数通过生成一个[0, 1]之间的随机数,然后依次用每个选项的权重值减去随机数的值,直到随机数小于某个选项的权重值,那么就选择该选项,即完成了随机选择的过程。
四、性能分析
概率选择算法的时间复杂度主要是与选择项的数量有关的,为O(n),其中n表示选择项的个数。因此,概率选择算法的时间复杂度较低,运行速度较快。
另外,由于生成随机数的算法的时间复杂度也很低,因此整个概率选择算法的时间复杂度也较低。
但是在权重或概率分布的确定上,需要有一定的计算代价,因为选择合理的权重或概率分布对结果的影响很大。
五、优缺点分析
优点:
1. 概率选择简单易懂,实现简单;
2. 可以为不同的选择项设置不同的概率,具有较高的灵活性;
3. 可以在一定程度上解决复杂的决策问题。
缺点:
1. 对于同样的选择项,如果多次运行生成随机数的过程,可能会产生不同的结果,这种不确定性会带来一定的风险;
2. 对于选项的数目增加,需要维护较大的概率分布数组,需要用较多的内存空间;
3. 若概率分布设置不合理,会影响选择结果的准确性。
六、改进策略
为了解决概率选择算法中的不确定性,可以采用多次运行取平均的方式,即多次运行概率选择算法,然后将得到的结果进行平均,取平均后得到的结果更加准确和可靠。
为了解决选择项较多时需要维护较大的概率分布数组的问题,可以采用采样技术,比如可以使用随机采样或者分层采样来减小存储空间。
针对概率分布设置不合理的问题,可以采用自适应算法,动态调整各个选择项的概率权重。或者根据历史选择数据进行学习,来优化概率分布的设置,从而提高算法的准确性和效率。