遗传算法是一种群体型操作,该操作以群体的所有个体为对象。遗传算法的遗传操作(genetic operation)包括:选择(selection)、交叉(crossover)、和变异(mutation)三个主要的遗传,它们使得遗传算法具有了其他传统方法所没有的特性。
正航仪器小编须知,遗传算法的核心内容为:参数编码、初始群体的设定、适应函数的设定、遗传操作的设定、控制参数的设定。
1 编码
由于遗传算法不能直接处理解空间的数据,因而要将解空间的数据表示成遗传空间的数据格式,即通过编码将表现型数据映射为基因型串结构数据。比如x=14表示为01110的形式。
2 产生初始种群
由于遗传算法是群体型的操作,所以进行遗传操作前,都需要产生一个由若干初始解组成的初始种群,种群的大小(规模)就是指种群中的个体数目。初始群体也称为进化的初始代,即代。
3 应函数的设定
计算适应度计算适应度是为了衡量每个个体适应度的大小,换句话说就是为了描述个体好坏的程度,以便将的个体保留下来,获得更多交配的机会。
4 遗传操作
(1)选择(selection)实现选择操作的方法有很多种,这里采用和适应度值成比例的概率方法来进行选择。具体地说,首先计算群体中所有个体的适应度总和(Σf),再计算每个个体的适应度所占的比例(fi/Σf),并以此作为相应的选择概率PS。由这个概率可以计算出每个个体被选择的次数。
(2)交叉(crossover)
简单的交叉(即一点交叉),可以分为两步进行,首先对配对库中的个体进行随机配对,然后在配对个体中随机确定交叉处(表中的配对库中的竖线表示交叉位置),配对个体彼此交换部分信息。
(3)变异(mutation)
变异操作是按位(bit)进行的,即把染色体中的某一位的内容进行变异。对于常用的二进制编码的个体来说,若某位原来为0,则通过变异就变成1,反之亦然。变异操作也是随机进行的。变异概率Pm一般都取的比较小。变异操作一般和交叉操作配合使用来挖掘群体中个体的多样性,以避免陷于局部解。
(5)模拟结果
遗传算法一般要通过几十甚至几百次的重复上述过程来求解问题。通常的方法是在实验中预先指定遗传算法的迭代次数或设定迭代终止的条件。
完整遗传算法核心内容包含5个主要因素,学习要先从掌握核心入手,之后掌握脉搏,掌握全文。
http://www.dgzhenghang.net