基于PK模型的一种自适应遗传算法研究

作者:谢安世;周传华;徐新卫;张芬 刊名:计算机工程与应用 上传者:黄慧丹

【摘要】遗传算法可以被理解为在逐代演化的过程中,适应性强的个体或种群具有更高的生存可能性的一种并行搜索算法。提出了基于PK竞争策略的遗传算法(Player Killing Genetical Algorithm,PKGA),其核心思想在于通过PK赛式的竞争筛选,直至剩下一个全程最优的个体即为全局最优解。通过对全程最优解的即时检测,同时配合交叉率与变异率在个体粒度上自适应地动态调整,算法能很好地避开局部极值点并减少进化过程中的退化现象。这种PK竞争筛选策略保证了算法较高的搜索效率和较强的鲁棒性。仿真实验证明,算法在应对早熟问题和退化现象及收敛效率等方面明显优于传统的标准遗传算法。

全文阅读

1概述遗传算法是基于生物进化理论的原理发展起来的一种应用广泛的、高效的随机搜索与优化的方法。其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息。它是由美国密执根大学的霍兰教授发展起来的[1]。遗传算法最初被研究的出发点不是专门为解决最优化问题而设计的,它与进化策略、进化规划共同构成了进化算法的主要框架,都是为当时人工智能的发展服务的。迄今为止,遗传算法是进化算法中最广为人知的算法。遗传算法可以被看作一个逐代演化的过程,那些适应性强的个体或种群具有更高的生存下来的可能性,每一代中这些生存下来的个体或种群又经过交叉和变异产生新一代种群。这种达尔文提出来的优胜劣汰,适者生存的法则是遗传算法具有高鲁棒性的根本原因。遗传算法自上世纪70年代诞生以来,不断发展改进,获得了许多重要成果。自适应遗传算法是遗传算法中最常见的一种类型,文献[2]提出的算法实现了把参量动态地与操作绑定在一起以适应当前要解决的问题。文献[3]提出的方法对标准遗传算法的收敛速度有一定的改善,但仍远远不及该文提出的算法。文献[4]提出一种当个体的最佳数目未知时的自适应遗传算法,只要其中一个种群拥有适当数量的能够产生优良后代的个体,这种基于不同的个体数目进行并行搜索的算法也可运行。然而,这种方法个体的合适的数量未知,要通过反复实验才能够获知,因此不是真正意义上的自适应。当海量的并行盲搜索不大可能进行时,这种方法就不适用了。同样地,参量缺失型遗传算法的应用[5]和运用遗传算法进行多目标规则挖掘在文献[6]中有所讨论。文献[7]提出了一种每一个个体的变异率以编码的形式保存在它的基因里的自适应遗传算法。系统是以最后具有较好变异率的个体易于存活下来的法则运行的,然而在搜索的下一阶段中只有一些较低变异率的个体存活下来。文献[8]提出一种由个体在二维空间格子平面上的位置来确定它的变异率和杂交率的遗传算法,该算法通过限制每个格子中个体的数量保持了这些参量的多样性。文献[9]提出的BGA是一种取决于一组控制参量和遗传操作的遗传算法,它表明根据与亚种群之间的竞争来进行的策略性调整使得该算法具有更高的效率与鲁棒性,每个亚种群在与其他亚种群的竞争中采取不同的策略,基于多亲繁殖的自适应遗传算法在文[10]中有所阐述。文献[11]提出了一种带有模拟双重交换算子的自适应算法,它讨论的是初始种群是单种群的遗传算法,并没有多点交叉算子,更不用说自适应交叉算子了,它与以上提出的各种模型之间唯一的共同点是都针对交叉算子自适应地选择种群比率。类似地,基于模糊联接的自适应动态交叉算子操作和基于模糊逻辑控制器的自适应编码遗传算法在文[12]中有所讨论。从上述算法可知,传统上对遗传算法的改进主要体现在对遗传操作控制参量的改进上,如从参量的固定设置到参量的动态设定,从单种群的独立处理到多种群的并行处理等等。但他们有一些共同点,如容易陷入局部极值点,退化与进化并存,收敛效率低,算法的局限性大等等,而该文提出的基于PK模型的遗传算法(PKGA)很好地弥补了这些缺陷。2基于PK模型的遗传化算法(PKGA)提出的PKGA算法通过个体之间竞争演化,种群中个体的数目不断减少,直到最后只剩一个全程最优的个体即得到全局最优解。执行变异操作之前对全程最优解进行即时检测,同时配合交叉率在个体粒度上自适应地动态调整,使得算法能够很好地避开局部极值点,并减少了进化过程中的退化现象,引入复活赛机制,使算法收敛到全局最优解上的概率大大提高。下面就PKGA算法的相关操作和基本步骤说明如下:2.1适应度函数设定及选择策略在实际应用中遇到的各种优化

参考文献

引证文献

问答

我要提问