标签:初始化 步骤 修改 随机 优化问题 矩阵 产生 二进制 最大
遗传算法(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)的函数值,就是目标值。
根据目标值计算适应度。比如,最小化问题,函数值越小适应度应该越高。
标签:初始化 步骤 修改 随机 优化问题 矩阵 产生 二进制 最大
原文地址:https://www.cnblogs.com/tangjicheng/p/9119672.html