遗传算法,交叉概率,和变异概率,选择,通常在多少值,合适?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遗传算法,交叉概率,和变异概率,选择,通常在多少值,合适?相关的知识,希望对你有一定的参考价值。

这几个操作的概率是相互独立的,并不要求和为1。
选择操作中的概率,以轮赌法为例,概率只反映了个体被选择到的可能性,与个体的适应度大小有关,一般是适应度越大,对应轮赌法中的概率值越大。
交叉操作中的概率是用于判定两个个体是否进行交叉操作,一般都会大于0.9。
变异操作的概率是允许少数个体存在变异情况,以避免限入局部最优解,其值一般都在0.1以下。
参考技术A 遗传算法简介

遗传算法是用于解决最优化问题的一种搜索算法,算法的整体思路是建立在达尔文生物进化论“优胜劣汰”规律的基础上。它将生物学中的基因编码、染色体交叉、基因变异以及自然选择等概念引入最优化问题的求解过程中,通过不断的“种群进化”,最终得到问题的最优解。

2. 遗传算法实现步骤

在讲下面几个基于生物学提出的概念之前,首先我们需要理解为什么需要在最优化问题的求解中引入生物学中的各种概念。

假设我们需要求一个函数的最大值,但这个函数异常复杂以至于无法套用一般化的公式,那么就会想到:如果可以将所有可能的解代入方程,那么函数最大值所对应的那个解就是问题的最优解。但是,对于较复杂的函数来说,其可能的解的个数的数量级是我们所无法想象的。因此,我们只好退而求其次,只代入部分解并在其中找到最优解。那么这样做的核心就在于如何设定算法确定部分解并去逼近函数的最优解或者较好的局部最优解。

遗传算法就是为了解决上述问题而诞生的。假设函数值所对应的所有解是一个容量超级大的种群,而种群中的个体就是一个个解,接下去遗传算法的工作就是让这个种群中的部分个体去不断繁衍,在繁衍的过程中一方面会发生染色体交叉而产生新的个体。另一方面,基因变异也会有概率会发生并产生新的个体。接下去,只需要通过自然选择的方式,淘汰质量差的个体,保留质量好的个体,并且让这个繁衍的过程持续下去,那么最后就有可能进化出最优或者较优的个体。这么看来原来最优化问题居然和遗传变异是相通的,而且大自然早已掌握了这样的机制,这着实令人兴奋。为了将这种机制引入最优化问题并利用计算机求解,我们需要将上述提到的生物学概念转化为计算机能够理解的算法机制。

下面介绍在计算机中这种遗传变异的机制是如何实现的:

基因编码与解码:

在生物学中,交叉与变异能够实现是得益于染色体上的基因,可以想象每个个体都是一串超级长的基因编码,当两个个体发生交叉时,两条基因编码就会发生交换,产生的新基因同时包含父亲和母亲的基因编码。在交叉过程中或者完成后,某些基因点位又会因为各种因素发生突变,由此产生新的基因编码。当然,发生交叉和变异之后的个体并不

差分进化算法和遗传算法 区别 谁更好

差分进化算法 differential evolution algorithm

遗传算法 genetic algorithm

遗传算法差分进化算法
编码方式01二进制编码实数编码
种群迭代父代产生新子代父代自身进化
淘汰方式劣者概率淘汰劣者绝对淘汰
算法核心交叉变异
鲁棒性一般
收敛速度一般
全局优化搜索能力较强

from 20191018-浙商证券-人工智能系列(二):人工智能再出发,次优理论下的组合配置与策略构建



作者:华思远
链接:https://www.zhihu.com/question/365931969/answer/1776603546
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于遗传算法,交叉概率,和变异概率,选择,通常在多少值,合适?的主要内容,如果未能解决你的问题,请参考以下文章

简要说明遗传算法中交叉和变异概率是如何设定的?

有关遗传算法的疑问:“以一定概率进行交叉和变异”的含义?

ga遗传算法如何提高精度

用遗传算法求解配送路线优化问题时,交叉率和变异率怎么设定?

遗传算法中保证和不变的交叉方法

多目标遗传算法 ------ NSGA-II (部分源码解析) 交叉操作 crossover.c