遗传算法简介

遗传算法(GA)是一种受进化论启发而发明的算法。

对于一个优化问题,遗传算法的思路是通过编码将解空间映射到编码空间,

在编码空间内进行“优胜劣汰”的自然选择,

迭代次数足够多时,群体将会收敛到适应度最大的点。

举例说明:

对于一个典型的优化问题,求闭区间【a, b】上f(x)最小值。

1.首先,将解空间【a,b】通过编码函数F映射到编码空间,比如长度为B的二进制编码。

2.初始化种群Chrom,种群中个体数目为N,每个个体是长度为B的二进制串。Chrom是N*B的矩阵。

3.在群体Chrom内进行【选择,重组,变异】操作,产生子代

4.子代插入群体Chrom,得到新的Chrom。如果不够迭代次数,回到第3步。

5.得出种群Chrom中最优的个体,解码,输出。

解空间和编码空间之间的映射关系,只需要定义编码空间到解空间的映射F-1即可进行后续的算法。

选择:从种群中选择部分(或全部)个体,选择的依据是个体的适应度

重组:从选择步骤中的个体,按一定概率(与个体的适应度有关)配对,配对后交叉编码

变异:按照较小的概率(变异概率一般很小),随机修改部分个体的编码

适应度,目标值:

 需要最小化的函数f(x)的函数值,就是目标值。

根据目标值计算适应度。比如,最小化问题,函数值越小适应度应该越高。

猜你喜欢

转载自www.cnblogs.com/tangjicheng/p/9119672.html
今日推荐